Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Unified Diff: content/browser/service_worker/service_worker_process_manager.cc

Issue 2027583002: service worker: Avoid starting up for activation during shutdown (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add unittest Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/service_worker/service_worker_process_manager.cc
diff --git a/content/browser/service_worker/service_worker_process_manager.cc b/content/browser/service_worker/service_worker_process_manager.cc
index 74253b59d57f2ec84a059ebaaf58a540e826264d..d59b221bf053b129ba3b92027e664bc633352b02 100644
--- a/content/browser/service_worker/service_worker_process_manager.cc
+++ b/content/browser/service_worker/service_worker_process_manager.cc
@@ -69,7 +69,11 @@ ServiceWorkerProcessManager::~ServiceWorkerProcessManager() {
void ServiceWorkerProcessManager::Shutdown() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- browser_context_ = NULL;
+ {
+ base::AutoLock lock(browser_context_lock_);
+ browser_context_ = nullptr;
+ }
+
for (std::map<int, ProcessInfo>::const_iterator it = instance_info_.begin();
it != instance_info_.end();
++it) {
@@ -78,6 +82,11 @@ void ServiceWorkerProcessManager::Shutdown() {
instance_info_.clear();
}
+bool ServiceWorkerProcessManager::IsShutdown() {
+ base::AutoLock lock(browser_context_lock_);
+ return !browser_context_;
+}
+
void ServiceWorkerProcessManager::AddProcessReferenceToPattern(
const GURL& pattern, int process_id) {
if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {

Powered by Google App Engine
This is Rietveld 408576698