tor-browser

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

serviceWorker-dedicated-worker-inner.html (948B)


      1 <!DOCTYPE html>
      2 <script src="utils.js"></script>
      3 
      4 <body>
      5  <script type="module">
      6    // Ask the worker to do a fetch request that will be handled by the service
      7    // worker via postMessage.
      8    const checkIfServiceWorkerCanControlWebWorker = async () => {
      9      const dedicated_worker = new Worker('serviceWorker-dedicated-worker.js');
     10      return new Promise((resolve, reject) => {
     11        dedicated_worker.addEventListener('message', e => {
     12          resolve(e.data)
     13        });
     14        dedicated_worker.postMessage('fetch');
     15      })
     16    }
     17 
     18    const [key] = parseKeylist();
     19    const url = new URL(location.href);
     20    if (url.searchParams.get('useServiceWorkerInFencedFrame')) {
     21      await navigator.serviceWorker.register('serviceWorker-dedicated-worker-sw.js');
     22      await navigator.serviceWorker.ready;
     23    }
     24 
     25    const result = await checkIfServiceWorkerCanControlWebWorker();
     26    writeValueToServer(key, result);
     27  </script>
     28 </body>