summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/serviceworkers/force_refresh_worker.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/workers/test/serviceworkers/force_refresh_worker.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/workers/test/serviceworkers/force_refresh_worker.js')
-rw-r--r--dom/workers/test/serviceworkers/force_refresh_worker.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/dom/workers/test/serviceworkers/force_refresh_worker.js b/dom/workers/test/serviceworkers/force_refresh_worker.js
new file mode 100644
index 000000000..f0752d0cb
--- /dev/null
+++ b/dom/workers/test/serviceworkers/force_refresh_worker.js
@@ -0,0 +1,33 @@
+var name = 'refresherCache';
+
+self.addEventListener('install', function(event) {
+ event.waitUntil(
+ Promise.all([caches.open(name),
+ fetch('./sw_clients/refresher_cached.html'),
+ fetch('./sw_clients/refresher_cached_compressed.html')]).then(function(results) {
+ var cache = results[0];
+ var response = results[1];
+ var compressed = results[2];
+ return Promise.all([cache.put('./sw_clients/refresher.html', response),
+ cache.put('./sw_clients/refresher_compressed.html', compressed)]);
+ })
+ );
+});
+
+self.addEventListener('fetch', function (event) {
+ event.respondWith(
+ caches.open(name).then(function(cache) {
+ return cache.match(event.request);
+ }).then(function(response) {
+ // If this is one of our primary cached responses, then the window
+ // must have generated the request via a normal window reload. That
+ // should be detectable in the event.request.cache attribute.
+ if (response && event.request.cache !== 'no-cache') {
+ dump('### ### FetchEvent.request.cache is "' + event.request.cache +
+ '" instead of expected "no-cache"\n');
+ return Response.error();
+ }
+ return response || fetch(event.request);
+ })
+ );
+});