tor-browser

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

nested_worker_wrapper.js (886B)


      1 // Hold the nested worker alive until this parent worker closes.
      2 var worker;
      3 
      4 var searchParams = new URL(location.href).searchParams;
      5 
      6 addEventListener("message", function nestedWorkerWrapperOnMessage(evt) {
      7  removeEventListener("message", nestedWorkerWrapperOnMessage);
      8 
      9  var mode = searchParams.get("mode");
     10  var script = searchParams.get("script");
     11  worker = new Worker(`worker_wrapper.js?mode=${mode}&script=${script}`);
     12 
     13  worker.addEventListener("message", function (evt) {
     14    self.postMessage({
     15      context: "NestedWorker",
     16      type: evt.data.type,
     17      status: evt.data.status,
     18      msg: evt.data.msg,
     19    });
     20  });
     21 
     22  worker.addEventListener("error", function (evt) {
     23    self.postMessage({
     24      context: "NestedWorker",
     25      type: "status",
     26      status: false,
     27      msg: "Nested worker error: " + evt.message,
     28    });
     29  });
     30 
     31  worker.postMessage(evt.data);
     32 });