tor-browser

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

render_state_update_inline.https.html (1496B)


      1 <!DOCTYPE html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="resources/webxr_util.js"></script>
      5 <script src="resources/webxr_test_constants.js"></script>
      6 
      7 <script>
      8 let fakeDeviceInitParams = TRACKED_IMMERSIVE_DEVICE;
      9 
     10 let testParams = function(session, fakeDeviceController, t, sessionObjects) {
     11  return new Promise((resolve, reject) => {
     12    let gl = sessionObjects.gl;
     13    try {
     14      gl.makeXRCompatible().then(() => {
     15        t.step(() => {
     16          let fov = Math.PI;
     17          let near = 0.2;
     18          let far = 0.8;
     19          let layer = new XRWebGLLayer(session, gl);
     20          session.updateRenderState({ inlineVerticalFieldOfView: fov, depthNear: near, depthFar: far, baseLayer: layer });
     21          // The update can only happen between frame boundaries, updateRenderState only queues changes.
     22          assert_not_equals(session.renderState.inlineVerticalFieldOfView, fov);
     23          assert_not_equals(session.renderState.depthNear, near);
     24          assert_not_equals(session.renderState.depthFar, far);
     25          assert_not_equals(session.renderState.baseLayer, layer);
     26        });
     27      });
     28    } catch (err) {
     29      assert_unreached("updateRenderState should not fail when all params are specified");
     30    }
     31    resolve();
     32  });
     33 };
     34 
     35 let testName = "updateRenderState handles appropriately XRRenderStateInit params";
     36 xr_session_promise_test(testName, testParams, fakeDeviceInitParams, 'inline');
     37 
     38 </script>