Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
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 <!--
8 Tests of DOM Worker Threads
9 -->
10 <head>
11 <title>Test for DOM Worker Threads Recursion</title>
12 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
13 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
14 </head>
15 <body>
16 <p id="display"></p>
17 <div id="content" style="display: none">
19 </div>
20 <pre id="test">
21 <script class="testbody" type="text/javascript">
23 // Intermittently triggers one assertion on Mac (bug 848098).
24 if (navigator.platform.indexOf("Mac") == 0) {
25 SimpleTest.expectAssertions(0, 1);
26 }
28 const testCount = 2;
29 var errorCount = 0;
31 var worker = new Worker("recursion_worker.js");
33 function done() {
34 worker.terminate();
35 SimpleTest.finish();
36 }
38 worker.onmessage = function(event) {
39 if (event.data == "Done") {
40 ok(true, "correct message");
41 }
42 else {
43 ok(false, "Bad message: " + event.data);
44 }
45 done();
46 }
48 worker.onerror = function(event) {
49 event.preventDefault();
50 if (event.message == "InternalError: too much recursion") {
51 ok(true, "got correct error message");
52 ++errorCount;
53 }
54 else {
55 ok(false, "got bad error message: " + event.message);
56 done();
57 }
58 }
60 for (var i = 0; i < testCount; i++) {
61 worker.postMessage("");
62 }
64 SimpleTest.waitForExplicitFinish();
66 </script>
67 </pre>
68 </body>
69 </html>