tor-browser

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

file_worker_src.js (1558B)


      1 var mySharedWorker = new SharedWorker("file_spawn_shared_worker.js");
      2 mySharedWorker.port.onmessage = function (ev) {
      3  parent.postMessage(
      4    {
      5      result: "shared-worker-allowed",
      6      href: document.location.href,
      7    },
      8    "*"
      9  );
     10  mySharedWorker.port.close();
     11 };
     12 mySharedWorker.onerror = function (evt) {
     13  evt.preventDefault();
     14  parent.postMessage(
     15    {
     16      result: "shared-worker-blocked",
     17      href: document.location.href,
     18    },
     19    "*"
     20  );
     21  mySharedWorker.port.close();
     22 };
     23 mySharedWorker.port.start();
     24 mySharedWorker.port.postMessage("foo");
     25 
     26 // --------------------------------------------
     27 
     28 let myWorker = new Worker("file_spawn_worker.js");
     29 myWorker.onmessage = function (event) {
     30  parent.postMessage(
     31    {
     32      result: "worker-allowed",
     33      href: document.location.href,
     34    },
     35    "*"
     36  );
     37 };
     38 myWorker.onerror = function (event) {
     39  parent.postMessage(
     40    {
     41      result: "worker-blocked",
     42      href: document.location.href,
     43    },
     44    "*"
     45  );
     46 };
     47 
     48 // --------------------------------------------
     49 
     50 navigator.serviceWorker
     51  .register("file_spawn_service_worker.js")
     52  .then(function (reg) {
     53    // registration worked
     54    reg.unregister().then(function () {
     55      parent.postMessage(
     56        {
     57          result: "service-worker-allowed",
     58          href: document.location.href,
     59        },
     60        "*"
     61      );
     62    });
     63  })
     64  .catch(function (error) {
     65    // registration failed
     66    parent.postMessage(
     67      {
     68        result: "service-worker-blocked",
     69        href: document.location.href,
     70      },
     71      "*"
     72    );
     73  });