<!DOCTYPE HTML> <html> <head> <title>WebGL in OffscreenCanvas</title> <script src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" href="/tests/SimpleTest/test.css"> </head> <body> <script> SimpleTest.waitForExplicitFinish(); function runTest() { var registration; window.onmessage = function(evt) { var msg = evt.data || {}; if (msg.type == "test") { ok(msg.result, msg.name); } if (msg.type == "finish") { registration.unregister().then(function() { SimpleTest.finish(); }); } } navigator.serviceWorker.register('offscreencanvas.js', { scope: "."}) // Wait until the service worker is active. .then(function(swr) { registration = swr; return navigator.serviceWorker.ready; }) // ...and then show the interface for the commands once it's ready. .then(function() { iframe = document.createElement("iframe"); iframe.setAttribute('src', "offscreencanvas_serviceworker_inner.html"); document.body.appendChild(iframe); }) } SpecialPowers.pushPrefEnv({'set': [ ['gfx.offscreencanvas.enabled', true], ['webgl.force-enabled', true], ["dom.serviceWorkers.exemptFromPerDomainMax", true], ["dom.serviceWorkers.enabled", true], ["dom.serviceWorkers.testing.enabled", true] ]}, runTest); </script> </body> </html>