dom/workers/test/errorPropagation_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 var seenScopeError;
     6 onerror = function(message, filename, lineno) {
     7   if (!seenScopeError) {
     8     seenScopeError = true;
     9     postMessage({
    10       type: "scope",
    11       data: { message: message, filename: filename, lineno: lineno }
    12     });
    13     return true;
    14   }
    15 };
    17 onmessage = function(event) {
    18   var workerId = parseInt(event.data);
    20   if (workerId > 1) {
    21     var worker = new Worker("errorPropagation_worker.js");
    23     worker.onmessage = function(event) {
    24       postMessage(event.data);
    25     };
    27     var seenWorkerError;
    28     worker.onerror = function(event) {
    29       if (!seenWorkerError) {
    30         seenWorkerError = true;
    31         postMessage({
    32           type: "worker",
    33           data: {
    34             message: event.message,
    35             filename: event.filename,
    36             lineno: event.lineno
    37           }
    38         });
    39         event.preventDefault();
    40       }
    41     };
    43     worker.postMessage(workerId - 1);
    44     return;
    45   }
    47   var interval = setInterval(function() {
    48     throw new Error("expectedError");
    49   }, 100);
    50 };

mercurial