dom/workers/test/test_closeOnGC.html

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:db291da5e818
1 <!--
2 Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/
4 -->
5 <!DOCTYPE HTML>
6 <html>
7 <head>
8 <title>Test for DOM Worker Threads</title>
9 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
11 </head>
12 <body>
13 <p id="display"></p>
14 <div id="content" style="display: none"></div>
15 <pre id="test">
16 <script class="testbody" type="text/javascript">
17
18 var count = 0;
19
20 function testWorker(queryString) {
21 ++count;
22 var worker = new Worker("closeOnGC_worker.js?" + queryString);
23 worker.onmessage = function(event) {
24 is(event.data, "ready");
25 worker = null;
26 }
27
28 var interval = setInterval(function() {
29 var xhr = new XMLHttpRequest();
30 xhr.open("GET", "closeOnGC_server.sjs?" + queryString, false);
31 xhr.send();
32 if (xhr.responseText != "closed") {
33 SpecialPowers.gc();
34 return;
35 }
36 clearInterval(interval);
37 ok(true, "xhr correctly closed");
38 if (--count == 0) {
39 SimpleTest.finish();
40 }
41 }, 500);
42
43 return worker;
44 }
45
46 testWorker("white");
47 var worker = testWorker("gray");
48 worker.onerror = function() {};
49 worker.onerror.foo = worker;
50 worker = null;
51
52 SimpleTest.waitForExplicitFinish();
53
54 </script>
55 </pre>
56 </body>
57 </html>

mercurial