tor-browser

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

xrWebGLBinding_createQuadLayer.https.html (1834B)


      1 <!doctype html>
      2 <title>XRWebGLBinding::createQuadLayer</title>
      3 <link rel="help" href="https://immersive-web.github.io/layers/#dom-xrwebglbinding-createquadlayer">
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 <script src="../resources/webxr_util.js"></script>
      7 <script src="../resources/webxr_test_constants.js"></script>
      8 <script src="./xr_layer_promise_test.js"></script>
      9 
     10 <canvas id="webgl-canvas"></canvas>
     11 
     12 <script>
     13    function testCreateQuadLayer(xrSession, deviceController, t, { gl, xrBinding, xrSpace }) {
     14        return new Promise((resolve, reject) => {
     15            const valid_init = {
     16                space: xrSpace,
     17                viewPixelWidth: 1024,
     18                viewPixelHeight: 1024
     19            };
     20            // Width and height must be greater than 0.
     21            t.step(() => {
     22                let invalid_width = Object.assign({}, valid_init, { width: 0 });
     23                assert_throws_js(TypeError, () => xrBinding.createQuadLayer(invalid_width), "width is 0");
     24            });
     25 
     26            t.step(() => {
     27                let invalid_height = Object.assign({}, valid_init, { height: 0 });
     28                assert_throws_js(TypeError, () => xrBinding.createQuadLayer(invalid_height), "height is 0");
     29            });
     30 
     31            // Test that a valid init works.
     32            t.step(() => {
     33                const layer = xrBinding.createQuadLayer(valid_init);
     34                assert_true(layer instanceof XRQuadLayer, "Valid init parameters must create an XRQuadLayer");
     35                resolve();
     36            });
     37        });
     38    }
     39 
     40    xr_layer_promise_test("Ensure XrWebGLBinding::createQuadLayer throws the appropriate errors.",
     41        testCreateQuadLayer, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', { requiredFeatures: ['layers'] });
     42 
     43 </script>