| Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/install-worker-helper.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/install-worker-helper.html b/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/install-worker-helper.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1de9baffb756e809e3b6378d58cb02ff4aeb94a3
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/install-worker-helper.html
|
| @@ -0,0 +1,22 @@
|
| +<!DOCTYPE html>
|
| +<script src="test-helpers.js"></script>
|
| +<script>
|
| +window.addEventListener('message', event => {
|
| + var port = event.ports[0];
|
| + navigator.serviceWorker.getRegistration(event.data.options.scope)
|
| + .then(r => {
|
| + if (r) return r.unregister();
|
| + })
|
| + .then(() => navigator.serviceWorker.register(event.data.worker,
|
| + event.data.options))
|
| + .then(r => new Promise(resolve => {
|
| + window.addEventListener('unload', () => r.unregister());
|
| + var worker = r.installing;
|
| + worker.addEventListener('statechange', () => {
|
| + if (worker.state === 'activated') resolve();
|
| + });
|
| + }))
|
| + .then(() => port.postMessage('success'))
|
| + .catch((e) => port.postMessage('failure:' + e));
|
| + });
|
| +</script>
|
|
|