summaryrefslogtreecommitdiff
path: root/chromium/content/browser/service_process_host_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/browser/service_process_host_impl.cc')
-rw-r--r--chromium/content/browser/service_process_host_impl.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/chromium/content/browser/service_process_host_impl.cc b/chromium/content/browser/service_process_host_impl.cc
index 1d417b84d88..4fc39a84b36 100644
--- a/chromium/content/browser/service_process_host_impl.cc
+++ b/chromium/content/browser/service_process_host_impl.cc
@@ -79,7 +79,9 @@ class ServiceProcessTracker {
}
void RemoveObserver(ServiceProcessHost::Observer* observer) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ // NOTE: Some tests may remove observers after BrowserThreads are shut down.
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
+ !BrowserThread::IsThreadInitialized(BrowserThread::UI));
observers_.RemoveObserver(observer);
}
@@ -110,13 +112,11 @@ class ServiceProcessTracker {
ServiceProcessId GenerateNextId() {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
- auto id = next_id_;
- next_id_ = ServiceProcessId::FromUnsafeValue(next_id_.GetUnsafeValue() + 1);
- return id;
+ return service_process_id_generator_.GenerateNextId();
}
const scoped_refptr<base::TaskRunner> ui_task_runner_;
- ServiceProcessId next_id_{1};
+ ServiceProcessId::Generator service_process_id_generator_;
base::Lock processes_lock_;
std::map<ServiceProcessId, ServiceProcessInfo> processes_;