tor-browser

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

background-fetch-inner.https.html (1482B)


      1 <!DOCTYPE html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="utils.js"></script>
      5 <title>Fenced frame content to report the result of background fetch</title>
      6 
      7 <body>
      8  <script>
      9    (async function () {
     10      const [background_fetch_register_key, method] = parseKeylist();
     11      const file = 'background-fetch-inner.https.html.headers';
     12 
     13      navigator.serviceWorker.register("empty-worker.js", { scope: location.href });
     14      const registration = await navigator.serviceWorker.ready;
     15 
     16      const url = new URL(location.href);
     17 
     18      let promise;
     19      switch (method) {
     20        case 'fetch':
     21          promise = registration.backgroundFetch.fetch('test-fetch', file);
     22          break;
     23        case 'get':
     24          promise = registration.backgroundFetch.get('test-fetch');
     25          break;
     26        case 'getIds':
     27          promise = registration.backgroundFetch.getIds();
     28          break
     29        default:
     30          promise = Promise.resolve();
     31      }
     32 
     33      promise
     34        .then(() => {
     35          writeValueToServer(background_fetch_register_key,
     36            `[backgroundFetch.${method}] Unexpectedly started`);
     37        })
     38        .catch(() => {
     39          writeValueToServer(background_fetch_register_key,
     40            `[backgroundFetch.${method}] Failed inside fencedframe as expected`);
     41        })
     42        .finally(() => {
     43          registration.unregister();
     44        });
     45    })();
     46  </script>
     47 </body>