gecko-dev/dom/webidl/MouseEvent.webidl
Xidorn Quan 132b526f3a Bug 991899 part 3 - Disable prefixed PointerLock API by default. r=smaug
Given that Blink has removed prefixed PointerLock API for quite a while
without receiving compatibility issue, I'd suggest we try dropping the
prefixed version directly.

We will either pref the prefixed API on if we see enough compatibility
issue, or remove the whole bunch of prefixed PointerLock API after the
unprefixed API reaches release channel without issues.

MozReview-Commit-ID: ACC69nqSBiH

--HG--
extra : source : 22791c53b6a94c3de4eb7f38823afce89b0419e4
2016-07-28 17:15:21 +10:00

115 lines
5.0 KiB
Plaintext

/* -*- 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/.
*
* For more information on this interface please see
* http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html
*
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
[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 long offsetX;
readonly attribute long offsetY;
readonly attribute boolean ctrlKey;
readonly attribute boolean shiftKey;
readonly attribute boolean altKey;
readonly attribute boolean metaKey;
readonly attribute short button;
readonly attribute unsigned short buttons;
readonly attribute EventTarget? relatedTarget;
readonly attribute DOMString? region;
// Pointer Lock
readonly attribute long movementX;
readonly attribute long movementY;
// Deprecated in DOM Level 3:
void initMouseEvent(DOMString typeArg,
boolean canBubbleArg,
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);
// Introduced in DOM Level 3:
boolean getModifierState(DOMString keyArg);
};
// Suggested initMouseEvent replacement initializer:
dictionary MouseEventInit : EventModifierInit {
// Attributes for MouseEvent:
long screenX = 0;
long screenY = 0;
long clientX = 0;
long clientY = 0;
short button = 0;
// Note: "buttons" was not previously initializable through initMouseEvent!
unsigned short buttons = 0;
EventTarget? relatedTarget = null;
// Pointer Lock
long movementX = 0;
long movementY = 0;
};
// Mozilla extensions
partial interface MouseEvent
{
[BinaryName="movementX", Pref="pointer-lock-api.prefixed.enabled"]
readonly attribute long mozMovementX;
[BinaryName="movementY", Pref="pointer-lock-api.prefixed.enabled"]
readonly attribute long mozMovementY;
// Finger or touch pressure event value
// ranges between 0.0 and 1.0
readonly attribute float mozPressure;
const unsigned short MOZ_SOURCE_UNKNOWN = 0;
const unsigned short MOZ_SOURCE_MOUSE = 1;
const unsigned short MOZ_SOURCE_PEN = 2;
const unsigned short MOZ_SOURCE_ERASER = 3;
const unsigned short MOZ_SOURCE_CURSOR = 4;
const unsigned short MOZ_SOURCE_TOUCH = 5;
const unsigned short MOZ_SOURCE_KEYBOARD = 6;
readonly attribute unsigned short mozInputSource;
void initNSMouseEvent(DOMString typeArg,
boolean canBubbleArg,
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,
float pressure,
unsigned short inputSourceArg);
[ChromeOnly]
readonly attribute boolean hitCluster; // True when touch occurs in a cluster of links
};