tor-browser

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

test_offscreencanvas_sharedworker.html (1201B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4 <title>WebGL in OffscreenCanvas</title>
      5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6 <link rel="stylesheet" href="/tests/SimpleTest/test.css">
      7 </head>
      8 <body>
      9 <canvas id="c" width="64" height="64"></canvas>
     10 <script>
     11 
     12 SimpleTest.waitForExplicitFinish();
     13 
     14 function runTest() {
     15 
     16  var htmlCanvas = document.getElementById("c");
     17  var worker = new SharedWorker("offscreencanvas.js");
     18 
     19  ok(htmlCanvas, "Should have HTML canvas element");
     20  ok(worker, "Web worker successfully created");
     21 
     22  ok(htmlCanvas.transferControlToOffscreen, "HTMLCanvasElement has transferControlToOffscreen function");
     23 
     24  var offscreenCanvas = htmlCanvas.transferControlToOffscreen();
     25  ok(offscreenCanvas, "Expected transferControlToOffscreen to succeed");
     26 
     27  worker.port.start();
     28 
     29  // We don't support transferring OffscreenCanvas via shared worker.
     30  SimpleTest.doesThrow(
     31    function() {
     32      worker.port.postMessage({test: 'webgl', canvas: offscreenCanvas}, [offscreenCanvas]);
     33    },
     34    "OffscreenCanvas cannot transfer to shared worker"
     35  );
     36 
     37  SimpleTest.finish();
     38 }
     39 
     40 SpecialPowers.pushPrefEnv({'set': [
     41  ['webgl.force-enabled', true],
     42 ]}, runTest);
     43 
     44 </script>
     45 </body>
     46 </html>