summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/serviceworkers/thirdparty/register.html
blob: 59b8c5c41ad59d5ac700c60521bee7fa9f4da529 (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
<!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);
      }
    });
</script>