aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrtest.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2020-04-10 20:51:06 -0700
committerManish Goregaokar <manishsmail@gmail.com>2020-04-19 20:29:14 -0700
commit7f353033f4aa441934d4511a659f7621692ea634 (patch)
tree318f83967e609d507ccdfff3e5cd6123e2d60686 /components/script/dom/xrtest.rs
parentef6ee5e2a10ff8f0a0e1fce22fa05678cd8e2a16 (diff)
downloadservo-7f353033f4aa441934d4511a659f7621692ea634.tar.gz
servo-7f353033f4aa441934d4511a659f7621692ea634.zip
Support .supportedModes to enable newer tests
Diffstat (limited to 'components/script/dom/xrtest.rs')
-rw-r--r--components/script/dom/xrtest.rs19
1 files changed, 16 insertions, 3 deletions
diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs
index 114260b89d9..37707c3ce8e 100644
--- a/components/script/dom/xrtest.rs
+++ b/components/script/dom/xrtest.rs
@@ -9,6 +9,7 @@
use crate::dom::bindings::callback::ExceptionHandling;
use crate::dom::bindings::cell::DomRefCell;
use crate::dom::bindings::codegen::Bindings::FunctionBinding::Function;
+use crate::dom::bindings::codegen::Bindings::XRSystemBinding::XRSessionMode;
use crate::dom::bindings::codegen::Bindings::XRTestBinding::{FakeXRDeviceInit, XRTestMethods};
use crate::dom::bindings::refcounted::{Trusted, TrustedPromise};
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
@@ -119,12 +120,24 @@ impl XRTestMethods for XRTest {
None
};
+ let (mut supports_inline, mut supports_vr, mut supports_ar) = (false, false, false);
+
+ if let Some(ref modes) = init.supportedModes {
+ for mode in modes {
+ match mode {
+ XRSessionMode::Immersive_vr => supports_vr = true,
+ XRSessionMode::Immersive_ar => supports_ar = true,
+ XRSessionMode::Inline => supports_inline = true,
+ }
+ }
+ }
+
let init = MockDeviceInit {
viewer_origin: origin,
views,
- supports_inline: false,
- supports_vr: init.supportsImmersive,
- supports_ar: false,
+ supports_inline,
+ supports_vr,
+ supports_ar,
floor_origin,
supported_features,
world,