tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

xrView_eyes.https.html (1569B)


      1 <!DOCTYPE html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="resources/webxr_test_constants.js"></script>
      5 <script src="resources/webxr_util.js"></script>
      6 <script src="resources/webxr_test_asserts.js"></script>
      7 
      8 <script>
      9 
     10 let immersiveTestName = "XRView.eye is correct for immersive sessions";
     11 let nonImmersiveTestName = "XRView.eye is correct for non-immersive sessions";
     12 
     13 let fakeDeviceInitParams = TRACKED_IMMERSIVE_DEVICE;
     14 
     15 let testFunction = function(session, fakeDeviceController, t) {
     16  return session.requestReferenceSpace('viewer')
     17      .then((space) => new Promise((resolve) => {
     18    function onFrame(time, xrFrame) {
     19      let viewer_pose = xrFrame.getViewerPose(space);
     20 
     21      if (session.mode == 'inline') {
     22        // An inline session should report a single view with an eye type "none".
     23        assert_equals(viewer_pose.views.length, 1);
     24        assert_equals(viewer_pose.views[0].eye, "none");
     25      } else {
     26        // An immersive session should report a two views with a left and right eye.
     27        assert_equals(viewer_pose.views.length, 2);
     28        assert_equals(viewer_pose.views[0].eye, "left");
     29        assert_equals(viewer_pose.views[1].eye, "right");
     30      }
     31 
     32      // Finished test.
     33      resolve();
     34    }
     35 
     36    session.requestAnimationFrame(onFrame);
     37  }));
     38 };
     39 
     40 xr_session_promise_test(immersiveTestName, testFunction,
     41  fakeDeviceInitParams, 'immersive-vr');
     42 xr_session_promise_test(nonImmersiveTestName, testFunction,
     43  fakeDeviceInitParams, 'inline');
     44 
     45 </script>