Unverified Commit 73652a72 authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

[flutter_tools] automatically update to latest sw on install (#65784)

If a new service worker is installed, automatically update this behind the scenes. Immediately after a page refresh, the new worker and cache will be available, though the main.dart.js and others will be available sooner due to the cache busting URLS
parent 2acd1708
......@@ -476,6 +476,7 @@ const CORE = [
${coreBundle.map((String file) => '"$file"').join(',\n')}];
// During install, the TEMP cache is populated with the application shell files.
self.addEventListener("install", (event) => {
skipWaiting();
return event.waitUntil(
caches.open(TEMP).then((cache) => {
return cache.addAll(
......@@ -579,10 +580,12 @@ self.addEventListener('message', (event) => {
// SkipWaiting can be used to immediately activate a waiting service worker.
// This will also require a page refresh triggered by the main worker.
if (event.data === 'skipWaiting') {
return self.skipWaiting();
skipWaiting();
return;
}
if (event.message === 'downloadOffline') {
if (event.data === 'downloadOffline') {
downloadOffline();
return;
}
});
......@@ -628,5 +631,11 @@ function onlineFirst(event) {
})
);
}
function skipWaiting() {
if (self.skipWaiting != undefined) {
self.skipWaiting();
}
}
''';
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment