From 535e05f7b2f8828f54b0a2f2196556b9227ed891 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Wed, 15 Jan 2020 13:16:33 +0530 Subject: [PATCH] Correctly unset pending flag --- components/script/dom/xr.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/components/script/dom/xr.rs b/components/script/dom/xr.rs index a2c4fd059f01..ab9c2c8264de 100644 --- a/components/script/dom/xr.rs +++ b/components/script/dom/xr.rs @@ -194,6 +194,9 @@ impl XRMethods for XR { required_features.push(s) } else { warn!("Unable to convert required feature to string"); + if mode != XRSessionMode::Inline { + self.pending_immersive_session.set(false); + } promise.reject_error(Error::NotSupported); return promise; } @@ -220,7 +223,6 @@ impl XRMethods for XR { optional_features, }; - let promise = Promise::new_in_current_compartment(&self.global(), comp); let mut trusted = Some(TrustedPromise::new(promise.clone())); let this = Trusted::new(self); let (task_source, canceller) = window @@ -253,7 +255,6 @@ impl XRMethods for XR { window .webxr_registry() .request_session(mode.into(), init, sender, frame_sender); - promise } @@ -274,6 +275,9 @@ impl XR { let session = match response { Ok(session) => session, Err(_) => { + if mode != XRSessionMode::Inline { + self.pending_immersive_session.set(false); + } promise.reject_error(Error::NotSupported); return; },