2018-09-13 23:04:55 +03:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2013-04-16 17:03:46 +04:00
|
|
|
/* 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/.
|
2018-09-26 01:09:30 +03:00
|
|
|
*
|
|
|
|
* https://w3c.github.io/deviceorientation/
|
2013-04-16 17:03:46 +04:00
|
|
|
*/
|
|
|
|
|
2019-09-27 18:26:14 +03:00
|
|
|
[NoInterfaceObject,
|
|
|
|
Exposed=Window]
|
2014-01-02 02:52:47 +04:00
|
|
|
interface DeviceAcceleration {
|
|
|
|
readonly attribute double? x;
|
|
|
|
readonly attribute double? y;
|
|
|
|
readonly attribute double? z;
|
|
|
|
};
|
2013-04-16 17:03:46 +04:00
|
|
|
|
2019-09-27 18:26:14 +03:00
|
|
|
[NoInterfaceObject,
|
|
|
|
Exposed=Window]
|
2014-01-02 02:52:47 +04:00
|
|
|
interface DeviceRotationRate {
|
|
|
|
readonly attribute double? alpha;
|
|
|
|
readonly attribute double? beta;
|
|
|
|
readonly attribute double? gamma;
|
|
|
|
};
|
2013-04-16 17:03:46 +04:00
|
|
|
|
2019-09-27 18:26:14 +03:00
|
|
|
[Pref="device.sensors.motion.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled",
|
|
|
|
Exposed=Window]
|
2014-01-02 02:52:47 +04:00
|
|
|
interface DeviceMotionEvent : Event {
|
2019-09-11 17:35:28 +03:00
|
|
|
constructor(DOMString type,
|
|
|
|
optional DeviceMotionEventInit eventInitDict = {});
|
|
|
|
|
2013-04-16 17:03:46 +04:00
|
|
|
readonly attribute DeviceAcceleration? acceleration;
|
|
|
|
readonly attribute DeviceAcceleration? accelerationIncludingGravity;
|
|
|
|
readonly attribute DeviceRotationRate? rotationRate;
|
2014-01-02 02:52:47 +04:00
|
|
|
readonly attribute double? interval;
|
|
|
|
};
|
|
|
|
|
|
|
|
dictionary DeviceAccelerationInit {
|
|
|
|
double? x = null;
|
|
|
|
double? y = null;
|
|
|
|
double? z = null;
|
2013-04-16 17:03:46 +04:00
|
|
|
};
|
|
|
|
|
2014-01-02 02:52:47 +04:00
|
|
|
dictionary DeviceRotationRateInit {
|
|
|
|
double? alpha = null;
|
|
|
|
double? beta = null;
|
|
|
|
double? gamma = null;
|
|
|
|
};
|
|
|
|
|
|
|
|
dictionary DeviceMotionEventInit : EventInit {
|
2019-07-03 10:52:35 +03:00
|
|
|
// 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 = {};
|
2014-01-02 02:52:47 +04:00
|
|
|
double? interval = null;
|
|
|
|
};
|
|
|
|
|
|
|
|
// Mozilla extensions.
|
|
|
|
partial interface DeviceMotionEvent {
|
|
|
|
void initDeviceMotionEvent(DOMString type,
|
2017-04-02 21:16:33 +03:00
|
|
|
optional boolean canBubble = false,
|
|
|
|
optional boolean cancelable = false,
|
2019-07-03 10:52:35 +03:00
|
|
|
optional DeviceAccelerationInit acceleration = {},
|
|
|
|
optional DeviceAccelerationInit accelerationIncludingGravity = {},
|
|
|
|
optional DeviceRotationRateInit rotationRate = {},
|
2017-04-02 21:16:33 +03:00
|
|
|
optional double? interval = null);
|
2014-01-02 02:52:47 +04:00
|
|
|
};
|