tor-browser

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

navigation-timing-worker-extended.js (804B)


      1 importScripts("/resources/testharness.js");
      2 const timings = {}
      3 
      4 const DELAY_ACTIVATION = 500
      5 
      6 self.addEventListener('activate', event => {
      7    event.waitUntil(new Promise(resolve => {
      8        timings.activateWorkerStart = performance.now() + performance.timeOrigin;
      9 
     10        // This gives us enough time to ensure activation would delay fetch handling
     11        step_timeout(resolve, DELAY_ACTIVATION);
     12    }).then(() => timings.activateWorkerEnd = performance.now() + performance.timeOrigin));
     13 })
     14 
     15 self.addEventListener('fetch', event => {
     16    timings.handleFetchEvent = performance.now() + performance.timeOrigin;
     17    event.respondWith(Promise.resolve(new Response(new Blob([`
     18            <script>
     19                parent.postMessage(${JSON.stringify(timings)}, "*")
     20            </script>
     21    `]))));
     22 });