tor-browser

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

skip-waiting-installed-worker.js (995B)


      1 var saw_activate_event = false
      2 
      3 self.addEventListener('activate', function() {
      4    saw_activate_event = true;
      5  });
      6 
      7 self.addEventListener('message', function(event) {
      8    var port = event.data.port;
      9    event.waitUntil(self.skipWaiting()
     10      .then(function(result) {
     11          if (result !== undefined) {
     12            port.postMessage('FAIL: Promise should be resolved with undefined');
     13            return;
     14          }
     15 
     16          if (!saw_activate_event) {
     17            port.postMessage(
     18                'FAIL: Promise should be resolved after activate event is dispatched');
     19            return;
     20          }
     21 
     22          if (self.registration.active.state !== 'activating') {
     23            port.postMessage(
     24                'FAIL: Promise should be resolved before ServiceWorker#state is set to activated');
     25            return;
     26          }
     27 
     28          port.postMessage('PASS');
     29        })
     30      .catch(function(e) {
     31          port.postMessage('FAIL: unexpected exception: ' + e);
     32        }));
     33  });