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), ()>>) {
self.frame_data_status.set(VRFrameDataStatus::Waiting);
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/. */
// https://immersive-web.github.io/webxr/#xr-interface
[SecureContext, Exposed=Window]
[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XR: EventTarget {
// Methods
Promise<void> supportsSessionMode(XRSessionMode mode);
@ -15,7 +15,7 @@ interface XR: EventTarget {
[SecureContext]
partial interface Navigator {
[SameObject, Pref="dom.webvr.enabled"] readonly attribute XR xr;
[SameObject, Pref="dom.webxr.enabled"] readonly attribute XR xr;
};
enum XRSessionMode {

View file

@ -4,9 +4,10 @@
// 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;
XRViewerPose? getViewerPose(optional XRReferenceSpace referenceSpace);
// XRInputPose? getInputPose(XRInputSource inputSource, optional XRReferenceSpace referenceSpace);
};
};

View file

@ -4,4 +4,5 @@
// 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;
};
[SecureContext, Exposed=Window] interface XRReferenceSpace : XRSpace {
[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRReferenceSpace : XRSpace {
// attribute XRRigidTransform originOffset;
// attribute EventHandler onreset;
};

View file

@ -4,10 +4,10 @@
// 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)]
interface XRRigidTransform {
// readonly attribute DOMPointReadOnly position;
// readonly attribute DOMPointReadOnly orientation;
// readonly attribute Float32Array matrix;
};
};

View file

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

View file

@ -2,6 +2,7 @@
* 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/. */
[SecureContext, Exposed=Window] interface XRSpace : EventTarget {
[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
interface XRSpace : EventTarget {
// XRRigidTransform? getTransformTo(XRSpace other);
};
};

View file

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

View file

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

View file

@ -4,9 +4,10 @@
// 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 FrozenArray<XRView> views;
// workaround until we have FrozenArray
sequence<XRView> views();
};
};

View file

@ -4,9 +4,10 @@
// 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 y;
readonly attribute long width;
readonly attribute long height;
};
};

View file

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

View file

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