blob: ec5ab3762464f8d8fb2faab26b637349b9b23246 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// A helper frame-script for devtools/client/framework service worker tests.
"use strict";
addMessageListener("devtools:sw-test:register", function (msg) {
content.navigator.serviceWorker.register("serviceworker.js")
.then(swr => {
sendAsyncMessage("devtools:sw-test:register", {success: true});
}, error => {
sendAsyncMessage("devtools:sw-test:register", {success: false});
});
});
addMessageListener("devtools:sw-test:unregister", function (msg) {
content.navigator.serviceWorker.getRegistration().then(swr => {
swr.unregister().then(result => {
sendAsyncMessage("devtools:sw-test:unregister",
{success: result ? true : false});
});
});
});
addMessageListener("devtools:sw-test:iframe:register-and-unregister", function (msg) {
var frame = content.document.createElement("iframe");
frame.addEventListener("load", function onLoad() {
frame.removeEventListener("load", onLoad);
frame.contentWindow.navigator.serviceWorker.register("serviceworker.js")
.then(swr => {
return swr.unregister();
}).then(_ => {
frame.remove();
sendAsyncMessage("devtools:sw-test:iframe:register-and-unregister",
{success: true});
}).catch(error => {
sendAsyncMessage("devtools:sw-test:iframe:register-and-unregister",
{success: false});
});
});
frame.src = "browser_toolbox_options_enabled_serviceworkers_testing.html";
content.document.body.appendChild(frame);
});
|