tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

errorwarning_worker.js (1037B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 function errorHandler() {
      7  postMessage({ type: "error" });
      8 }
      9 
     10 onmessage = function (event) {
     11  if (event.data.errors) {
     12    try {
     13      // This is an error:
     14      postMessage({ type: "ignore", value: b.aaa });
     15    } catch (e) {
     16      errorHandler();
     17    }
     18  } else {
     19    var a = {};
     20    // This is a warning:
     21    postMessage({ type: "ignore", value: a.foo });
     22  }
     23 
     24  if (event.data.loop != 0) {
     25    var worker = new Worker("errorwarning_worker.js");
     26    worker.onerror = errorHandler;
     27    worker.postMessage({
     28      loop: event.data.loop - 1,
     29      errors: event.data.errors,
     30    });
     31 
     32    worker.onmessage = function (e) {
     33      postMessage(e.data);
     34    };
     35  } else {
     36    postMessage({ type: "finish" });
     37  }
     38 };
     39 
     40 onerror = errorHandler;
     41 // eslint-disable-next-line no-self-assign
     42 onerror = onerror;
     43 // eslint-disable-next-line no-self-compare
     44 if (!onerror || onerror != onerror) {
     45  throw "onerror wasn't set properly";
     46 }