Chromium Code Reviews| Index: content/browser/service_worker/service_worker_context_core.h |
| diff --git a/content/browser/service_worker/service_worker_context_core.h b/content/browser/service_worker/service_worker_context_core.h |
| index c06615e7477e8fde2c29bd885dac8a6d9d4d4525..146f1cc131c49c6db02d95fa0df56ec9704a165f 100644 |
| --- a/content/browser/service_worker/service_worker_context_core.h |
| +++ b/content/browser/service_worker/service_worker_context_core.h |
| @@ -15,7 +15,6 @@ |
| #include "base/memory/weak_ptr.h" |
| #include "base/observer_list_threadsafe.h" |
| #include "content/browser/service_worker/service_worker_info.h" |
| -#include "content/browser/service_worker/service_worker_process_manager.h" |
| #include "content/browser/service_worker/service_worker_provider_host.h" |
| #include "content/browser/service_worker/service_worker_registration_status.h" |
| #include "content/browser/service_worker/service_worker_storage.h" |
| @@ -37,6 +36,7 @@ namespace content { |
| class EmbeddedWorkerRegistry; |
| class ServiceWorkerContextObserver; |
| +class ServiceWorkerContextWrapper; |
| class ServiceWorkerHandle; |
| class ServiceWorkerJobCoordinator; |
| class ServiceWorkerProviderHost; |
| @@ -91,7 +91,7 @@ class CONTENT_EXPORT ServiceWorkerContextCore |
| base::MessageLoopProxy* disk_cache_thread, |
| quota::QuotaManagerProxy* quota_manager_proxy, |
| ObserverListThreadSafe<ServiceWorkerContextObserver>* observer_list, |
| - scoped_ptr<ServiceWorkerProcessManager> process_manager); |
| + ServiceWorkerContextWrapper* wrapper); |
| virtual ~ServiceWorkerContextCore(); |
| // ServiceWorkerVersion::Listener overrides. |
| @@ -110,10 +110,8 @@ class CONTENT_EXPORT ServiceWorkerContextCore |
| int line_number, |
| const GURL& source_url) OVERRIDE; |
| + ServiceWorkerContextWrapper* wrapper() { return wrapper_; } |
| ServiceWorkerStorage* storage() { return storage_.get(); } |
| - ServiceWorkerProcessManager* process_manager() { |
| - return process_manager_.get(); |
|
michaeln
2014/05/22 01:43:42
if this was implemented as return wrapper_->proces
Jeffrey Yasskin
2014/05/22 02:47:54
Sure, done.
|
| - } |
| EmbeddedWorkerRegistry* embedded_worker_registry() { |
| return embedded_worker_registry_.get(); |
| } |
| @@ -159,12 +157,6 @@ class CONTENT_EXPORT ServiceWorkerContextCore |
| return weak_factory_.GetWeakPtr(); |
| } |
| - // Allows tests to change how processes are created. |
| - void SetProcessManagerForTest( |
| - scoped_ptr<ServiceWorkerProcessManager> new_process_manager) { |
| - process_manager_ = new_process_manager.Pass(); |
| - } |
| - |
| private: |
| typedef std::map<int64, ServiceWorkerRegistration*> RegistrationsMap; |
| typedef std::map<int64, ServiceWorkerVersion*> VersionMap; |
| @@ -184,11 +176,14 @@ class CONTENT_EXPORT ServiceWorkerContextCore |
| ServiceWorkerStatusCode status); |
| base::WeakPtrFactory<ServiceWorkerContextCore> weak_factory_; |
|
falken
2014/05/22 02:43:19
It's not from this patch, but shouldn't WeakPtrFac
Jeffrey Yasskin
2014/05/22 02:47:54
The reason to put it at the end is to get it inval
|
| + // It's safe to store a raw pointer instead of a scoped_refptr to |wrapper_| |
| + // because the Wrapper::Shutdown call that hops threads to destroy |this| uses |
| + // Bind() to hold a reference to |wrapper_| until |this| is fully destroyed. |
| + ServiceWorkerContextWrapper* wrapper_; |
| ProcessToProviderMap providers_; |
| scoped_ptr<ServiceWorkerStorage> storage_; |
| scoped_refptr<EmbeddedWorkerRegistry> embedded_worker_registry_; |
| scoped_ptr<ServiceWorkerJobCoordinator> job_coordinator_; |
| - scoped_ptr<ServiceWorkerProcessManager> process_manager_; |
| std::map<int64, ServiceWorkerRegistration*> live_registrations_; |
| std::map<int64, ServiceWorkerVersion*> live_versions_; |
| int next_handle_id_; |