v145 · Web APIs · Deletion Type Guide
Deletion Type Guide
All deletion-related inputType values, the key combinations that trigger them, and how Chrome 145 corrects the mapping for non-collapsed selections (selected text). Rows highlighted in green are fixed in Chrome 145 — they previously all reported as deleteContentBackward or deleteContentForward.
Non-collapsed selection: A selection where start ≠ end position — i.e., text is highlighted. Before Chrome 145, any deletion key on a non-collapsed selection always reported character-granularity types. Chrome 145 maps the key to the correct granularity regardless of selection state.
Live beforeinput deletion probe
Checking InputEvent support…
Selection state appears here.
Run a deletion command or use the editor with real keyboard shortcuts.
deletion inputType reference
| inputType | Key (cursor) | Key (selection) | Granularity | Direction |
|---|---|---|---|---|
| deleteContentBackward | Backspace | Backspace | Character | Backward |
| deleteContentForward | Delete | Delete | Character | Forward |
| deleteWordBackward fixed | Ctrl+Backspace | Ctrl+Backspace (on selection) | Word | Backward |
| deleteWordForward fixed | Ctrl+Delete | Ctrl+Delete (on selection) | Word | Forward |
| deleteSoftLineBackward fixed | Shift+Backspace | Shift+Backspace (on selection) | Soft line | Backward |
| deleteSoftLineForward fixed | Shift+Delete (platform) | Shift+Delete (on selection) | Soft line | Forward |
| deleteHardLineBackward | Ctrl+Shift+Backspace | Ctrl+Shift+Backspace | Hard line | Backward |
| deleteHardLineForward | Ctrl+Shift+Delete | Ctrl+Shift+Delete | Hard line | Forward |
| deleteEntireSoftLine | platform line command | platform line command | Entire soft line | Both |
| deleteByCut | Ctrl+X | Ctrl+X (on selection) | Selection | Both |
| deleteByDrag | — | Drag selection away | Selection | Both |
what changed in Chrome 145
Before Chrome 145
// User selects "brown fox" and presses Ctrl+Backspace
// Expected: deleteWordBackward
// Actual (pre-145):
event.inputType // 'deleteContentBackward'
// Wrong granularity — editor records it
// as a single-char deletion, undo is broken
Chrome 145+
// User selects "brown fox" and presses Ctrl+Backspace
// Expected: deleteWordBackward
// Actual (Chrome 145+):
event.inputType // 'deleteWordBackward'
// Correct granularity — undo stack records
// this as a word deletion, restores correctly
using inputType in a custom editor
editor.addEventListener('beforeinput', event => {
switch (event.inputType) {
case 'deleteContentBackward':
case 'deleteContentForward':
recordCharDeletion(event.getTargetRanges());
break;
case 'deleteWordBackward':
case 'deleteWordForward':
// Chrome 145: also fires correctly for non-collapsed selections
recordWordDeletion(event.inputType, event.getTargetRanges());
break;
case 'deleteSoftLineBackward':
case 'deleteSoftLineForward':
recordLineDeletion(event.inputType, event.getTargetRanges());
break;
case 'deleteByCut':
recordCut(event.getTargetRanges());
break;
}
});