dom/workers/test/errorPropagation_worker.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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