diff options
Diffstat (limited to 'dom/webidl/DeviceMotionEvent.webidl')
-rw-r--r-- | dom/webidl/DeviceMotionEvent.webidl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/dom/webidl/DeviceMotionEvent.webidl b/dom/webidl/DeviceMotionEvent.webidl new file mode 100644 index 0000000000..4d8ae105c7 --- /dev/null +++ b/dom/webidl/DeviceMotionEvent.webidl @@ -0,0 +1,68 @@ +/* -*- 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://w3c.github.io/deviceorientation/ + */ + +[LegacyNoInterfaceObject, + Exposed=Window] +interface DeviceAcceleration { + readonly attribute double? x; + readonly attribute double? y; + readonly attribute double? z; +}; + +[LegacyNoInterfaceObject, + Exposed=Window] +interface DeviceRotationRate { + readonly attribute double? alpha; + readonly attribute double? beta; + readonly attribute double? gamma; +}; + +[Pref="device.sensors.motion.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", + Exposed=Window] +interface DeviceMotionEvent : Event { + constructor(DOMString type, + optional DeviceMotionEventInit eventInitDict = {}); + + readonly attribute DeviceAcceleration? acceleration; + readonly attribute DeviceAcceleration? accelerationIncludingGravity; + readonly attribute DeviceRotationRate? rotationRate; + readonly attribute double? interval; +}; + +dictionary DeviceAccelerationInit { + double? x = null; + double? y = null; + double? z = null; +}; + +dictionary DeviceRotationRateInit { + double? alpha = null; + double? beta = null; + double? gamma = null; +}; + +dictionary DeviceMotionEventInit : EventInit { + // FIXME: bug 1493860: should this "= {}" be here? + DeviceAccelerationInit acceleration = {}; + // FIXME: bug 1493860: should this "= {}" be here? + DeviceAccelerationInit accelerationIncludingGravity = {}; + // FIXME: bug 1493860: should this "= {}" be here? + DeviceRotationRateInit rotationRate = {}; + double? interval = null; +}; + +// Mozilla extensions. +partial interface DeviceMotionEvent { + undefined initDeviceMotionEvent(DOMString type, + optional boolean canBubble = false, + optional boolean cancelable = false, + optional DeviceAccelerationInit acceleration = {}, + optional DeviceAccelerationInit accelerationIncludingGravity = {}, + optional DeviceRotationRateInit rotationRate = {}, + optional double? interval = null); +}; |