1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/workers/test/simpleThread_worker.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,53 @@ 1.4 +/** 1.5 + * Any copyright is dedicated to the Public Domain. 1.6 + * http://creativecommons.org/publicdomain/zero/1.0/ 1.7 + */ 1.8 +"use strict"; 1.9 + 1.10 +function messageListener(event) { 1.11 + var exception; 1.12 + try { 1.13 + event.bubbles = true; 1.14 + } 1.15 + catch(e) { 1.16 + exception = e; 1.17 + } 1.18 + 1.19 + if (!(exception instanceof TypeError)) { 1.20 + throw exception; 1.21 + } 1.22 + 1.23 + switch (event.data) { 1.24 + case "no-op": 1.25 + break; 1.26 + case "components": 1.27 + postMessage(Components.toString()); 1.28 + break; 1.29 + case "start": 1.30 + for (var i = 0; i < 1000; i++) { } 1.31 + postMessage("started"); 1.32 + break; 1.33 + case "stop": 1.34 + self.postMessage('no-op'); 1.35 + postMessage("stopped"); 1.36 + self.removeEventListener("message", messageListener, false); 1.37 + break; 1.38 + default: 1.39 + throw 'Bad message: ' + event.data; 1.40 + } 1.41 +} 1.42 + 1.43 +if (!("DedicatedWorkerGlobalScope" in self)) { 1.44 + throw new Error("DedicatedWorkerGlobalScope should be visible!"); 1.45 +} 1.46 +if (!(self instanceof DedicatedWorkerGlobalScope)) { 1.47 + throw new Error("The global should be a SharedWorkerGlobalScope!"); 1.48 +} 1.49 +if (!(self instanceof WorkerGlobalScope)) { 1.50 + throw new Error("The global should be a WorkerGlobalScope!"); 1.51 +} 1.52 +if ("SharedWorkerGlobalScope" in self) { 1.53 + throw new Error("SharedWorkerGlobalScope should not be visible!"); 1.54 +} 1.55 + 1.56 +addEventListener("message", { handleEvent: messageListener });