tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

force_refresh_browser_worker.js (1135B)


      1 var name = "browserRefresherCache";
      2 
      3 self.addEventListener("install", function (event) {
      4  event.waitUntil(
      5    Promise.all([
      6      caches.open(name),
      7      fetch("./browser_cached_force_refresh.html"),
      8    ]).then(function (results) {
      9      var cache = results[0];
     10      var response = results[1];
     11      return cache.put("./browser_base_force_refresh.html", response);
     12    })
     13  );
     14 });
     15 
     16 self.addEventListener("fetch", function (event) {
     17  event.respondWith(
     18    caches
     19      .open(name)
     20      .then(function (cache) {
     21        return cache.match(event.request);
     22      })
     23      .then(function (response) {
     24        return response || fetch(event.request);
     25      })
     26  );
     27 });
     28 
     29 self.addEventListener("message", function (event) {
     30  if (event.data.type === "GET_UNCONTROLLED_CLIENTS") {
     31    event.waitUntil(
     32      clients
     33        .matchAll({ includeUncontrolled: true })
     34        .then(function (clientList) {
     35          var resultList = clientList.map(function (c) {
     36            return { url: c.url, frameType: c.frameType };
     37          });
     38          event.source.postMessage({ type: "CLIENTS", detail: resultList });
     39        })
     40    );
     41  }
     42 });