Closed Bug 1581791 Opened 11 months ago Closed 10 months ago

[wpt-sync] Sync PR 19119 - Block Xr.DeviceChange event without FeaturePolicy and add tests

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox71 fixed)

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 19119 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/19119
Details from upstream follow.

Alex Cooper <alcooper@chromium.org> wrote:

Block Xr.DeviceChange event without FeaturePolicy and add tests

While both requestSession and supportsSession reject without the WebXr
Feature Policy being enabled, DeviceChange events were still firing.
This makes it so that those events do not fire unless the feature policy
is set. Given that this is a decision based on events from the system,
and not user, if the FeaturePolicy is not set, no reporting is done.

This also adds a web platform test with the expected behavior of all of
the xr functions when the feature policy is not enabled.

Bug:1003842
Change-Id: Ie9ae16b5c1d863b730e556b511c024bae8a4503c
Reviewed-on: https://chromium-review.googlesource.com/1808800
WPT-Export-Revision: 9b33feca23330efd3ef1a3f50a262b7ed9dd7a79

Ran 73 tests and 2[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview], 108[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt] subtests
OK     : 2[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview], 4[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
PASS   : 2[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
FAIL   : 72[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt], 2[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
ERROR  : 69[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
NOTRUN : 34[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]

Existing tests that now have a worse result (e.g. they used to PASS and now FAIL):
/webxr/webGLCanvasContext_create_xrcompatible.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/webGLCanvasContext_makecompatible_contextlost.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_requestSession_immersive_no_gesture.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_requestSession_immersive_unsupported.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_requestSession_no_mode.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_supportsSession_immersive.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_supportsSession_immersive_unsupported.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrDevice_supportsSession_non_immersive.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrSession_features_deviceSupport.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrSession_prevent_multiple_exclusive.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrSession_viewer_availability.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/xrWebGLLayer_constructor.https.html: ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]

New tests that have failures or other problems:
/webxr/webxr-supported-by-feature-policy.html
    document.featurePolicy.features should advertise xr-spatial-tracking.: FAIL[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
/webxr/webxr_feature_policy.https.html: SKIP[android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview], ERROR[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
    Validate devicechange event behavior without xr-spatial-tracking policy: NOTRUN[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
    Validate isSessionSupported behavior without xr-spatial-tracking policy: FAIL[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]
    Validate requestSession behavior without xr-spatial-tracking policy: NOTRUN[linux64-asan-opt,linux64-debug,linux64-opt,linux64-qr-debug,linux64-qr-opt]

Tests that are disabled for instability:
/webxr/events_input_source_recreation.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/events_input_sources_change.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/events_referenceSpace_reset.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/events_session_select.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/events_session_select_subframe.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/exclusive_requestFrame_nolayer.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/getInputPose_handedness.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/getInputPose_pointer.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/navigator_xr_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/render_state_vertical_fov_immersive.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/render_state_vertical_fov_inline.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/webGLCanvasContext_create_xrcompatible.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/webGLCanvasContext_makecompatible_contextlost.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/webxr-supported-by-feature-policy.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/webxr_availability.http.sub.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrBoundedReferenceSpace_updates.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_disconnect_ends.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_immersive.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_immersive_no_gesture.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_immersive_unsupported.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_no_mode.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_non_immersive_no_gesture.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_optionalFeatures.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_supportsSession_immersive.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_supportsSession_immersive_unsupported.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrDevice_supportsSession_non_immersive.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrFrame_getPose.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrFrame_lifetime.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrFrame_session_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrInputSource_add_remove.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrInputSource_gamepad_disconnect.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrInputSource_gamepad_input_registered.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrInputSource_profiles.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrInputSource_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrPose_transform_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrReferenceSpace_originOffset.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrReferenceSpace_originOffsetBounded.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrRigidTransform_constructor.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrRigidTransform_inverse.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrRigidTransform_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_cancelAnimationFrame.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_cancelAnimationFrame_invalidhandle.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_end.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_features_deviceSupport.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_input_events_end.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_prevent_multiple_exclusive.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_requestAnimationFrame_callback_calls.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_requestAnimationFrame_data_valid.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_requestAnimationFrame_timestamp.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_requestReferenceSpace.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_requestReferenceSpace_features.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_viewer_availability.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_viewer_referenceSpace.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrSession_visibilityState.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrStationaryReferenceSpace_floorlevel_updates.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrView_eyes.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrView_match.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrView_oneframeupdate.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrView_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrViewerPose_views_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrViewport_valid.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrWebGLLayer_constructor.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrWebGLLayer_framebuffer_draw.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrWebGLLayer_framebuffer_sameObject.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrWebGLLayer_framebuffer_scale.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrWebGLLayer_opaque_framebuffer.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
/webxr/xrWebGLLayer_viewports.https.html: [android-em-7.0-x86_64-debug-geckoview,android-em-7.0-x86_64-opt-geckoview]
Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/0d34ec0cb3b4
[wpt PR 19119] - Update xr feature policy name and behavior to match spec, a=testonly
https://hg.mozilla.org/integration/mozilla-inbound/rev/825d060e34af
[wpt PR 19119] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
You need to log in before you can comment on or make changes to this bug.