Chromium Code Reviews| Index: extensions/browser/service_worker_manager.cc |
| diff --git a/extensions/browser/service_worker_manager.cc b/extensions/browser/service_worker_manager.cc |
| index 16167d4e3d9cfa31b25e5602c9fbb32d4b68f1b3..2198eb8355fb89a288e53a3b5b524f87468058eb 100644 |
| --- a/extensions/browser/service_worker_manager.cc |
| +++ b/extensions/browser/service_worker_manager.cc |
| @@ -48,4 +48,20 @@ void ServiceWorkerManager::OnExtensionUninstalled( |
| ->DeleteForOrigin(extension->url(), base::Bind(&EmptySuccessCallback)); |
| } |
| +void ServiceWorkerManager::OnExtensionWillBeInstalled( |
| + content::BrowserContext* browser_context, |
| + const Extension* extension, |
| + bool is_update, |
| + bool from_ephemeral, |
| + const std::string& old_name) { |
| + if (is_update) { |
| + // TODO(lazyboy): This is racy because this relies on DeleteForOrigin() to |
|
lazyboy
2015/11/10 00:45:44
How can we fix this?
Or, is there any guarantee th
Devlin
2015/11/10 16:59:50
Hmm... I would hope that it wouldn't be racy, beca
|
| + // finish before updated extension (re)registers the service worker. |
| + content::BrowserContext::GetStoragePartitionForSite(browser_context_, |
| + extension->url()) |
| + ->GetServiceWorkerContext() |
| + ->DeleteForOrigin(extension->url(), base::Bind(&EmptySuccessCallback)); |
|
Devlin
2015/11/10 16:59:50
(Sorry if this was just a placeholder and I'm sayi
lazyboy
2015/11/11 00:56:27
I've changed this to eventually call ServiceWorker
|
| + } |
| +} |
| + |
| } // namespace extensions |