summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/worker_update.js
blob: 8935cedc52a6409546dc9e0c85d56d5a1ae9b056 (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
// For now this test only calls update to verify that our registration
// job queueing works properly when called from the worker thread. We should
// test actual update scenarios with a SJS test.
onmessage = function (e) {
  self.registration
    .update()
    .then(function (v) {
      return v instanceof ServiceWorkerRegistration ? "FINISH" : "FAIL";
    })
    .catch(function (ex) {
      return "FAIL";
    })
    .then(function (result) {
      clients.matchAll().then(function (c) {
        if (!c.length) {
          dump(
            "!!!!!!!!!!! WORKER HAS NO CLIENTS TO FINISH TEST !!!!!!!!!!!!\n"
          );
          return;
        }

        c[0].postMessage(result);
      });
    });
};