gecko-dev/dom/webidl/DeviceMotionEvent.webidl
Jonathan Kingston ada03a865d Bug 1359076: Disable all Device Sensor APIs except orientation by default r=bkelly
This patch disables device sensors except orientation by default.
It implements per-sensor prefs to disable orientation, motion, proximity and ambient light
selectively. The patch also makes the pref checks happen at runtime (versus on process
start) using Preferences::AddBoolVarCache.
The patch also removes the related Event constructors also.

MozReview-Commit-ID: EA8ARjjtlkF

--HG--
rename : dom/events/test/test_bug742376.html => dom/events/test/test_deviceSensor.html
rename : dom/events/test/test_eventctors.html => dom/events/test/test_disabled_events.html
rename : dom/events/test/test_eventctors.html => dom/events/test/test_eventctors_sensors.html
extra : rebase_source : 39da98ac9226ac727f5197d28561b0b762da06f4
2017-07-24 10:07:00 +02:00

58 lines
1.9 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/.
*/
[NoInterfaceObject]
interface DeviceAcceleration {
readonly attribute double? x;
readonly attribute double? y;
readonly attribute double? z;
};
[NoInterfaceObject]
interface DeviceRotationRate {
readonly attribute double? alpha;
readonly attribute double? beta;
readonly attribute double? gamma;
};
[Pref="device.sensors.motion.enabled", Func="nsGlobalWindowInner::DeviceSensorsEnabled", Constructor(DOMString type, optional DeviceMotionEventInit eventInitDict)]
interface DeviceMotionEvent : Event {
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 {
DeviceAccelerationInit acceleration;
DeviceAccelerationInit accelerationIncludingGravity;
DeviceRotationRateInit rotationRate;
double? interval = null;
};
// Mozilla extensions.
partial interface DeviceMotionEvent {
void initDeviceMotionEvent(DOMString type,
optional boolean canBubble = false,
optional boolean cancelable = false,
optional DeviceAccelerationInit acceleration,
optional DeviceAccelerationInit accelerationIncludingGravity,
optional DeviceRotationRateInit rotationRate,
optional double? interval = null);
};