| 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..12fdb47ba725c59f6aca71e1501c480a00e38ddd
|
| --- /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 be waiting in installed state');
|
| + 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);
|
| + });
|
| + });
|
|
|