Add hit test mocking at initialization

This commit is contained in:
Manish Goregaokar 2020-04-08 13:20:19 -07:00
parent 3f88310e23
commit d01d9065aa
7 changed files with 126 additions and 9 deletions

View file

@ -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();