aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrtest.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2020-01-13 17:50:13 +0530
committerManish Goregaokar <manishsmail@gmail.com>2020-01-21 15:47:30 -0800
commitd33d21ce72e6396018712608251b3392c1786a68 (patch)
treeff5294004ad725d09c6e2fd81d0eb09ff62c145c /components/script/dom/xrtest.rs
parente0135fe7832382b01d3269f6d231477196d09b4f (diff)
downloadservo-d33d21ce72e6396018712608251b3392c1786a68.tar.gz
servo-d33d21ce72e6396018712608251b3392c1786a68.zip
Add support for requesting features
Diffstat (limited to 'components/script/dom/xrtest.rs')
-rw-r--r--components/script/dom/xrtest.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs
index b00a69b8fca..4c6852fc121 100644
--- a/components/script/dom/xrtest.rs
+++ b/components/script/dom/xrtest.rs
@@ -69,8 +69,10 @@ impl XRTest {
impl XRTestMethods for XRTest {
/// https://github.com/immersive-web/webxr-test-api/blob/master/explainer.md
+ #[allow(unsafe_code)]
fn SimulateDeviceConnection(&self, init: &FakeXRDeviceInit) -> Rc<Promise> {
- let p = Promise::new(&self.global());
+ let global = self.global();
+ let p = Promise::new(&global);
let origin = if let Some(ref o) = init.viewerOrigin {
match get_origin(&o) {
@@ -104,12 +106,19 @@ impl XRTestMethods for XRTest {
},
};
+ let supported_features = if let Some(ref s) = init.supportedFeatures {
+ s.iter().cloned().map(String::from).collect()
+ } else {
+ vec![]
+ };
+
let init = MockDeviceInit {
viewer_origin: origin,
views,
supports_immersive: init.supportsImmersive,
supports_unbounded: init.supportsUnbounded,
floor_origin,
+ supported_features,
};
let global = self.global();