diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini index b5f091b42ab..909b4a5071a 100644 --- a/tests/wpt/include.ini +++ b/tests/wpt/include.ini @@ -131,6 +131,8 @@ skip: true skip: false [webvr] skip: false +[webxr] + skip: false [WebIDL] skip: false [websockets] diff --git a/tests/wpt/metadata/webxr/__dir__.ini b/tests/wpt/metadata/webxr/__dir__.ini new file mode 100644 index 00000000000..2d5abc82d60 --- /dev/null +++ b/tests/wpt/metadata/webxr/__dir__.ini @@ -0,0 +1 @@ +prefs: ["dom.webxr.enabled:true", "dom.webxr.test:true"] diff --git a/tests/wpt/metadata/webxr/events_referenceSpace_reset.https.html.ini b/tests/wpt/metadata/webxr/events_referenceSpace_reset.https.html.ini new file mode 100644 index 00000000000..5d6851c9d84 --- /dev/null +++ b/tests/wpt/metadata/webxr/events_referenceSpace_reset.https.html.ini @@ -0,0 +1,7 @@ +[events_referenceSpace_reset.https.html] + [XRSession resetpose from a device properly fires off the right events for non-immersive sessions] + expected: FAIL + + [XRSession resetpose from a device properly fires off the right events for immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/idlharness.https.window.js.ini b/tests/wpt/metadata/webxr/idlharness.https.window.js.ini new file mode 100644 index 00000000000..17bdd9d9913 --- /dev/null +++ b/tests/wpt/metadata/webxr/idlharness.https.window.js.ini @@ -0,0 +1,262 @@ +[idlharness.https.window.html] + [XR interface: attribute ondevicechange] + expected: FAIL + + [XRInputSourcesChangeEvent interface: attribute session] + expected: FAIL + + [XRInputSourcesChangeEvent interface object name] + expected: FAIL + + [XRInputSourceArray interface: iterable] + expected: FAIL + + [XR interface: calling supportsSession(XRSessionMode) on navigator.xr with too few arguments must throw TypeError] + expected: FAIL + + [XRSession interface: attribute onvisibilitychange] + expected: FAIL + + [XRInputSourceArray interface object name] + expected: FAIL + + [XRSession interface: attribute inputSources] + expected: FAIL + + [XRInputSourcesChangeEvent interface object length] + expected: FAIL + + [XRReferenceSpaceEvent interface: attribute referenceSpace] + expected: FAIL + + [XR interface: navigator.xr must inherit property "ondevicechange" with the proper type] + expected: FAIL + + [XRReferenceSpaceEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [XRRay interface object length] + expected: FAIL + + [XRPose interface: attribute emulatedPosition] + expected: FAIL + + [XRInputSourceArray interface: attribute length] + expected: FAIL + + [XRSessionEvent interface: existence and properties of interface object] + expected: FAIL + + [XRInputSource interface: attribute targetRayMode] + expected: FAIL + + [XRBoundedReferenceSpace interface object length] + expected: FAIL + + [XRSessionEvent interface object length] + expected: FAIL + + [XRWebGLLayer interface: operation getNativeFramebufferScaleFactor(XRSession)] + expected: FAIL + + [XRSession interface: attribute onselectend] + expected: FAIL + + [XRInputSourceEvent interface: attribute frame] + expected: FAIL + + [XRRay interface: attribute matrix] + expected: FAIL + + [XRSession interface: attribute onselect] + expected: FAIL + + [XRReferenceSpaceEvent interface object length] + expected: FAIL + + [XRSessionEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [WebGLRenderingContext interface: operation makeXRCompatible()] + expected: FAIL + + [XRInputSourcesChangeEvent interface: attribute added] + expected: FAIL + + [XRSessionEvent interface object name] + expected: FAIL + + [XRWebGLLayer interface: attribute framebufferHeight] + expected: FAIL + + [XRInputSourceEvent interface: attribute inputSource] + expected: FAIL + + [XRBoundedReferenceSpace interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRInputSourceEvent interface object name] + expected: FAIL + + [XRInputSourcesChangeEvent interface: attribute removed] + expected: FAIL + + [XRSessionEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRSession interface: attribute onselectstart] + expected: FAIL + + [XRInputSourceEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [XRSessionEvent interface: attribute session] + expected: FAIL + + [XRReferenceSpaceEvent interface: existence and properties of interface object] + expected: FAIL + + [XRReferenceSpaceEvent interface: attribute transform] + expected: FAIL + + [XRBoundedReferenceSpace interface: existence and properties of interface object] + expected: FAIL + + [XRRay interface: attribute direction] + expected: FAIL + + [XRRay interface object name] + expected: FAIL + + [XRWebGLLayer interface: attribute framebufferWidth] + expected: FAIL + + [XRInputSourceArray interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [XRInputSourceEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [XRRay interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRRay interface: existence and properties of interface object] + expected: FAIL + + [XRBoundedReferenceSpace interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [XRInputSourcesChangeEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRInputSourceArray interface: existence and properties of interface prototype object] + expected: FAIL + + [XRBoundedReferenceSpace interface: attribute boundsGeometry] + expected: FAIL + + [XRWebGLLayer interface: existence and properties of interface object] + expected: FAIL + + [XRWebGLLayer interface: existence and properties of interface prototype object] + expected: FAIL + + [XRReferenceSpaceEvent interface object name] + expected: FAIL + + [XRReferenceSpaceEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [XRInputSource interface: attribute gamepad] + expected: FAIL + + [XRInputSourcesChangeEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [XRInputSourcesChangeEvent interface: existence and properties of interface object] + expected: FAIL + + [XRReferenceSpace interface: attribute onreset] + expected: FAIL + + [XRRenderState interface: attribute inlineVerticalFieldOfView] + expected: FAIL + + [XRRay interface: attribute origin] + expected: FAIL + + [XRSession interface: operation requestReferenceSpace(XRReferenceSpaceType)] + expected: FAIL + + [XRRay interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [XRRay interface: existence and properties of interface prototype object] + expected: FAIL + + [XRInputSourceEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRInputSourceEvent interface: existence and properties of interface object] + expected: FAIL + + [XRInputSourceArray interface object length] + expected: FAIL + + [XRInputSource interface: attribute gripSpace] + expected: FAIL + + [XRInputSourceArray interface: existence and properties of interface object] + expected: FAIL + + [XRReferenceSpaceEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRInputSource interface: attribute profiles] + expected: FAIL + + [XRInputSourcesChangeEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [XR interface: operation requestSession(XRSessionMode, XRSessionInit)] + expected: FAIL + + [XR interface: operation supportsSession(XRSessionMode)] + expected: FAIL + + [XRBoundedReferenceSpace interface object name] + expected: FAIL + + [XRSession interface: attribute visibilityState] + expected: FAIL + + [XRWebGLLayer interface: attribute ignoreDepthValues] + expected: FAIL + + [XRInputSourceArray interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [XRWebGLLayer interface: attribute framebuffer] + expected: FAIL + + [XRInputSourceEvent interface object length] + expected: FAIL + + [XRSession interface: attribute oninputsourceschange] + expected: FAIL + + [XRSessionEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [XRBoundedReferenceSpace interface: existence and properties of interface prototype object] + expected: FAIL + + [XR interface: calling requestSession(XRSessionMode, XRSessionInit) on navigator.xr with too few arguments must throw TypeError] + expected: FAIL + + [XRSession interface: attribute onend] + expected: FAIL + + [XRSession interface: operation end()] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/webGLCanvasContext_create_xrcompatible.https.html.ini b/tests/wpt/metadata/webxr/webGLCanvasContext_create_xrcompatible.https.html.ini new file mode 100644 index 00000000000..217c1739644 --- /dev/null +++ b/tests/wpt/metadata/webxr/webGLCanvasContext_create_xrcompatible.https.html.ini @@ -0,0 +1,4 @@ +[webGLCanvasContext_create_xrcompatible.https.html] + [An XR-compatible webglCanvasContext can be created] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/webGLCanvasContext_makecompatible_contextlost.https.html.ini b/tests/wpt/metadata/webxr/webGLCanvasContext_makecompatible_contextlost.https.html.ini new file mode 100644 index 00000000000..33544b450d3 --- /dev/null +++ b/tests/wpt/metadata/webxr/webGLCanvasContext_makecompatible_contextlost.https.html.ini @@ -0,0 +1,4 @@ +[webGLCanvasContext_makecompatible_contextlost.https.html] + [A lost webglCanvasContext should not be able to set xr compatibility] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/webxr-supported-by-feature-policy.html.ini b/tests/wpt/metadata/webxr/webxr-supported-by-feature-policy.html.ini new file mode 100644 index 00000000000..94a97237aa0 --- /dev/null +++ b/tests/wpt/metadata/webxr/webxr-supported-by-feature-policy.html.ini @@ -0,0 +1,4 @@ +[webxr-supported-by-feature-policy.html] + [document.featurePolicy.features should advertise xr.] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/webxr_availability.http.sub.html.ini b/tests/wpt/metadata/webxr/webxr_availability.http.sub.html.ini new file mode 100644 index 00000000000..bff309dd988 --- /dev/null +++ b/tests/wpt/metadata/webxr/webxr_availability.http.sub.html.ini @@ -0,0 +1,7 @@ +[webxr_availability.http.sub.html] + [Test webxr not available in secure context in insecure context] + expected: FAIL + + [Test webxr not available in insecure context] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrBoundedReferenceSpace_updates.https.html.ini b/tests/wpt/metadata/webxr/xrBoundedReferenceSpace_updates.https.html.ini new file mode 100644 index 00000000000..27f6c5ed7a2 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrBoundedReferenceSpace_updates.https.html.ini @@ -0,0 +1,5 @@ +[xrBoundedReferenceSpace_updates.https.html] + expected: ERROR + ['XRBoundedReferenceSpace updates properly when the changes are applied] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webxr/xrDevice_disconnect_ends.https.html.ini b/tests/wpt/metadata/webxr/xrDevice_disconnect_ends.https.html.ini new file mode 100644 index 00000000000..adfe53ea1b6 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrDevice_disconnect_ends.https.html.ini @@ -0,0 +1,4 @@ +[xrDevice_disconnect_ends.https.html] + [Immersive session ends when device is disconnected] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrDevice_requestSession_immersive_no_gesture.https.html.ini b/tests/wpt/metadata/webxr/xrDevice_requestSession_immersive_no_gesture.https.html.ini new file mode 100644 index 00000000000..75547bd703e --- /dev/null +++ b/tests/wpt/metadata/webxr/xrDevice_requestSession_immersive_no_gesture.https.html.ini @@ -0,0 +1,4 @@ +[xrDevice_requestSession_immersive_no_gesture.https.html] + [Requesting immersive session outside of a user gesture rejects] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrDevice_requestSession_immersive_unsupported.https.html.ini b/tests/wpt/metadata/webxr/xrDevice_requestSession_immersive_unsupported.https.html.ini new file mode 100644 index 00000000000..58db0b825f9 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrDevice_requestSession_immersive_unsupported.https.html.ini @@ -0,0 +1,4 @@ +[xrDevice_requestSession_immersive_unsupported.https.html] + [Requesting an immersive session when unsupported rejects] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrDevice_requestSession_no_mode.https.html.ini b/tests/wpt/metadata/webxr/xrDevice_requestSession_no_mode.https.html.ini new file mode 100644 index 00000000000..a57eb02e024 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrDevice_requestSession_no_mode.https.html.ini @@ -0,0 +1,4 @@ +[xrDevice_requestSession_no_mode.https.html] + [Requesting a session with no mode rejects] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html.ini b/tests/wpt/metadata/webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html.ini new file mode 100644 index 00000000000..b6ba334933d --- /dev/null +++ b/tests/wpt/metadata/webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html.ini @@ -0,0 +1,4 @@ +[xrDevice_requestSession_non_immersive_no_gesture.https.html] + [Requesting non-immersive session outside of a user gesture succeeds] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrDevice_supportsSession_immersive_unsupported.https.html.ini b/tests/wpt/metadata/webxr/xrDevice_supportsSession_immersive_unsupported.https.html.ini new file mode 100644 index 00000000000..18693bd0c8d --- /dev/null +++ b/tests/wpt/metadata/webxr/xrDevice_supportsSession_immersive_unsupported.https.html.ini @@ -0,0 +1,4 @@ +[xrDevice_supportsSession_immersive_unsupported.https.html] + [supportsSession rejects when options not supported] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrFrame_getPose.https.html.ini b/tests/wpt/metadata/webxr/xrFrame_getPose.https.html.ini new file mode 100644 index 00000000000..2dfa1145679 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrFrame_getPose.https.html.ini @@ -0,0 +1,8 @@ +[xrFrame_getPose.https.html] + expected: ERROR + [XRFrame.getPose works for immersive sessions] + expected: TIMEOUT + + [XRFrame.getPose works for non-immersive sessions] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webxr/xrFrame_lifetime.https.html.ini b/tests/wpt/metadata/webxr/xrFrame_lifetime.https.html.ini new file mode 100644 index 00000000000..d49c6a61b71 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrFrame_lifetime.https.html.ini @@ -0,0 +1,4 @@ +[xrFrame_lifetime.https.html] + [XRFrame methods throw exceptions outside of the requestAnimationFrame callback for non-immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrRay_constructor.https.html.ini b/tests/wpt/metadata/webxr/xrRay_constructor.https.html.ini new file mode 100644 index 00000000000..5381acd7bbf --- /dev/null +++ b/tests/wpt/metadata/webxr/xrRay_constructor.https.html.ini @@ -0,0 +1,4 @@ +[xrRay_constructor.https.html] + [XRRay constructors work] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrRay_matrix.https.html.ini b/tests/wpt/metadata/webxr/xrRay_matrix.https.html.ini new file mode 100644 index 00000000000..fd045eaa394 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrRay_matrix.https.html.ini @@ -0,0 +1,4 @@ +[xrRay_matrix.https.html] + [XRRay matrix works] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrRigidTransform_constructor.https.html.ini b/tests/wpt/metadata/webxr/xrRigidTransform_constructor.https.html.ini new file mode 100644 index 00000000000..637e266aaa2 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrRigidTransform_constructor.https.html.ini @@ -0,0 +1,4 @@ +[xrRigidTransform_constructor.https.html] + [XRRigidTransform constructor works] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrSession_cancelAnimationFrame.https.html.ini b/tests/wpt/metadata/webxr/xrSession_cancelAnimationFrame.https.html.ini new file mode 100644 index 00000000000..e43f56bd74e --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_cancelAnimationFrame.https.html.ini @@ -0,0 +1,7 @@ +[xrSession_cancelAnimationFrame.https.html] + [XRSession requestAnimationFrame callbacks can be unregistered with cancelAnimationFrame for non-immersive sessions] + expected: FAIL + + [XRSession requestAnimationFrame callbacks can be unregistered with cancelAnimationFrame for immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html.ini b/tests/wpt/metadata/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html.ini new file mode 100644 index 00000000000..eab756254f7 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html.ini @@ -0,0 +1,8 @@ +[xrSession_cancelAnimationFrame_invalidhandle.https.html] + expected: TIMEOUT + [XRSession cancelAnimationFrame does not have unexpected behavior when given invalid handles on immersive testSession] + expected: TIMEOUT + + [XRSession cancelAnimationFrame does not have unexpected behavior when given invalid handles on non-immersive testSession] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webxr/xrSession_end.https.html.ini b/tests/wpt/metadata/webxr/xrSession_end.https.html.ini new file mode 100644 index 00000000000..99ff6da253a --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_end.https.html.ini @@ -0,0 +1,8 @@ +[xrSession_end.https.html] + expected: TIMEOUT + [end event fires when non-immersive session ends] + expected: NOTRUN + + [end event fires when immersive session ends] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webxr/xrSession_prevent_multiple_exclusive.https.html.ini b/tests/wpt/metadata/webxr/xrSession_prevent_multiple_exclusive.https.html.ini new file mode 100644 index 00000000000..d97e34090f9 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_prevent_multiple_exclusive.https.html.ini @@ -0,0 +1,4 @@ +[xrSession_prevent_multiple_exclusive.https.html] + [Test prevention of multiple simultaneous immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrSession_requestAnimationFrame_callback_calls.https.html.ini b/tests/wpt/metadata/webxr/xrSession_requestAnimationFrame_callback_calls.https.html.ini new file mode 100644 index 00000000000..66ba580e143 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_requestAnimationFrame_callback_calls.https.html.ini @@ -0,0 +1,4 @@ +[xrSession_requestAnimationFrame_callback_calls.https.html] + [XRSession requestAnimationFrame calls the provided callback a non-immersive session] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html.ini b/tests/wpt/metadata/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html.ini new file mode 100644 index 00000000000..5ee23ba9713 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html.ini @@ -0,0 +1,7 @@ +[xrSession_requestAnimationFrame_getViewerPose.https.html] + [XRFrame getViewerPose updates on the next frame for non-immersive sessions] + expected: FAIL + + [XRFrame getViewerPose updates on the next frame for immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrSession_requestReferenceSpace.https.html.ini b/tests/wpt/metadata/webxr/xrSession_requestReferenceSpace.https.html.ini new file mode 100644 index 00000000000..eee7a9c591d --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_requestReferenceSpace.https.html.ini @@ -0,0 +1,7 @@ +[xrSession_requestReferenceSpace.https.html] + [Non-immersive XRSession requestReferenceSpace returns expected objects] + expected: FAIL + + [Immersive XRSession requestReferenceSpace returns expected objects] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrSession_viewer_referenceSpace.https.html.ini b/tests/wpt/metadata/webxr/xrSession_viewer_referenceSpace.https.html.ini new file mode 100644 index 00000000000..b6af7d5f905 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrSession_viewer_referenceSpace.https.html.ini @@ -0,0 +1,7 @@ +[xrSession_viewer_referenceSpace.https.html] + [Identity reference space provides correct poses for immersive sessions] + expected: FAIL + + [Identity reference space provides correct poses for inline sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html.ini b/tests/wpt/metadata/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html.ini new file mode 100644 index 00000000000..6526448d68c --- /dev/null +++ b/tests/wpt/metadata/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html.ini @@ -0,0 +1,7 @@ +[xrStationaryReferenceSpace_floorlevel_updates.https.html] + ['floor-level' XRStationaryReferenceSpace updates properly when the transform changes for immersive sessions] + expected: FAIL + + ['floor-level' XRStationaryReferenceSpace updates properly when the transform changes for non-immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrView_eyes.https.html.ini b/tests/wpt/metadata/webxr/xrView_eyes.https.html.ini new file mode 100644 index 00000000000..57017470684 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrView_eyes.https.html.ini @@ -0,0 +1,4 @@ +[xrView_eyes.https.html] + [XRView.eye is correct for non-immersive sessions] + expected: FAIL + diff --git a/tests/wpt/metadata/webxr/xrWebGLLayer_viewports.https.html.ini b/tests/wpt/metadata/webxr/xrWebGLLayer_viewports.https.html.ini new file mode 100644 index 00000000000..c078a042488 --- /dev/null +++ b/tests/wpt/metadata/webxr/xrWebGLLayer_viewports.https.html.ini @@ -0,0 +1,4 @@ +[xrWebGLLayer_viewports.https.html] + [XRWebGLLayer reports a valid viewports for inline sessions] + expected: FAIL +