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

Unified Diff: content/browser/service_worker/service_worker_context_wrapper.h

Issue 238043002: Teach EmbeddedWorkerInstance to create a process when it needs one. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Handle 2 places where context_ could be NULL. Created 6 years, 8 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_context_wrapper.h
diff --git a/content/browser/service_worker/service_worker_context_wrapper.h b/content/browser/service_worker/service_worker_context_wrapper.h
index cea9c06a4d07cc4ed8e9bdf7a32cf687bf796c17..bd83210679bad8f0421b844caf46995e6f4365bb 100644
--- a/content/browser/service_worker/service_worker_context_wrapper.h
+++ b/content/browser/service_worker/service_worker_context_wrapper.h
@@ -5,6 +5,8 @@
#ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_
#define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_CONTEXT_WRAPPER_H_
+#include <vector>
+
#include "base/files/file_path.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
@@ -22,6 +24,8 @@ class QuotaManagerProxy;
namespace content {
+class BrowserContext;
+class ServiceWorkerContextCore;
class ServiceWorkerContextObserver;
// A refcounted wrapper class for our core object. Higher level content lib
@@ -32,7 +36,7 @@ class CONTENT_EXPORT ServiceWorkerContextWrapper
: NON_EXPORTED_BASE(public ServiceWorkerContext),
public base::RefCountedThreadSafe<ServiceWorkerContextWrapper> {
public:
- ServiceWorkerContextWrapper();
+ ServiceWorkerContextWrapper(BrowserContext* browser_context);
// Init and Shutdown are for use on the UI thread when the profile,
// storagepartition is being setup and torn down.
@@ -44,12 +48,10 @@ class CONTENT_EXPORT ServiceWorkerContextWrapper
ServiceWorkerContextCore* context();
// ServiceWorkerContext implementation:
- virtual void RegisterServiceWorker(const GURL& pattern,
- const GURL& script_url,
- int source_process_id,
- const ResultCallback& continuation)
- OVERRIDE;
-
+ virtual void RegisterServiceWorker(
+ const GURL& pattern,
+ const GURL& script_url,
+ const ResultCallback& continuation) OVERRIDE;
virtual void UnregisterServiceWorker(const GURL& pattern,
int source_process_id,
const ResultCallback& continuation)
@@ -60,11 +62,14 @@ class CONTENT_EXPORT ServiceWorkerContextWrapper
private:
friend class base::RefCountedThreadSafe<ServiceWorkerContextWrapper>;
+ friend class ServiceWorkerProcessManager;
virtual ~ServiceWorkerContextWrapper();
- scoped_ptr<ServiceWorkerContextCore> context_core_;
- scoped_refptr<ObserverListThreadSafe<ServiceWorkerContextObserver> >
+ const scoped_refptr<ObserverListThreadSafe<ServiceWorkerContextObserver> >
observer_list_;
+ // Cleared in Shutdown():
+ BrowserContext* browser_context_;
+ scoped_ptr<ServiceWorkerContextCore> context_core_;
};
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698