Bug 1884032 [wpt PR 44942] - [css-color] add missing colorscheme-aware tests, a=testonly
[gecko.git] / dom / serviceworkers / test / force_refresh_worker.js
blob8c8382493a17a54919f584d917a729fab9c2ea5f
1 var name = "refresherCache";
3 self.addEventListener("install", function (event) {
4   event.waitUntil(
5     Promise.all([
6       caches.open(name),
7       fetch("./sw_clients/refresher_cached.html"),
8       fetch("./sw_clients/refresher_cached_compressed.html"),
9     ]).then(function (results) {
10       var cache = results[0];
11       var response = results[1];
12       var compressed = results[2];
13       return Promise.all([
14         cache.put("./sw_clients/refresher.html", response),
15         cache.put("./sw_clients/refresher_compressed.html", compressed),
16       ]);
17     })
18   );
19 });
21 self.addEventListener("fetch", function (event) {
22   event.respondWith(
23     caches
24       .open(name)
25       .then(function (cache) {
26         return cache.match(event.request);
27       })
28       .then(function (response) {
29         // If this is one of our primary cached responses, then the window
30         // must have generated the request via a normal window reload.  That
31         // should be detectable in the event.request.cache attribute.
32         if (response && event.request.cache !== "no-cache") {
33           dump(
34             '### ### FetchEvent.request.cache is "' +
35               event.request.cache +
36               '" instead of expected "no-cache"\n'
37           );
38           return Response.error();
39         }
40         return response || fetch(event.request);
41       })
42   );
43 });