diff --git a/components/script/dom/xrsession.rs b/components/script/dom/xrsession.rs index 6bde94c31a09..2ef47361f92c 100644 --- a/components/script/dom/xrsession.rs +++ b/components/script/dom/xrsession.rs @@ -741,6 +741,18 @@ impl XRSessionMethods for XRSession { fn RequestHitTestSource(&self, options: &XRHitTestOptionsInit) -> Rc { let p = Promise::new(&self.global()); + if self + .session + .borrow() + .granted_features() + .iter() + .find(|f| &**f == "hit-test") + .is_none() + { + p.reject_error(Error::NotSupported); + return p; + } + let id = self.next_hit_test_id.get(); self.next_hit_test_id.set(HitTestId(id.0 + 1));