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"
+                );
+              }));
             });
           }));
       });