aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/navigator.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2018-12-19 17:33:52 -0800
committerManish Goregaokar <manishsmail@gmail.com>2018-12-19 19:56:52 -0800
commitd5911816e1bd0bbfc64c33bebce45b117550b16f (patch)
tree28198fafd97aacd2c464ed226c7c7ed748ae80f6 /components/script/dom/navigator.rs
parent520bb23048361248c758bb4417d2ba681b861a0e (diff)
downloadservo-d5911816e1bd0bbfc64c33bebce45b117550b16f.tar.gz
servo-d5911816e1bd0bbfc64c33bebce45b117550b16f.zip
Fill in XR.requestSession
Diffstat (limited to 'components/script/dom/navigator.rs')
-rw-r--r--components/script/dom/navigator.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs
index fccc49aac9d..7ef74da204d 100644
--- a/components/script/dom/navigator.rs
+++ b/components/script/dom/navigator.rs
@@ -4,6 +4,7 @@
use crate::dom::bindings::codegen::Bindings::NavigatorBinding;
use crate::dom::bindings::codegen::Bindings::NavigatorBinding::NavigatorMethods;
+use crate::dom::bindings::error::Error;
use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector};
use crate::dom::bindings::root::{DomRoot, MutNullableDom};
use crate::dom::bindings::str::DOMString;
@@ -148,7 +149,13 @@ impl NavigatorMethods for Navigator {
// https://w3c.github.io/webvr/spec/1.1/#navigator-getvrdisplays-attribute
#[allow(unrooted_must_root)]
fn GetVRDisplays(&self) -> Rc<Promise> {
- self.Xr().get_displays()
+ let promise = Promise::new(&self.global());
+ let displays = self.Xr().get_displays();
+ match displays {
+ Ok(displays) => promise.resolve_native(&displays),
+ Err(e) => promise.reject_error(Error::Security),
+ }
+ promise
}
fn Xr(&self) -> DomRoot<XR> {