summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/speculation-rules/prerender/resources/service-worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/speculation-rules/prerender/resources/service-worker.js')
-rw-r--r--testing/web-platform/tests/speculation-rules/prerender/resources/service-worker.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/testing/web-platform/tests/speculation-rules/prerender/resources/service-worker.js b/testing/web-platform/tests/speculation-rules/prerender/resources/service-worker.js
new file mode 100644
index 0000000000..763d55764a
--- /dev/null
+++ b/testing/web-platform/tests/speculation-rules/prerender/resources/service-worker.js
@@ -0,0 +1,11 @@
+self.addEventListener("fetch", async e => {
+ if (e.request.url.endsWith("ping"))
+ e.respondWith(new Response('pong'));
+ else if (e.request.url.endsWith("client")) {
+ e.respondWith((async () => {
+ const client = await clients.get(e.clientId);
+ const clientInfo = client ? {id: e.clientId, visibilityState: client.visibilityState, focused: client.focused} : null;
+ return new Response(JSON.stringify({clientInfo}), {headers: {'Content-Type': 'application/json'}});
+ })());
+ }
+});