Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/resources/skip-waiting-installed-worker.js |
| diff --git a/LayoutTests/http/tests/serviceworker/resources/skip-waiting-installed-worker.js b/LayoutTests/http/tests/serviceworker/resources/skip-waiting-installed-worker.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0be48ee7fb4e5389802b6e2c8d7a1e9c56697538 |
| --- /dev/null |
| +++ b/LayoutTests/http/tests/serviceworker/resources/skip-waiting-installed-worker.js |
| @@ -0,0 +1,33 @@ |
| +self.state = 'starting'; |
| + |
| +self.addEventListener('install', function() { |
| + self.state = 'installing'; |
| + }); |
| + |
| +self.addEventListener('activate', function() { |
| + self.state = 'activating'; |
| + }); |
| + |
| +self.addEventListener('message', function(event) { |
| + var port = event.data.port; |
| + if (self.state !== 'installing') { |
| + port.postMessage('FAIL: Worker should waiting in installed state'); |
|
falken
2014/12/01 02:28:48
nit: "be waiting"?
xiang
2014/12/01 07:13:44
Done.
|
| + return; |
| + } |
| + self.skipWaiting() |
| + .then(function(result) { |
| + if (result !== undefined) { |
| + port.postMessage('FAIL: Promise should be resolved with undefined'); |
| + return; |
| + } |
| + if (self.state !== 'activating') { |
| + port.postMessage( |
| + 'FAIL: Promise should be resolved after worker activated'); |
| + return; |
| + } |
| + port.postMessage('PASS'); |
| + }) |
| + .catch(function(e) { |
| + port.postMessage('FAIL: unexpected exception: ' + e); |
| + }); |
| + }); |