mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-03 17:02:56 +00:00
I believe this is an error in the UI Events spec, and it should be
updated to match the HTML spec (which uses WindowProxy everywhere).
This fixes a bunch of issues already covered by existing WPT tests.
Spec bug: https://github.com/w3c/uievents/issues/388
Note that WebKit has been using WindowProxy instead of Window in
UI Events IDL since 2018:
816158b4aa
46 lines
1.7 KiB
Text
46 lines
1.7 KiB
Text
#import <UIEvents/EventModifier.idl>
|
|
|
|
// https://www.w3.org/TR/uievents/#idl-keyboardevent
|
|
[Exposed=Window]
|
|
interface KeyboardEvent : UIEvent {
|
|
|
|
constructor(DOMString type, optional KeyboardEventInit eventInitDict = {});
|
|
|
|
// KeyLocationCode
|
|
const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00;
|
|
const unsigned long DOM_KEY_LOCATION_LEFT = 0x01;
|
|
const unsigned long DOM_KEY_LOCATION_RIGHT = 0x02;
|
|
const unsigned long DOM_KEY_LOCATION_NUMPAD = 0x03;
|
|
|
|
readonly attribute DOMString key;
|
|
readonly attribute DOMString code;
|
|
readonly attribute unsigned long location;
|
|
|
|
readonly attribute boolean ctrlKey;
|
|
readonly attribute boolean shiftKey;
|
|
readonly attribute boolean altKey;
|
|
readonly attribute boolean metaKey;
|
|
|
|
readonly attribute boolean repeat;
|
|
readonly attribute boolean isComposing;
|
|
|
|
readonly attribute unsigned long charCode;
|
|
readonly attribute unsigned long keyCode;
|
|
|
|
boolean getModifierState(DOMString keyArg);
|
|
|
|
// https://w3c.github.io/uievents/#dom-keyboardevent-initkeyboardevent
|
|
undefined initKeyboardEvent(DOMString typeArg, optional boolean bubblesArg = false, optional boolean cancelableArg = false, optional WindowProxy? viewArg = null, optional DOMString keyArg = "", optional unsigned long locationArg = 0, optional boolean ctrlKey = false, optional boolean altKey = false, optional boolean shiftKey = false, optional boolean metaKey = false);
|
|
|
|
};
|
|
|
|
// https://www.w3.org/TR/uievents/#dictdef-keyboardeventinit
|
|
dictionary KeyboardEventInit : EventModifierInit {
|
|
DOMString key = "";
|
|
DOMString code = "";
|
|
unsigned long location = 0;
|
|
boolean repeat = false;
|
|
boolean isComposing = false;
|
|
unsigned long charCode = 0;
|
|
unsigned long keyCode = 0;
|
|
};
|