summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/thirdparty/register.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/test/thirdparty/register.html')
-rw-r--r--dom/serviceworkers/test/thirdparty/register.html29
1 files changed, 29 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/thirdparty/register.html b/dom/serviceworkers/test/thirdparty/register.html
new file mode 100644
index 0000000000..b166acb8a4
--- /dev/null
+++ b/dom/serviceworkers/test/thirdparty/register.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<script>
+ function ok(v, msg) {
+ window.parent.postMessage({status: "ok", result: !!v, message: msg}, "*");
+ }
+
+ var isDone = false;
+ function done(reg) {
+ if (!isDone) {
+ ok(reg.waiting || reg.active,
+ "Either active or waiting worker should be available.");
+ window.parent.postMessage({status: "registrationdone"}, "*");
+ isDone = true;
+ }
+ }
+
+ navigator.serviceWorker.register("sw.js", {scope: "."})
+ .then(function(registration) {
+ if (registration.installing) {
+ registration.installing.onstatechange = function(e) {
+ done(registration);
+ };
+ } else {
+ done(registration);
+ }
+ }).catch(function(e) {
+ window.parent.postMessage({status: "registrationfailed"}, "*");
+ });
+</script>