From 2af8e0ef9fb8e3672bce3e3a423d6ed67ac4c738 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Mon, 10 Jun 2019 16:19:37 -0700 Subject: [PATCH] Add stub makeXRCompatible() --- components/script/dom/webglrenderingcontext.rs | 10 ++++++++++ components/script/dom/webidls/XRSession.webidl | 1 - components/script/dom/webidls/XRWebGLLayer.webidl | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index 0ccc2a53825..d138dc3952e 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -24,6 +24,7 @@ use crate::dom::htmlcanvaselement::utils as canvas_utils; use crate::dom::htmlcanvaselement::HTMLCanvasElement; use crate::dom::htmliframeelement::HTMLIFrameElement; use crate::dom::node::{document_from_node, window_from_node, Node, NodeDamage}; +use crate::dom::promise::Promise; use crate::dom::webgl_extensions::WebGLExtensions; use crate::dom::webgl_validations::tex_image_2d::{ CommonCompressedTexImage2DValidatorResult, CommonTexImage2DValidator, @@ -76,6 +77,7 @@ use servo_config::pref; use std::cell::Cell; use std::cmp; use std::ptr::{self, NonNull}; +use std::rc::Rc; // From the GLES 2.0.25 spec, page 85: // @@ -4090,6 +4092,14 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { handle_potential_webgl_error!(self, self.validate_ownership(program), return None); handle_potential_webgl_error!(self, program.attached_shaders().map(Some), None) } + + /// https://immersive-web.github.io/webxr/#dom-webglrenderingcontextbase-makexrcompatible + fn MakeXRCompatible(&self) -> Rc { + // XXXManishearth Fill in with compatibility checks when rust-webxr supports this + let p = Promise::new(&self.global()); + p.resolve_native(&()); + p + } } pub trait LayoutCanvasWebGLRenderingContextHelpers { diff --git a/components/script/dom/webidls/XRSession.webidl b/components/script/dom/webidls/XRSession.webidl index 35a04833856..39e689a8dc2 100644 --- a/components/script/dom/webidls/XRSession.webidl +++ b/components/script/dom/webidls/XRSession.webidl @@ -44,4 +44,3 @@ interface XRSession : EventTarget { // attribute EventHandler onselectstart; // attribute EventHandler onselectend; }; - diff --git a/components/script/dom/webidls/XRWebGLLayer.webidl b/components/script/dom/webidls/XRWebGLLayer.webidl index 163bfd24568..0df8296be34 100644 --- a/components/script/dom/webidls/XRWebGLLayer.webidl +++ b/components/script/dom/webidls/XRWebGLLayer.webidl @@ -41,3 +41,7 @@ interface XRWebGLLayer : XRLayer { // // Static Methods // static double getNativeFramebufferScaleFactor(XRSession session); }; + +partial interface WebGLRenderingContext { + [Pref="dom.webxr.enabled"] Promise makeXRCompatible(); +};