dom/workers/test/simpleThread_worker.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

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 "use strict";
     7 function messageListener(event) {
     8   var exception;
     9   try {
    10     event.bubbles = true;
    11   }
    12   catch(e) {
    13     exception = e;
    14   }
    16   if (!(exception instanceof TypeError)) {
    17     throw exception;
    18   }
    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 }
    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 }
    53 addEventListener("message", { handleEvent: messageListener });

mercurial