diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2019-06-26 16:34:50 -0700 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2019-07-01 17:42:46 -0700 |
commit | c19240a454ffce05b8fc5d381ea22209746b1890 (patch) | |
tree | 0735822ad5c0f12c9512277c510127ce962b5162 /components/script/dom/xrtest.rs | |
parent | faea7716cf6cacf98f8300f021ff744b74190b8b (diff) | |
download | servo-c19240a454ffce05b8fc5d381ea22209746b1890.tar.gz servo-c19240a454ffce05b8fc5d381ea22209746b1890.zip |
Update to latest xrtest api
Diffstat (limited to 'components/script/dom/xrtest.rs')
-rw-r--r-- | components/script/dom/xrtest.rs | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs index 07fac9d6a89..7f0b8a43ef9 100644 --- a/components/script/dom/xrtest.rs +++ b/components/script/dom/xrtest.rs @@ -11,13 +11,13 @@ use crate::dom::bindings::codegen::Bindings::XRTestBinding::{ }; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::DomRoot; -use crate::dom::fakexrdevicecontroller::FakeXRDeviceController; +use crate::dom::fakexrdevice::{get_origin, get_views, FakeXRDevice}; use crate::dom::globalscope::GlobalScope; use crate::dom::promise::Promise; use dom_struct::dom_struct; use std::cell::Cell; use std::rc::Rc; -use webvr_traits::WebVRMsg; +use webvr_traits::{MockVRInit, WebVRMsg}; #[dom_struct] pub struct XRTest { @@ -52,14 +52,36 @@ impl XRTestMethods for XRTest { return p; } + let origin = match get_origin(&init.viewerOrigin) { + Ok(origin) => origin, + Err(e) => { + p.reject_error(e); + return p; + }, + }; + + let views = match get_views(&init.views) { + Ok(views) => views, + Err(e) => { + p.reject_error(e); + return p; + }, + }; + + let init = MockVRInit { + viewer_origin: Some(origin), + views: Some(views), + eye_level: None, + }; + self.session_started.set(true); self.global() .as_window() .webvr_thread() .unwrap() - .send(WebVRMsg::CreateMockDisplay) + .send(WebVRMsg::CreateMockDisplay(init)) .unwrap(); - p.resolve_native(&FakeXRDeviceController::new(&self.global())); + p.resolve_native(&FakeXRDevice::new(&self.global())); p } |