<!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <!DOCTYPE HTML> <html> <head> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"> </script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> </head> <body> <script type="text/javascript"> SimpleTest.waitForExplicitFinish(); const enabledPref = "dom.workers.enabled"; is(SpecialPowers.getBoolPref(enabledPref), true, "Workers should be enabled."); SpecialPowers.pushPrefEnv({"set": [[enabledPref, false]]}, test1); function test1() { ok(!("Worker" in window), "Worker constructor should not be available."); var exception; try { var worker = new Worker("workersDisabled_worker.js"); } catch(e) { exception = e; } ok(exception, "Shouldn't be able to make a worker."); SpecialPowers.pushPrefEnv({"set": [[enabledPref, true]]}, test2); } function test2() { ok(("Worker" in window), "Worker constructor should be available."); const message = "Hi"; var worker = new Worker("workersDisabled_worker.js"); worker.onmessage = function(event) { is(event.data, message, "Good message."); SimpleTest.finish(); } worker.postMessage(message); } </script> </body> </html>