diff options
Diffstat (limited to 'components/script/dom/webidls')
3 files changed, 82 insertions, 5 deletions
diff --git a/components/script/dom/webidls/KeyboardEvent.webidl b/components/script/dom/webidls/KeyboardEvent.webidl new file mode 100644 index 00000000000..d0a185a14de --- /dev/null +++ b/components/script/dom/webidls/KeyboardEvent.webidl @@ -0,0 +1,58 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * The origin of this IDL file is + * https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#interface-KeyboardEvent + * + */ + +[Constructor(DOMString typeArg, optional KeyboardEventInit keyboardEventInitDict)] +interface KeyboardEvent : UIEvent { + // 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; + boolean getModifierState (DOMString keyArg); +}; + +// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#idl-interface-KeyboardEvent-initializers +partial interface KeyboardEvent { + // Originally introduced (and deprecated) in DOM Level 3 + void initKeyboardEvent (DOMString typeArg, boolean bubblesArg, boolean cancelableArg, Window? viewArg, DOMString keyArg, unsigned long locationArg, DOMString modifiersListArg, boolean repeat, DOMString locale); +}; + +// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#KeyboardEvent-supplemental-interface +partial interface KeyboardEvent { + // The following support legacy user agents + readonly attribute unsigned long charCode; + readonly attribute unsigned long keyCode; + readonly attribute unsigned long which; +}; + +// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#interface-KeyboardEvent +dictionary KeyboardEventInit : SharedKeyboardAndMouseEventInit { + DOMString key = ""; + DOMString code = ""; + unsigned long location = 0; + boolean repeat = false; + boolean isComposing = false; +}; + +// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#events-KeyboardEventInit-supplemental +/*partial dictionary KeyboardEventInit { + unsigned long charCode = 0; + unsigned long keyCode = 0; + unsigned long which = 0; +};*/ diff --git a/components/script/dom/webidls/MouseEvent.webidl b/components/script/dom/webidls/MouseEvent.webidl index cdef58228c1..a46a44938ca 100644 --- a/components/script/dom/webidls/MouseEvent.webidl +++ b/components/script/dom/webidls/MouseEvent.webidl @@ -22,15 +22,11 @@ interface MouseEvent : UIEvent { }; // https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#idl-def-MouseEventInit -dictionary MouseEventInit : UIEventInit { +dictionary MouseEventInit : SharedKeyboardAndMouseEventInit { long screenX = 0; long screenY = 0; long clientX = 0; long clientY = 0; - boolean ctrlKey = false; - boolean shiftKey = false; - boolean altKey = false; - boolean metaKey = false; short button = 0; //unsigned short buttons = 0; EventTarget? relatedTarget = null; diff --git a/components/script/dom/webidls/SharedMouseAndKeyboardEventInit.webidl b/components/script/dom/webidls/SharedMouseAndKeyboardEventInit.webidl new file mode 100644 index 00000000000..eb852604ed1 --- /dev/null +++ b/components/script/dom/webidls/SharedMouseAndKeyboardEventInit.webidl @@ -0,0 +1,23 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#idl-def-SharedKeyboardAndMouseEventInit +dictionary SharedKeyboardAndMouseEventInit : UIEventInit { + boolean ctrlKey = false; + boolean shiftKey = false; + boolean altKey = false; + boolean metaKey = false; + boolean keyModifierStateAltGraph = false; + boolean keyModifierStateCapsLock = false; + boolean keyModifierStateFn = false; + boolean keyModifierStateFnLock = false; + boolean keyModifierStateHyper = false; + boolean keyModifierStateNumLock = false; + boolean keyModifierStateOS = false; + boolean keyModifierStateScrollLock = false; + boolean keyModifierStateSuper = false; + boolean keyModifierStateSymbol = false; + boolean keyModifierStateSymbolLock = false; +}; |