diff options
Diffstat (limited to 'components/script/dom/xr.rs')
-rw-r--r-- | components/script/dom/xr.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/components/script/dom/xr.rs b/components/script/dom/xr.rs index 1ddf93c7a23..d24e8f144cd 100644 --- a/components/script/dom/xr.rs +++ b/components/script/dom/xr.rs @@ -76,6 +76,17 @@ impl XR { self.pending_immersive_session.set(false); self.active_immersive_session.set(Some(session)) } + + /// https://immersive-web.github.io/webxr/#ref-for-eventdef-xrsession-end + pub fn end_session(&self, session: &XRSession) { + // Step 3 + if let Some(active) = self.active_immersive_session.get() { + if Dom::from_ref(&*active) == Dom::from_ref(session) { + self.active_immersive_session.set(None); + } + } + // XXXManishearth when we support inline sessions we should remove them too + } } impl Drop for XR { |