aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/xrtest.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/xrtest.rs')
-rw-r--r--components/script/dom/xrtest.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs
index 92f59bc0507..114260b89d9 100644
--- a/components/script/dom/xrtest.rs
+++ b/components/script/dom/xrtest.rs
@@ -13,7 +13,7 @@ use crate::dom::bindings::codegen::Bindings::XRTestBinding::{FakeXRDeviceInit, X
use crate::dom::bindings::refcounted::{Trusted, TrustedPromise};
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
use crate::dom::bindings::root::{Dom, DomRoot};
-use crate::dom::fakexrdevice::{get_origin, get_views, FakeXRDevice};
+use crate::dom::fakexrdevice::{get_origin, get_views, get_world, FakeXRDevice};
use crate::dom::globalscope::GlobalScope;
use crate::dom::promise::Promise;
use crate::script_thread::ScriptThread;
@@ -106,6 +106,19 @@ impl XRTestMethods for XRTest {
vec![]
};
+ let world = if let Some(ref w) = init.world {
+ let w = match get_world(w) {
+ Ok(w) => w,
+ Err(e) => {
+ p.reject_error(e);
+ return p;
+ },
+ };
+ Some(w)
+ } else {
+ None
+ };
+
let init = MockDeviceInit {
viewer_origin: origin,
views,
@@ -114,7 +127,7 @@ impl XRTestMethods for XRTest {
supports_ar: false,
floor_origin,
supported_features,
- world: None,
+ world,
};
let global = self.global();