WPT
wpt / input-events / input-events-exec-command.html
Spec: Input Events ↗
Runs: Chrome 155.0.8039.0 (wpt@6ec9fd59f, 2026-09-03) | Firefox 157.0a1 (wpt@6ec9fd59f, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-795e1 (wpt@7e3d005d7, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 238/307 | 284/307 | 188/307 | 216/307 | 126/307 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| Calling execCommand("insertText", false, a) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertText", false, a) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertText", false, a) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertText", false, a) (data value) | PASS | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("insertText", false, a) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertText", false, bc) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertText", false, bc) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertText", false, bc) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertText", false, bc) (data value) | PASS | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("insertText", false, bc) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("insertText") should insert "abc" into the editor | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertOrderedList", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertOrderedList", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("insertOrderedList", false, null) (inputType value) | PASS | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("insertOrderedList", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("insertOrderedList", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| execCommand("insertOrderedList") should make <ol> and wrap the text with it | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertUnorderedList", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertUnorderedList", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("insertUnorderedList", false, null) (inputType value) | PASS | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("insertUnorderedList", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("insertUnorderedList", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| execCommand("insertUnorderedList") should make <ul> and wrap the text with it | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertLineBreak", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertLineBreak", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertLineBreak", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertLineBreak", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertLineBreak", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertParagraph", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertParagraph", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertParagraph", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertParagraph", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertParagraph", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertHorizontalRule", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("insertHorizontalRule", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("insertHorizontalRule", false, null) (inputType value) | FAIL | PASS | FAIL | FAIL | PASS | — |
| Calling execCommand("insertHorizontalRule", false, null) (data value) | PASS | PASS | PASS | — | PASS | — |
| Calling execCommand("insertHorizontalRule", false, null) (dataTransfer value) | PASS | PASS | FAIL | — | PASS | — |
| Calling execCommand("bold", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("bold", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("bold", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("bold", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("bold", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("bold") should wrap selected text with <b> element | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("italic", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("italic", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("italic", false, null) (inputType value) | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("italic", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("italic", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("italic") should wrap selected text with <i> element | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("underline", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("underline", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("underline", false, null) (inputType value) | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("underline", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("underline", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("underline") should wrap selected text with <u> element | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("strikeThrough", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("strikeThrough", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("strikeThrough", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("strikeThrough", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("strikeThrough", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("strikeThrough") should wrap selected text with <strike> element | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("superscript", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("superscript", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("superscript", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("superscript", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("superscript", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("superscript") should wrap selected text with <sup> element | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("subscript", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("subscript", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("subscript", false, null) (inputType value) | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("subscript", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("subscript", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("subscript") should wrap selected text with <sub> element | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("backColor", false, #FF0000) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, #FF0000) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, #FF0000) (inputType value) | FAIL | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("backColor", false, #FF0000) (data value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("backColor", false, #FF0000) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, #00FF00FF) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, #00FF00FF) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, #00FF00FF) (inputType value) | FAIL | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, #00FF00FF) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("backColor", false, #00FF00FF) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("backColor", false, #0000FF88) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, #0000FF88) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, #0000FF88) (inputType value) | FAIL | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, #0000FF88) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("backColor", false, #0000FF88) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("backColor", false, orange) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, orange) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, orange) (inputType value) | FAIL | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, orange) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("backColor", false, orange) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("backColor", false, Inherit) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, Inherit) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, Inherit) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("backColor", false, Inherit) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("backColor", false, Inherit) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("backColor", false, Initial) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, Initial) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, Initial) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("backColor", false, Initial) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("backColor", false, Initial) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("backColor", false, Reset) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, Reset) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, Reset) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("backColor", false, Reset) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("backColor", false, Reset) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("backColor", false, transparent) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, transparent) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, transparent) (inputType value) | FAIL | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, transparent) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("backColor", false, transparent) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("backColor", false, CurrentColor) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, CurrentColor) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, CurrentColor) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("backColor", false, CurrentColor) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("backColor", false, CurrentColor) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("backColor", false, Invalid-Value) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("backColor", false, Invalid-Value) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("backColor", false, Invalid-Value) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("backColor", false, Invalid-Value) (data value) | FAIL | PASS | FAIL | — | — | — |
| Calling execCommand("backColor", false, Invalid-Value) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("foreColor", false, #FF0000) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, #FF0000) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, #FF0000) (inputType value) | FAIL | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, #FF0000) (data value) | FAIL | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("foreColor", false, #FF0000) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, #00FF00FF) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, #00FF00FF) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, #00FF00FF) (inputType value) | FAIL | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("foreColor", false, #00FF00FF) (data value) | FAIL | PASS | PASS | FAIL | — | — |
| Calling execCommand("foreColor", false, #00FF00FF) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("foreColor", false, #0000FF88) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, #0000FF88) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, #0000FF88) (inputType value) | FAIL | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("foreColor", false, #0000FF88) (data value) | FAIL | PASS | PASS | FAIL | — | — |
| Calling execCommand("foreColor", false, #0000FF88) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("foreColor", false, orange) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, orange) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, orange) (inputType value) | FAIL | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("foreColor", false, orange) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("foreColor", false, orange) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("foreColor", false, Inherit) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, Inherit) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, Inherit) (inputType value) | FAIL | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("foreColor", false, Inherit) (data value) | FAIL | FAIL | PASS | — | — | — |
| Calling execCommand("foreColor", false, Inherit) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("foreColor", false, Initial) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, Initial) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, Initial) (inputType value) | FAIL | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("foreColor", false, Initial) (data value) | FAIL | FAIL | PASS | — | — | — |
| Calling execCommand("foreColor", false, Initial) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("foreColor", false, Reset) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, Reset) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, Reset) (inputType value) | FAIL | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("foreColor", false, Reset) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("foreColor", false, Reset) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("foreColor", false, transparent) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, transparent) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, transparent) (inputType value) | FAIL | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("foreColor", false, transparent) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("foreColor", false, transparent) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("foreColor", false, CurrentColor) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, CurrentColor) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, CurrentColor) (inputType value) | FAIL | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("foreColor", false, CurrentColor) (data value) | FAIL | FAIL | PASS | — | — | — |
| Calling execCommand("foreColor", false, CurrentColor) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("foreColor", false, Invalid-Value) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("foreColor", false, Invalid-Value) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("foreColor", false, Invalid-Value) (inputType value) | FAIL | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("foreColor", false, Invalid-Value) (data value) | FAIL | PASS | FAIL | — | — | — |
| Calling execCommand("foreColor", false, Invalid-Value) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("hiliteColor", false, #FF0000) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, #FF0000) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, #FF0000) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, #FF0000) (data value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, #FF0000) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, #00FF00FF) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, #00FF00FF) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, #00FF00FF) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, #00FF00FF) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("hiliteColor", false, #00FF00FF) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("hiliteColor", false, #0000FF88) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, #0000FF88) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, #0000FF88) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, #0000FF88) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("hiliteColor", false, #0000FF88) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("hiliteColor", false, orange) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, orange) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, orange) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, orange) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("hiliteColor", false, orange) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("hiliteColor", false, Inherit) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, Inherit) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, Inherit) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, Inherit) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("hiliteColor", false, Inherit) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("hiliteColor", false, Initial) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, Initial) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, Initial) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, Initial) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("hiliteColor", false, Initial) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("hiliteColor", false, Reset) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, Reset) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, Reset) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, Reset) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("hiliteColor", false, Reset) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("hiliteColor", false, transparent) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, transparent) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, transparent) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, transparent) (data value) | FAIL | PASS | FAIL | FAIL | — | — |
| Calling execCommand("hiliteColor", false, transparent) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("hiliteColor", false, CurrentColor) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, CurrentColor) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, CurrentColor) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, CurrentColor) (data value) | FAIL | FAIL | FAIL | — | — | — |
| Calling execCommand("hiliteColor", false, CurrentColor) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("hiliteColor", false, Invalid-Value) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("hiliteColor", false, Invalid-Value) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("hiliteColor", false, Invalid-Value) (inputType value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("hiliteColor", false, Invalid-Value) (data value) | FAIL | PASS | FAIL | — | — | — |
| Calling execCommand("hiliteColor", false, Invalid-Value) (dataTransfer value) | PASS | PASS | PASS | — | — | — |
| Calling execCommand("fontName", false, monospace) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("fontName", false, monospace) (inputType value) | FAIL | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace) (data value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("fontName", false, monospace) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace ) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace ) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("fontName", false, monospace ) (inputType value) | FAIL | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace ) (data value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("fontName", false, monospace ) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace ) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace ) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("fontName", false, monospace ) (inputType value) | FAIL | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("fontName", false, monospace ) (data value) | FAIL | PASS | FAIL | FAIL | FAIL | — |
| Calling execCommand("fontName", false, monospace ) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("justifyCenter", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("justifyCenter", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("justifyCenter", false, null) (inputType value) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("justifyCenter", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("justifyCenter", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| execCommand("justifyCenter") should wrap the text with <div> element whose text-align is center | PASS | FAIL | PASS | PASS | FAIL | — |
| Calling execCommand("justifyFull", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("justifyFull", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("justifyFull", false, null) (inputType value) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("justifyFull", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("justifyFull", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| execCommand("justifyFull") should wrap the text with <div> element whose text-align is justify | PASS | FAIL | PASS | FAIL | FAIL | — |
| Calling execCommand("justifyRight", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("justifyRight", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("justifyRight", false, null) (inputType value) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("justifyRight", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("justifyRight", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| execCommand("justifyRight") should wrap the text with <div> element whose text-align is right | PASS | FAIL | PASS | FAIL | FAIL | — |
| Calling execCommand("justifyLeft", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("justifyLeft", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("justifyLeft", false, null) (inputType value) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("justifyLeft", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("justifyLeft", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| execCommand("justifyLeft") should wrap the text with <div> element whose text-align is left | PASS | FAIL | PASS | FAIL | FAIL | — |
| Calling execCommand("removeFormat", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("removeFormat", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("removeFormat", false, null) (inputType value) | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Calling execCommand("removeFormat", false, null) (data value) | PASS | — | PASS | — | PASS | — |
| Calling execCommand("removeFormat", false, null) (dataTransfer value) | PASS | — | PASS | — | PASS | — |
| execCommand("removeFormat") should remove the style of current block | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Calling execCommand("indent", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("indent", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("indent", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("indent", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("indent", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("outdent", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("outdent", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | PASS | — |
| Calling execCommand("outdent", false, null) (inputType value) | PASS | PASS | PASS | PASS | FAIL | — |
| Calling execCommand("outdent", false, null) (data value) | PASS | PASS | PASS | PASS | — | — |
| Calling execCommand("outdent", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | — | — |
| Set of execCommand("indent") and execCommand("outdent") should keep same DOM tree | PASS | FAIL | FAIL | FAIL | FAIL | — |
| Calling execCommand("copy", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("copy", false, null) (shouldn't fire beforeinput) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("copy", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("cut", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("cut", false, null) (shouldn't fire beforeinput) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("cut", false, null) (inputType value) | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Calling execCommand("paste", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("paste", false, null) (shouldn't fire beforeinput) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("paste", false, null) (inputType value) | FAIL | FAIL | FAIL | FAIL | FAIL | — |
| Calling execCommand("createLink", false, https://example.com/) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("createLink", false, https://example.com/) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("createLink", false, https://example.com/) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("createLink", false, https://example.com/) (data value) | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("createLink", false, https://example.com/) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("createLink") should create a link with absolute URL | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("unlink", false, null) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("unlink", false, null) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("unlink", false, null) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("unlink", false, null) (data value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("unlink", false, null) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("createLink") should remove the link | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("createLink", false, foo.html) (calling execCommand) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("createLink", false, foo.html) (shouldn't fire beforeinput) | PASS | PASS | FAIL | PASS | FAIL | — |
| Calling execCommand("createLink", false, foo.html) (inputType value) | PASS | PASS | PASS | PASS | PASS | — |
| Calling execCommand("createLink", false, foo.html) (data value) | PASS | PASS | PASS | FAIL | FAIL | — |
| Calling execCommand("createLink", false, foo.html) (dataTransfer value) | PASS | PASS | PASS | PASS | PASS | — |
| execCommand("createLink") should create a link with relative URL | PASS | PASS | PASS | PASS | PASS | — |