Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/get-state-worker.js |
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/get-state-worker.js b/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/get-state-worker.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..93ee461c10d9bb1c2cff5f84ebb314844b89f3e8 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/resources/get-state-worker.js |
@@ -0,0 +1,19 @@ |
+// This worker listens for commands from the page and messages back |
+// the result. |
+ |
+function handle(message) { |
+ const np = self.registration.navigationPreload; |
+ switch (message) { |
+ case 'getState': |
+ return np.getState(); |
+ case 'enable': |
+ return np.enable(); |
+ case 'disable': |
+ return np.disable(); |
+ } |
+ return Promise.reject('bad message'); |
+} |
+ |
+self.addEventListener('message', e => { |
+ e.waitUntil(handle(e.data).then(result => e.source.postMessage(result))); |
+ }); |