tor-browser

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

background-fetch-sw.js (1023B)


      1 self.addEventListener('install', e => e.waitUntil(skipWaiting()));
      2 self.addEventListener('activate', e => e.waitUntil(clients.claim()));
      3 
      4 self.addEventListener('message', async e => {
      5  const method = e.data;
      6 
      7  let promise;
      8  switch (method) {
      9    case 'fetch':
     10      promise = self.registration.backgroundFetch.fetch(
     11          'test-fetch', ['background-fetch-inner.https.html.headers'],
     12          {title: 'Background Fetch'});
     13      break;
     14    case 'get':
     15      promise = self.registration.backgroundFetch.get('test-fetch')
     16      break;
     17    case 'getIds':
     18      promise = registration.backgroundFetch.getIds();
     19      break;
     20    default:
     21      promise = Promise.resolve();
     22      break;
     23  }
     24 
     25  const message =
     26      await promise
     27          .then(() => {
     28            return `[backgroundFetch.${method}] Unexpectedly started`;
     29          })
     30          .catch((e) => {
     31            return `[backgroundFetch.${
     32                method}] Failed inside fencedframe as expected`;
     33          });
     34 
     35  e.source.postMessage(message);
     36 });