From 3f88310e23163b34d40fc9a2afa45a825b66ccc5 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Mon, 6 Apr 2020 17:42:38 -0700 Subject: [PATCH 01/18] Update webxr --- Cargo.lock | 27 ++++++++++++++------- components/script/dom/webidls/XRTest.webidl | 1 - components/script/dom/xrtest.rs | 6 +++-- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bf024a4c5b3..0af4ea92f1d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -187,6 +187,12 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" +[[package]] +name = "autocfg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" + [[package]] name = "background_hang_monitor" version = "0.0.1" @@ -975,7 +981,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac" dependencies = [ - "autocfg", + "autocfg 0.1.7", "cfg-if", "crossbeam-utils", "lazy_static", @@ -999,7 +1005,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4" dependencies = [ - "autocfg", + "autocfg 0.1.7", "cfg-if", "lazy_static", ] @@ -1473,9 +1479,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.20.5" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8813df82772c5ef4c2e9cd4a986773c125ffeafdc08204c9d5c2f06e0abdc17" +checksum = "0c6a5b0c779cd0b744c73a1d2083faf181080d696903cdad99a3b03d015d7030" dependencies = [ "num-traits", "serde", @@ -3846,9 +3852,12 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.4" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775393e285254d2f5004596d69bb8bc1149754570dcc08cf30cabeba67955e28" +checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" +dependencies = [ + "autocfg 1.0.0", +] [[package]] name = "num_cpus" @@ -3930,7 +3939,7 @@ version = "0.9.53" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f" dependencies = [ - "autocfg", + "autocfg 0.1.7", "cc", "libc", "pkg-config", @@ -6566,7 +6575,7 @@ dependencies = [ [[package]] name = "webxr" version = "0.0.1" -source = "git+https://github.com/servo/webxr#0d9c83f333920b98d95adf9666b0a365258990a3" +source = "git+https://github.com/servo/webxr#805811544cafbc8dcebc3cd02c38dd329226088d" dependencies = [ "android_injected_glue", "bindgen", @@ -6590,7 +6599,7 @@ dependencies = [ [[package]] name = "webxr-api" version = "0.0.1" -source = "git+https://github.com/servo/webxr#0d9c83f333920b98d95adf9666b0a365258990a3" +source = "git+https://github.com/servo/webxr#805811544cafbc8dcebc3cd02c38dd329226088d" dependencies = [ "euclid", "ipc-channel", diff --git a/components/script/dom/webidls/XRTest.webidl b/components/script/dom/webidls/XRTest.webidl index 914bcb2d54d..d42ca640ba9 100644 --- a/components/script/dom/webidls/XRTest.webidl +++ b/components/script/dom/webidls/XRTest.webidl @@ -26,7 +26,6 @@ dictionary FakeXRDeviceInit { // this is actually sequence, but we don't support // non-string features anyway sequence supportedFeatures; - boolean supportsUnbounded = false; // Whether the space supports tracking in inline sessions boolean supportsTrackingInInline = true; // The bounds coordinates. If null, bounded reference spaces are not supported. diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs index 32adb628c11..92f59bc0507 100644 --- a/components/script/dom/xrtest.rs +++ b/components/script/dom/xrtest.rs @@ -109,10 +109,12 @@ impl XRTestMethods for XRTest { let init = MockDeviceInit { viewer_origin: origin, views, - supports_immersive: init.supportsImmersive, - supports_unbounded: init.supportsUnbounded, + supports_inline: false, + supports_vr: init.supportsImmersive, + supports_ar: false, floor_origin, supported_features, + world: None, }; let global = self.global(); From d01d9065aaa4e7f316cad21dcbe1d3cf4c3d4652 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Wed, 8 Apr 2020 13:20:19 -0700 Subject: [PATCH 02/18] Add hit test mocking at initialization --- components/script/dom/fakexrdevice.rs | 55 +++++++++++++++++-- .../script/dom/webidls/FakeXRDevice.webidl | 27 +++++++++ components/script/dom/webidls/XRTest.webidl | 3 + components/script/dom/xrtest.rs | 17 +++++- ...t_subscription_inputSources.https.html.ini | 10 +++- ...test_subscription_refSpaces.https.html.ini | 13 ++++- ...ption_transientInputSources.https.html.ini | 10 +++- 7 files changed, 126 insertions(+), 9 deletions(-) diff --git a/components/script/dom/fakexrdevice.rs b/components/script/dom/fakexrdevice.rs index 537251fffed..b0ebb9f77fc 100644 --- a/components/script/dom/fakexrdevice.rs +++ b/components/script/dom/fakexrdevice.rs @@ -2,8 +2,10 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +use crate::dom::bindings::codegen::Bindings::DOMPointBinding::DOMPointInit; use crate::dom::bindings::codegen::Bindings::FakeXRDeviceBinding::{ - FakeXRDeviceMethods, FakeXRRigidTransformInit, FakeXRViewInit, + FakeXRDeviceMethods, FakeXRRegionType, FakeXRRigidTransformInit, FakeXRViewInit, + FakeXRWorldInit, }; use crate::dom::bindings::codegen::Bindings::FakeXRInputControllerBinding::FakeXRInputSourceInit; use crate::dom::bindings::codegen::Bindings::XRInputSourceBinding::{ @@ -21,15 +23,15 @@ use crate::dom::promise::Promise; use crate::task_source::TaskSource; use dom_struct::dom_struct; use euclid::{Point2D, Rect, Size2D}; -use euclid::{RigidTransform3D, Rotation3D, Transform3D, Vector3D}; +use euclid::{Point3D, RigidTransform3D, Rotation3D, Transform3D, Vector3D}; use ipc_channel::ipc::IpcSender; use ipc_channel::router::ROUTER; use profile_traits::ipc; use std::cell::Cell; use std::rc::Rc; use webxr_api::{ - Handedness, InputId, InputSource, MockDeviceMsg, MockInputInit, MockViewInit, MockViewsInit, - TargetRayMode, Visibility, + EntityType, Handedness, InputId, InputSource, MockDeviceMsg, MockInputInit, MockRegion, + MockViewInit, MockViewsInit, MockWorld, TargetRayMode, Triangle, Visibility, }; #[dom_struct] @@ -97,6 +99,7 @@ pub fn view(view: &FakeXRViewInit) -> Fallible> { fov, }) } + pub fn get_views(views: &[FakeXRViewInit]) -> Fallible { match views.len() { 1 => Ok(MockViewsInit::Mono(view(&views[0])?)), @@ -133,6 +136,50 @@ pub fn get_origin( Ok(RigidTransform3D::new(o, p)) } +pub fn get_point(pt: &DOMPointInit) -> Point3D { + Point3D::new(pt.x / pt.w, pt.y / pt.w, pt.z / pt.w).cast() +} + +pub fn get_world(world: &FakeXRWorldInit) -> Fallible { + let regions = world + .hitTestRegions + .iter() + .map(|region| { + let ty = region.type_.into(); + let faces = region + .faces + .iter() + .map(|face| { + if face.vertices.len() != 3 { + return Err(Error::Type( + "Incorrectly sized array for triangle list".into(), + )); + } + + Ok(Triangle { + first: get_point(&face.vertices[0]), + second: get_point(&face.vertices[1]), + third: get_point(&face.vertices[2]), + }) + }) + .collect::>>()?; + Ok(MockRegion { faces, ty }) + }) + .collect::>>()?; + + Ok(MockWorld { regions }) +} + +impl From for EntityType { + fn from(x: FakeXRRegionType) -> Self { + match x { + FakeXRRegionType::Point => EntityType::Point, + FakeXRRegionType::Plane => EntityType::Plane, + FakeXRRegionType::Mesh => EntityType::Mesh, + } + } +} + impl FakeXRDeviceMethods for FakeXRDevice { /// https://github.com/immersive-web/webxr-test-api/blob/master/explainer.md fn SetViews(&self, views: Vec) -> Fallible<()> { diff --git a/components/script/dom/webidls/FakeXRDevice.webidl b/components/script/dom/webidls/FakeXRDevice.webidl index 856df51cc7a..d30ee2cae62 100644 --- a/components/script/dom/webidls/FakeXRDevice.webidl +++ b/components/script/dom/webidls/FakeXRDevice.webidl @@ -25,6 +25,10 @@ interface FakeXRDevice { // behaves as if device was disconnected Promise disconnect(); + + // Hit test extensions: + // void setWorld(FakeXRWorldInit world); + // void clearWorld(); }; // https://immersive-web.github.io/webxr/#dom-xrwebgllayer-getviewport @@ -61,3 +65,26 @@ dictionary FakeXRFieldOfViewInit { required float leftDegrees; required float rightDegrees; }; + +// hit testing +dictionary FakeXRWorldInit { + required sequence hitTestRegions; +}; + + +dictionary FakeXRRegionInit { + required sequence faces; + required FakeXRRegionType type; +}; + + +dictionary FakeXRTriangleInit { + required sequence vertices; // size = 3 +}; + + +enum FakeXRRegionType { + "point", + "plane", + "mesh" +}; diff --git a/components/script/dom/webidls/XRTest.webidl b/components/script/dom/webidls/XRTest.webidl index d42ca640ba9..0071e4338b3 100644 --- a/components/script/dom/webidls/XRTest.webidl +++ b/components/script/dom/webidls/XRTest.webidl @@ -33,5 +33,8 @@ dictionary FakeXRDeviceInit { // Eye level used for calculating floor-level spaces FakeXRRigidTransformInit floorOrigin; FakeXRRigidTransformInit viewerOrigin; + + // Hit test extensions: + FakeXRWorldInit world; }; diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs index 92f59bc0507..114260b89d9 100644 --- a/components/script/dom/xrtest.rs +++ b/components/script/dom/xrtest.rs @@ -13,7 +13,7 @@ use crate::dom::bindings::codegen::Bindings::XRTestBinding::{FakeXRDeviceInit, X use crate::dom::bindings::refcounted::{Trusted, TrustedPromise}; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; use crate::dom::bindings::root::{Dom, DomRoot}; -use crate::dom::fakexrdevice::{get_origin, get_views, FakeXRDevice}; +use crate::dom::fakexrdevice::{get_origin, get_views, get_world, FakeXRDevice}; use crate::dom::globalscope::GlobalScope; use crate::dom::promise::Promise; use crate::script_thread::ScriptThread; @@ -106,6 +106,19 @@ impl XRTestMethods for XRTest { vec![] }; + let world = if let Some(ref w) = init.world { + let w = match get_world(w) { + Ok(w) => w, + Err(e) => { + p.reject_error(e); + return p; + }, + }; + Some(w) + } else { + None + }; + let init = MockDeviceInit { viewer_origin: origin, views, @@ -114,7 +127,7 @@ impl XRTestMethods for XRTest { supports_ar: false, floor_origin, supported_features, - world: None, + world, }; let global = self.global(); diff --git a/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_inputSources.https.html.ini b/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_inputSources.https.html.ini index 670b46927bc..23f35a787af 100644 --- a/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_inputSources.https.html.ini +++ b/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_inputSources.https.html.ini @@ -1,2 +1,10 @@ [ar_hittest_subscription_inputSources.https.html] - expected: ERROR + [Ensures subscription to hit test works with an XRSpace from input source - after move - no results] + expected: FAIL + + [Ensures subscription to hit test works with an XRSpace from input source - after move - 1 result] + expected: FAIL + + [Ensures subscription to hit test works with an XRSpace from input source - no move] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html.ini b/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html.ini index acc47d4ee07..694dd586a5d 100644 --- a/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html.ini +++ b/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_refSpaces.https.html.ini @@ -1,2 +1,13 @@ [ar_hittest_subscription_refSpaces.https.html] - expected: ERROR + [Ensures subscription to hit test works with viewer space - straight up - no results] + expected: FAIL + + [Ensures subscription to hit test works with viewer space - straight ahead - plane] + expected: FAIL + + [Ensures subscription to hit test works with local space] + expected: FAIL + + [Ensures subscription to hit test works with local-floor space] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html.ini b/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html.ini index e33e7dce5f2..77ee3e16b32 100644 --- a/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html.ini +++ b/tests/wpt/metadata/webxr/hit-test/ar_hittest_subscription_transientInputSources.https.html.ini @@ -1,2 +1,10 @@ [ar_hittest_subscription_transientInputSources.https.html] - expected: ERROR + [Ensures subscription to transient hit test works with an XRSpace from input source - after move - 1 result] + expected: FAIL + + [Ensures subscription to transient hit test works with an XRSpace from input source - after move - no results] + expected: FAIL + + [Ensures subscription to transient hit test works with an XRSpace from input source - no move] + expected: FAIL + From ef6ee5e2a10ff8f0a0e1fce22fa05678cd8e2a16 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Wed, 8 Apr 2020 14:03:17 -0700 Subject: [PATCH 03/18] Add hit test mocking after initialization --- components/script/dom/fakexrdevice.rs | 11 +++++++++++ components/script/dom/webidls/FakeXRDevice.webidl | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) 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 From 7f353033f4aa441934d4511a659f7621692ea634 Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Fri, 10 Apr 2020 20:51:06 -0700 Subject: [PATCH 04/18] Support .supportedModes to enable newer tests --- components/script/dom/webidls/XRTest.webidl | 4 +++- components/script/dom/xrtest.rs | 19 ++++++++++++++++--- ...ssionSupported_immersive-ar.https.html.ini | 4 ---- ...requestSession_immersive-ar.https.html.ini | 4 ---- .../dom-overlay/ar_dom_overlay.https.html.ini | 7 ++++--- .../ar_dom_overlay_hit_test.https.html.ini | 4 +++- tests/wpt/mozilla/meta/MANIFEST.json | 6 +++--- .../mozilla/tests/webxr/create_session.html | 2 +- tests/wpt/mozilla/tests/webxr/layers.html | 2 +- .../wpt/mozilla/tests/webxr/obtain_frame.html | 2 +- 10 files changed, 32 insertions(+), 22 deletions(-) delete mode 100644 tests/wpt/metadata/webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html.ini delete mode 100644 tests/wpt/metadata/webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html.ini diff --git a/components/script/dom/webidls/XRTest.webidl b/components/script/dom/webidls/XRTest.webidl index 0071e4338b3..1ae98f703bf 100644 --- a/components/script/dom/webidls/XRTest.webidl +++ b/components/script/dom/webidls/XRTest.webidl @@ -20,7 +20,9 @@ interface XRTest { }; dictionary FakeXRDeviceInit { - required boolean supportsImmersive; + boolean supportsImmersive = false; + sequence supportedModes; + required sequence views; // this is actually sequence, but we don't support diff --git a/components/script/dom/xrtest.rs b/components/script/dom/xrtest.rs index 114260b89d9..37707c3ce8e 100644 --- a/components/script/dom/xrtest.rs +++ b/components/script/dom/xrtest.rs @@ -9,6 +9,7 @@ use crate::dom::bindings::callback::ExceptionHandling; use crate::dom::bindings::cell::DomRefCell; use crate::dom::bindings::codegen::Bindings::FunctionBinding::Function; +use crate::dom::bindings::codegen::Bindings::XRSystemBinding::XRSessionMode; use crate::dom::bindings::codegen::Bindings::XRTestBinding::{FakeXRDeviceInit, XRTestMethods}; use crate::dom::bindings::refcounted::{Trusted, TrustedPromise}; use crate::dom::bindings::reflector::{reflect_dom_object, DomObject, Reflector}; @@ -119,12 +120,24 @@ impl XRTestMethods for XRTest { None }; + let (mut supports_inline, mut supports_vr, mut supports_ar) = (false, false, false); + + if let Some(ref modes) = init.supportedModes { + for mode in modes { + match mode { + XRSessionMode::Immersive_vr => supports_vr = true, + XRSessionMode::Immersive_ar => supports_ar = true, + XRSessionMode::Inline => supports_inline = true, + } + } + } + let init = MockDeviceInit { viewer_origin: origin, views, - supports_inline: false, - supports_vr: init.supportsImmersive, - supports_ar: false, + supports_inline, + supports_vr, + supports_ar, floor_origin, supported_features, world, diff --git a/tests/wpt/metadata/webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html.ini b/tests/wpt/metadata/webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html.ini deleted file mode 100644 index 178edb6ed13..00000000000 --- a/tests/wpt/metadata/webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[xrDevice_isSessionSupported_immersive-ar.https.html] - [isSessionSupported resolves to false for immersive-ar on an unsupported device] - expected: FAIL - diff --git a/tests/wpt/metadata/webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html.ini b/tests/wpt/metadata/webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html.ini deleted file mode 100644 index 956d3ed136a..00000000000 --- a/tests/wpt/metadata/webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[xrDevice_requestSession_immersive-ar.https.html] - [Tests requestSession rejects immersive-ar mode when unsupported] - expected: FAIL - diff --git a/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay.https.html.ini b/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay.https.html.ini index 224197c5a20..5e168fd4be5 100644 --- a/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay.https.html.ini +++ b/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay.https.html.ini @@ -1,4 +1,5 @@ [ar_dom_overlay.https.html] + expected: ERROR [Ensures DOM Overlay element selection works] expected: FAIL @@ -6,7 +7,7 @@ expected: FAIL [Ensures DOM Overlay input deduplication works] - expected: FAIL + expected: TIMEOUT [Ensures DOM Overlay feature works for immersive-ar, body element] expected: FAIL @@ -15,11 +16,11 @@ expected: FAIL [Ensures DOM Overlay Fullscreen API doesn't change DOM overlay] - expected: FAIL + expected: NOTRUN [Ensures DOM Overlay feature works for immersive-ar, div element] expected: FAIL [Ensures DOM Overlay interactions on cross origin iframe are ignored] - expected: FAIL + expected: NOTRUN diff --git a/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html.ini b/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html.ini index 39d3a1c94ce..26ed26f69c2 100644 --- a/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html.ini +++ b/tests/wpt/metadata/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html.ini @@ -1,2 +1,4 @@ [ar_dom_overlay_hit_test.https.html] - expected: ERROR + [Ensures DOM Overlay interactions on cross origin iframe do not cause hit test results to come up] + expected: FAIL + diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 43a57321277..a40590440ef 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -14609,21 +14609,21 @@ }, "webxr": { "create_session.html": [ - "af76c5a812d7d05a0158194560933def3fbdb9f9", + "5b5d485b372bfffb22204bc162c9e182306395cb", [ null, {} ] ], "layers.html": [ - "31f4b6bd51cfcca47666331857bd2bbdf84d2f5e", + "49821d7661f92bc9cf22232d3fcb391c2cdc7295", [ null, {} ] ], "obtain_frame.html": [ - "74fda5bad43e8ea95552e65380e83952680e8469", + "d9ff25729f9cdfd348e7c9914ce2dacd231e13a0", [ null, {} diff --git a/tests/wpt/mozilla/tests/webxr/create_session.html b/tests/wpt/mozilla/tests/webxr/create_session.html index af76c5a812d..5b5d485b372 100644 --- a/tests/wpt/mozilla/tests/webxr/create_session.html +++ b/tests/wpt/mozilla/tests/webxr/create_session.html @@ -8,7 +8,7 @@