forked from mirrors/gecko-dev
This attempts to implement a bunch of the DOM Level 3 Events spec by implementing the KeyboardEvent interface, the document focus context, and dispatching keyup/keydown/keypress events appropriately. There's also some support for multiline text input that's untested. Source-Repo: https://github.com/servo/servo Source-Revision: 2ffa845cf463b14b19322d477a77ffd20efa89a9
39 lines
2 KiB
Text
39 lines
2 KiB
Text
/* -*- 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-MouseEvent
|
|
[Constructor(DOMString typeArg, optional MouseEventInit mouseEventInitDict)]
|
|
interface MouseEvent : UIEvent {
|
|
readonly attribute long screenX;
|
|
readonly attribute long screenY;
|
|
readonly attribute long clientX;
|
|
readonly attribute long clientY;
|
|
readonly attribute boolean ctrlKey;
|
|
readonly attribute boolean shiftKey;
|
|
readonly attribute boolean altKey;
|
|
readonly attribute boolean metaKey;
|
|
readonly attribute short button;
|
|
readonly attribute EventTarget? relatedTarget;
|
|
// Introduced in DOM Level 3
|
|
//readonly attribute unsigned short buttons;
|
|
//boolean getModifierState (DOMString keyArg);
|
|
};
|
|
|
|
// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#idl-def-MouseEventInit
|
|
dictionary MouseEventInit : SharedKeyboardAndMouseEventInit {
|
|
long screenX = 0;
|
|
long screenY = 0;
|
|
long clientX = 0;
|
|
long clientY = 0;
|
|
short button = 0;
|
|
//unsigned short buttons = 0;
|
|
EventTarget? relatedTarget = null;
|
|
};
|
|
|
|
// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#idl-def-MouseEvent-1
|
|
partial interface MouseEvent {
|
|
// Deprecated in DOM Level 3
|
|
void initMouseEvent (DOMString typeArg, boolean bubblesArg, boolean cancelableArg, Window? viewArg, long detailArg, long screenXArg, long screenYArg, long clientXArg, long clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, EventTarget? relatedTargetArg);
|
|
};
|