dom/workers/test/simpleThread_worker.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:6888b824cd18
1 /**
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
4 */
5 "use strict";
6
7 function messageListener(event) {
8 var exception;
9 try {
10 event.bubbles = true;
11 }
12 catch(e) {
13 exception = e;
14 }
15
16 if (!(exception instanceof TypeError)) {
17 throw exception;
18 }
19
20 switch (event.data) {
21 case "no-op":
22 break;
23 case "components":
24 postMessage(Components.toString());
25 break;
26 case "start":
27 for (var i = 0; i < 1000; i++) { }
28 postMessage("started");
29 break;
30 case "stop":
31 self.postMessage('no-op');
32 postMessage("stopped");
33 self.removeEventListener("message", messageListener, false);
34 break;
35 default:
36 throw 'Bad message: ' + event.data;
37 }
38 }
39
40 if (!("DedicatedWorkerGlobalScope" in self)) {
41 throw new Error("DedicatedWorkerGlobalScope should be visible!");
42 }
43 if (!(self instanceof DedicatedWorkerGlobalScope)) {
44 throw new Error("The global should be a SharedWorkerGlobalScope!");
45 }
46 if (!(self instanceof WorkerGlobalScope)) {
47 throw new Error("The global should be a WorkerGlobalScope!");
48 }
49 if ("SharedWorkerGlobalScope" in self) {
50 throw new Error("SharedWorkerGlobalScope should not be visible!");
51 }
52
53 addEventListener("message", { handleEvent: messageListener });

mercurial