diff --git a/components/script/dom/fakexrdevice.rs b/components/script/dom/fakexrdevice.rs index b0ebb9f77fc..5b1ca75fb3d 100644 --- a/components/script/dom/fakexrdevice.rs +++ b/components/script/dom/fakexrdevice.rs @@ -219,6 +219,17 @@ impl FakeXRDeviceMethods for FakeXRDevice { Ok(()) } + /// https://immersive-web.github.io/webxr-test-api/#dom-fakexrdevice-clearworld + fn ClearWorld(&self) { + let _ = self.sender.send(MockDeviceMsg::ClearWorld); + } + + /// https://immersive-web.github.io/webxr-test-api/#dom-fakexrdevice-setworld + fn SetWorld(&self, world: &FakeXRWorldInit) -> Fallible<()> { + let _ = self.sender.send(MockDeviceMsg::SetWorld(get_world(world)?)); + Ok(()) + } + /// https://immersive-web.github.io/webxr-test-api/#dom-fakexrdevice-simulatevisibilitychange fn SimulateVisibilityChange(&self, v: XRVisibilityState) { let v = match v { diff --git a/components/script/dom/webidls/FakeXRDevice.webidl b/components/script/dom/webidls/FakeXRDevice.webidl index d30ee2cae62..6349d70963b 100644 --- a/components/script/dom/webidls/FakeXRDevice.webidl +++ b/components/script/dom/webidls/FakeXRDevice.webidl @@ -27,8 +27,8 @@ interface FakeXRDevice { Promise disconnect(); // Hit test extensions: - // void setWorld(FakeXRWorldInit world); - // void clearWorld(); + [Throws] void setWorld(FakeXRWorldInit world); + void clearWorld(); }; // https://immersive-web.github.io/webxr/#dom-xrwebgllayer-getviewport