Changed the WebXR required/optional features to take an array of 'any'
Bug: 996949
Change-Id: Ifd918931d1c4a8ad976655230efb1f5e70f53956
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1766601
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#690049}
diff --git a/webxr/xrDevice_requestSession_optionalFeatures.https.html b/webxr/xrDevice_requestSession_optionalFeatures.https.html
index c274f4f..0071b81 100644
--- a/webxr/xrDevice_requestSession_optionalFeatures.https.html
+++ b/webxr/xrDevice_requestSession_optionalFeatures.https.html
@@ -19,9 +19,15 @@
}, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {requiredFeatures: [], optionalFeatures: []});
xr_session_promise_test(
- "Tests requestSession ignores unknown optionalFeatures",
+ "Tests requestSession ignores unknown strings in optionalFeatures",
(session) => {
assert_not_equals(session, null);
}, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {optionalFeatures: ['unicorns']});
+
+ xr_session_promise_test(
+ "Tests requestSession ignores unknown objects in optionalFeatures",
+ (session) => {
+ assert_not_equals(session, null);
+ }, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {optionalFeatures: [{ unicorns: "please" }]});
</script>
</body>
diff --git a/webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html b/webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html
index 02b26c0..9fa8c31 100644
--- a/webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html
+++ b/webxr/xrDevice_requestSession_requiredFeatures_unknown.https.html
@@ -18,7 +18,15 @@
navigator.xr.requestSession('immersive-vr',
{requiredFeatures: ['undefined-unicorns']}),
"unexpected requestSession success"
- ))
+ ).then(() => {
+ return promise_rejects(
+ t,
+ "NotSupportedError",
+ navigator.xr.requestSession('immersive-vr',
+ {requiredFeatures: [{unicorns: "please"}]}),
+ "unexpected requestSession success with unknown object"
+ );
+ }));
});
}));
});