Bug 462525 - username truncation code is unnecessarily duplicated in nsLoginManagerP...
[wine-gecko.git] / dom / src / threads / test / test_longThread.html
blobf073eaa8ec7728484f632a16c57ccd0c2a8eddb3
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 Tests of DOM Worker Threads (Bug 437152)
5 -->
6 <head>
7 <title>Test for DOM Worker Threads (Bug 437152)</title>
8 <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
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 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=437152">DOM Worker Threads Bug 437152</a>
14 <p id="display"></p>
15 <div id="content" style="display: none">
17 </div>
18 <pre id="test">
19 <script class="testbody" type="text/javascript">
21 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
23 var prefs = Components.classes["@mozilla.org/preferences-service;1"].
24 getService(Components.interfaces.nsIPrefBranch);
25 //prefs.setIntPref("javascript.options.gczeal", 2);
27 var workerScript =
28 "function messageListener(message, source) { " +
29 " switch (message) { " +
30 " case 'start': " +
31 " /* do a ton of stuff! */ " +
32 " for (var i = 0; i < 10000000; i++) { } " +
33 " dump('done!\\n'); " +
34 " /* pass message to source */ " +
35 " source.postMessage('done'); " +
36 " break; " +
37 " default: " +
38 " throw 'Bad message: ' + message; " +
39 " } " +
40 "} " +
41 "";
43 var pool = navigator.newWorkerPool();
44 ok(pool, "Couldn't get worker pool");
46 const numThreads = 10;
47 var doneThreads = 0;
49 pool.messageListener = function(message, source) {
50 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
51 switch (message) {
52 case "done":
53 if (++doneThreads == numThreads) {
54 prefs.setIntPref("javascript.options.gczeal", 0);
55 SimpleTest.finish();
57 break;
58 default:
59 ok(false, "Unexpected message");
60 prefs.setIntPref("javascript.options.gczeal", 0);
61 SimpleTest.finish();
65 pool.errorListener = function(error, source) {
66 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
67 ok(false, "Worker had an error");
68 prefs.setIntPref("javascript.options.gczeal", 0);
69 SimpleTest.finish();
72 for (var i = 0; i < numThreads; i++) {
73 var worker = pool.createWorker(workerScript);
74 worker.postMessage("start");
77 SimpleTest.waitForExplicitFinish();
78 </script>
79 </pre>
80 </body>
81 </html>