Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/abort-when-responded-worker.js |
| diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/abort-when-responded-worker.js b/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/abort-when-responded-worker.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..27c53cd78af59602c253b50f8a8fd741af06ef9f |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/abort-when-responded-worker.js |
| @@ -0,0 +1,19 @@ |
| +self.addEventListener('activate', event => { |
| + event.waitUntil( |
| + self.registration.navigationPreload.enable()); |
| + }); |
| + |
| +var preload_resolve; |
| +var preload_promise = new Promise(r => { preload_resolve = r; }); |
| + |
| +self.addEventListener('fetch', event => { |
| + event.waitUntil(event.preloadResponse.then( |
| + r => preload_resolve('RESOLVED'), |
| + e => preload_resolve('REJECTED: ' + e.toString()))); |
|
falken
2017/01/19 01:27:37
Does the spec require this? It seems reasonable fo
|
| + event.respondWith(new Response('OK')); |
| + }); |
| + |
| +self.addEventListener('message', event => { |
| + event.waitUntil( |
| + preload_promise.then(result => event.source.postMessage(result))); |
| + }); |