summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/thirdparty/sw.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/test/thirdparty/sw.js')
-rw-r--r--dom/serviceworkers/test/thirdparty/sw.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/thirdparty/sw.js b/dom/serviceworkers/test/thirdparty/sw.js
new file mode 100644
index 0000000000..ed91f333bf
--- /dev/null
+++ b/dom/serviceworkers/test/thirdparty/sw.js
@@ -0,0 +1,32 @@
+self.addEventListener("fetch", function (event) {
+ dump("fetch " + event.request.url + "\n");
+ if (event.request.url.includes("iframe2.html")) {
+ var body =
+ "<script>" +
+ "window.parent.postMessage({" +
+ "source: 'iframe', status: 'swresponse'" +
+ "}, '*');" +
+ "var w = new Worker('worker.js');" +
+ "w.onmessage = function(evt) {" +
+ "window.parent.postMessage({" +
+ "source: 'worker'," +
+ "status: evt.data," +
+ "}, '*');" +
+ "};" +
+ "</script>";
+ event.respondWith(
+ new Response(body, {
+ headers: { "Content-Type": "text/html" },
+ })
+ );
+ return;
+ }
+ if (event.request.url.includes("worker.js")) {
+ var body = "self.postMessage('worker-swresponse');";
+ event.respondWith(
+ new Response(body, {
+ headers: { "Content-Type": "application/javascript" },
+ })
+ );
+ }
+});