gecko-dev/dom/workers/test/test_shutdownCheck.xul
Brian Grinstead 911776d674 Bug 1544322 - Part 3 - Remove the [type] attribute for multiline <script> tags loading files in chrome://mochikit/content/ r=bzbarsky
This is an autogenerated commit to handle scripts loading mochitest harness files, in
the case where the script src is on the line below the script tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 3` argument.

Differential Revision: https://phabricator.services.mozilla.com/D27458

--HG--
extra : moz-landing-system : lando
2019-04-16 03:59:25 +00:00

63 lines
1.5 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
<window title="Worker shutdown check"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<!-- test results are displayed in the html:body -->
<body xmlns="http://www.w3.org/1999/xhtml">
</body>
<!-- test code goes here -->
<script type="application/javascript">
<![CDATA[
SimpleTest.waitForExplicitFinish()
const URL = "worker_shutdownCheck.js";
function checkWorker() {
const wdm = Cc["@mozilla.org/dom/workers/workerdebuggermanager;1"].
getService(Ci.nsIWorkerDebuggerManager);
let e = wdm.getWorkerDebuggerEnumerator();
while (e.hasMoreElements()) {
let dbg = e.getNext().QueryInterface(Ci.nsIWorkerDebugger);
if (dbg.url == URL) {
return true;
}
}
return false;
}
new Promise(resolve => {
var w = new Worker(URL);
ok(checkWorker(), "We have the worker");
w.onmessage = () => { resolve(); }
}).then(() => {
info("Waiting...");
// We don't know if the worker thread is able to shutdown when calling
// CC/GC. Better to check again in case.
function checkGC() {
Cu.forceCC();
Cu.forceGC();
if (!checkWorker()) {
ok(true, "We don't have the worker");
SimpleTest.finish();
return;
}
setTimeout(checkGC, 200);
}
checkGC();
});
]]>
</script>
</window>