Add dom.webxr.enabled pref

This commit is contained in:
Manish Goregaokar 2018-12-22 22:15:41 -08:00
parent 4b2fa5ef08
commit 241d93340b
14 changed files with 32 additions and 24 deletions

View file

@ -633,7 +633,6 @@ impl VRDisplay {
fn handle_raf(&self, end_sender: &Sender<Result<(f64, f64), ()>>) { fn handle_raf(&self, end_sender: &Sender<Result<(f64, f64), ()>>) {
self.frame_data_status.set(VRFrameDataStatus::Waiting); self.frame_data_status.set(VRFrameDataStatus::Waiting);
let now = self.global().as_window().Performance().Now(); let now = self.global().as_window().Performance().Now();

View file

@ -3,7 +3,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
// https://immersive-web.github.io/webxr/#xr-interface // https://immersive-web.github.io/webxr/#xr-interface
[SecureContext, Exposed=Window] [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XR: EventTarget { interface XR: EventTarget {
// Methods // Methods
Promise<void> supportsSessionMode(XRSessionMode mode); Promise<void> supportsSessionMode(XRSessionMode mode);
@ -15,7 +15,7 @@ interface XR: EventTarget {
[SecureContext] [SecureContext]
partial interface Navigator { partial interface Navigator {
[SameObject, Pref="dom.webvr.enabled"] readonly attribute XR xr; [SameObject, Pref="dom.webxr.enabled"] readonly attribute XR xr;
}; };
enum XRSessionMode { enum XRSessionMode {

View file

@ -4,9 +4,10 @@
// https://immersive-web.github.io/webxr/#xrframe-interface // https://immersive-web.github.io/webxr/#xrframe-interface
[SecureContext, Exposed=Window] interface XRFrame { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRFrame {
readonly attribute XRSession session; readonly attribute XRSession session;
XRViewerPose? getViewerPose(optional XRReferenceSpace referenceSpace); XRViewerPose? getViewerPose(optional XRReferenceSpace referenceSpace);
// XRInputPose? getInputPose(XRInputSource inputSource, optional XRReferenceSpace referenceSpace); // XRInputPose? getInputPose(XRInputSource inputSource, optional XRReferenceSpace referenceSpace);
}; };

View file

@ -4,4 +4,5 @@
// https://immersive-web.github.io/webxr/#xrlayer-interface // https://immersive-web.github.io/webxr/#xrlayer-interface
[SecureContext, Exposed=Window] interface XRLayer {}; [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRLayer {};

View file

@ -14,7 +14,8 @@ dictionary XRReferenceSpaceOptions {
required XRReferenceSpaceType type; required XRReferenceSpaceType type;
}; };
[SecureContext, Exposed=Window] interface XRReferenceSpace : XRSpace { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRReferenceSpace : XRSpace {
// attribute XRRigidTransform originOffset; // attribute XRRigidTransform originOffset;
// attribute EventHandler onreset; // attribute EventHandler onreset;
}; };

View file

@ -4,10 +4,10 @@
// https://immersive-web.github.io/webxr/#xrrigidtransform-interface // https://immersive-web.github.io/webxr/#xrrigidtransform-interface
[SecureContext, Exposed=Window] [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
// [Constructor(optional DOMPointInit position, optional DOMPointInit orientation)] // [Constructor(optional DOMPointInit position, optional DOMPointInit orientation)]
interface XRRigidTransform { interface XRRigidTransform {
// readonly attribute DOMPointReadOnly position; // readonly attribute DOMPointReadOnly position;
// readonly attribute DOMPointReadOnly orientation; // readonly attribute DOMPointReadOnly orientation;
// readonly attribute Float32Array matrix; // readonly attribute Float32Array matrix;
}; };

View file

@ -12,7 +12,7 @@ enum XREnvironmentBlendMode {
callback XRFrameRequestCallback = void (DOMHighResTimeStamp time, XRFrame frame); callback XRFrameRequestCallback = void (DOMHighResTimeStamp time, XRFrame frame);
[SecureContext, Exposed=Window] interface XRSession : EventTarget { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"] interface XRSession : EventTarget {
// // Attributes // // Attributes
readonly attribute XRSessionMode mode; readonly attribute XRSessionMode mode;
// readonly attribute XRPresentationContext outputContext; // readonly attribute XRPresentationContext outputContext;
@ -40,4 +40,4 @@ callback XRFrameRequestCallback = void (DOMHighResTimeStamp time, XRFrame frame)
// attribute EventHandler oninputsourceschange; // attribute EventHandler oninputsourceschange;
// attribute EventHandler onselectstart; // attribute EventHandler onselectstart;
// attribute EventHandler onselectend; // attribute EventHandler onselectend;
}; };

View file

@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
[SecureContext, Exposed=Window] interface XRSpace : EventTarget { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRSpace : EventTarget {
// XRRigidTransform? getTransformTo(XRSpace other); // XRRigidTransform? getTransformTo(XRSpace other);
}; };

View file

@ -14,7 +14,7 @@ dictionary XRStationaryReferenceSpaceOptions : XRReferenceSpaceOptions {
required XRStationaryReferenceSpaceSubtype subtype; required XRStationaryReferenceSpaceSubtype subtype;
}; };
[SecureContext, Exposed=Window] [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRStationaryReferenceSpace: XRReferenceSpace { interface XRStationaryReferenceSpace: XRReferenceSpace {
// readonly attribute XRStationaryReferenceSpaceSubtype subtype; // readonly attribute XRStationaryReferenceSpaceSubtype subtype;
}; };

View file

@ -9,9 +9,10 @@ enum XREye {
"right" "right"
}; };
[SecureContext, Exposed=Window] interface XRView { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRView {
readonly attribute XREye eye; readonly attribute XREye eye;
readonly attribute Float32Array projectionMatrix; readonly attribute Float32Array projectionMatrix;
readonly attribute Float32Array viewMatrix; readonly attribute Float32Array viewMatrix;
// readonly attribute XRRigidTransform transform; // readonly attribute XRRigidTransform transform;
}; };

View file

@ -4,9 +4,10 @@
// https://immersive-web.github.io/webxr/#xrviewerpose-interface // https://immersive-web.github.io/webxr/#xrviewerpose-interface
[SecureContext, Exposed=Window] interface XRViewerPose { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRViewerPose {
// readonly attribute XRRigidTransform transform; // readonly attribute XRRigidTransform transform;
// readonly attribute FrozenArray<XRView> views; // readonly attribute FrozenArray<XRView> views;
// workaround until we have FrozenArray // workaround until we have FrozenArray
sequence<XRView> views(); sequence<XRView> views();
}; };

View file

@ -4,9 +4,10 @@
// https://immersive-web.github.io/webxr/#xrviewport-interface // https://immersive-web.github.io/webxr/#xrviewport-interface
[SecureContext, Exposed=Window] interface XRViewport { [SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRViewport {
readonly attribute long x; readonly attribute long x;
readonly attribute long y; readonly attribute long y;
readonly attribute long width; readonly attribute long width;
readonly attribute long height; readonly attribute long height;
}; };

View file

@ -19,7 +19,8 @@ dictionary XRWebGLLayerInit {
[SecureContext, Exposed=Window, Constructor(XRSession session, [SecureContext, Exposed=Window, Constructor(XRSession session,
XRWebGLRenderingContext context, XRWebGLRenderingContext context,
optional XRWebGLLayerInit layerInit)] optional XRWebGLLayerInit layerInit),
Pref="dom.webxr.enabled"]
interface XRWebGLLayer : XRLayer { interface XRWebGLLayer : XRLayer {
// // Attributes // // Attributes
readonly attribute XRWebGLRenderingContext context; readonly attribute XRWebGLRenderingContext context;
@ -39,4 +40,4 @@ interface XRWebGLLayer : XRLayer {
// // Static Methods // // Static Methods
// static double getNativeFramebufferScaleFactor(XRSession session); // static double getNativeFramebufferScaleFactor(XRSession session);
}; };

View file

@ -7,6 +7,7 @@
"windows": {}, "windows": {},
"vr": { "vr": {
"_comment": "settings specific to VR builds", "_comment": "settings specific to VR builds",
"dom.webvr.enabled": true "dom.webvr.enabled": true,
"dom.webxr.enabled": true
} }
} }