aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webidls/XRWebGLLayer.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/webidls/XRWebGLLayer.webidl')
-rw-r--r--components/script/dom/webidls/XRWebGLLayer.webidl41
1 files changed, 41 insertions, 0 deletions
diff --git a/components/script/dom/webidls/XRWebGLLayer.webidl b/components/script/dom/webidls/XRWebGLLayer.webidl
new file mode 100644
index 00000000000..87d2dc4dccb
--- /dev/null
+++ b/components/script/dom/webidls/XRWebGLLayer.webidl
@@ -0,0 +1,41 @@
+/* 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 https://mozilla.org/MPL/2.0/. */
+
+// https://immersive-web.github.io/webxr/#xrwebgllayer-interface
+
+typedef (WebGLRenderingContext or
+ WebGL2RenderingContext) XRWebGLRenderingContext;
+
+dictionary XRWebGLLayerInit {
+ boolean antialias = true;
+ boolean depth = true;
+ boolean stencil = false;
+ boolean alpha = true;
+ boolean ignoreDepthValues = false;
+ double framebufferScaleFactor = 1.0;
+};
+
+[SecureContext, Exposed=Window, Pref="dom.webxr.enabled"]
+interface XRWebGLLayer: XRLayer {
+ [Throws] constructor(XRSession session,
+ XRWebGLRenderingContext context,
+ optional XRWebGLLayerInit layerInit = {});
+ // Attributes
+ readonly attribute boolean antialias;
+ readonly attribute boolean ignoreDepthValues;
+
+ [SameObject] readonly attribute WebGLFramebuffer? framebuffer;
+ readonly attribute unsigned long framebufferWidth;
+ readonly attribute unsigned long framebufferHeight;
+
+ // Methods
+ XRViewport? getViewport(XRView view);
+
+ // // Static Methods
+ // static double getNativeFramebufferScaleFactor(XRSession session);
+};
+
+partial interface WebGLRenderingContext {
+ [Pref="dom.webxr.enabled"] Promise<void> makeXRCompatible();
+};