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 });