diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs index 526122ef039..9fac1656b35 100644 --- a/components/script/dom/keyboardevent.rs +++ b/components/script/dom/keyboardevent.rs @@ -186,8 +186,8 @@ impl KeyboardEventMethods for KeyboardEvent { init.repeat, init.isComposing, modifiers, - 0, - 0, + init.charCode, + init.keyCode, can_gc, ); *event.key.borrow_mut() = init.key.clone(); diff --git a/components/script_bindings/webidls/KeyboardEvent.webidl b/components/script_bindings/webidls/KeyboardEvent.webidl index 9bddcb03a56..f3842e5a916 100644 --- a/components/script_bindings/webidls/KeyboardEvent.webidl +++ b/components/script_bindings/webidls/KeyboardEvent.webidl @@ -53,8 +53,8 @@ dictionary KeyboardEventInit : EventModifierInit { }; // https://w3c.github.io/uievents/#legacy-dictionary-KeyboardEventInit -/*partial dictionary KeyboardEventInit { +partial dictionary KeyboardEventInit { unsigned long charCode = 0; unsigned long keyCode = 0; unsigned long which = 0; -};*/ +}; diff --git a/tests/wpt/meta/MANIFEST.json b/tests/wpt/meta/MANIFEST.json index 188ee94a68e..fe5e2a170a8 100644 --- a/tests/wpt/meta/MANIFEST.json +++ b/tests/wpt/meta/MANIFEST.json @@ -841982,6 +841982,13 @@ ] }, "keyboard": { + "keyboardevent-legacy.html": [ + "df1a80893c5c24cd42321c717add74ea87b64a33", + [ + null, + {} + ] + ], "modifier-keys-combinations.html": [ "1b364ff72ce539b31ef86f4a1bcf75aed6868845", [ diff --git a/tests/wpt/tests/uievents/keyboard/keyboardevent-legacy.html b/tests/wpt/tests/uievents/keyboard/keyboardevent-legacy.html new file mode 100644 index 00000000000..df1a80893c5 --- /dev/null +++ b/tests/wpt/tests/uievents/keyboard/keyboardevent-legacy.html @@ -0,0 +1,29 @@ + + +KeyboardEvent legacy fields initialization Test: KeyCode and charCode + + + + + + + +
+ +