Index: content/browser/worker_host/worker_process_host.h |
diff --git a/content/browser/worker_host/worker_process_host.h b/content/browser/worker_host/worker_process_host.h |
index 76b0d5ab950643a0bb7ee856b24ad6e303110185..61ea8c072173f45a4fc88f40ec29300cf2535161 100644 |
--- a/content/browser/worker_host/worker_process_host.h |
+++ b/content/browser/worker_host/worker_process_host.h |
@@ -6,6 +6,7 @@ |
#define CONTENT_BROWSER_WORKER_HOST_WORKER_PROCESS_HOST_H_ |
#include <list> |
+#include <string> |
#include <utility> |
#include "base/basictypes.h" |
@@ -13,18 +14,29 @@ |
#include "base/memory/scoped_ptr.h" |
#include "content/common/content_export.h" |
#include "content/browser/worker_host/worker_document_set.h" |
+#include "content/browser/worker_host/worker_storage_partition.h" |
#include "content/public/browser/browser_child_process_host_delegate.h" |
#include "content/public/browser/browser_child_process_host_iterator.h" |
#include "googleurl/src/gurl.h" |
#include "ipc/ipc_sender.h" |
class BrowserChildProcessHostImpl; |
+class ChromeAppCacheService; |
+class IndexedDBContextImpl; |
namespace content { |
class ResourceContext; |
class WorkerServiceImpl; |
} // namespace content |
+namespace fileapi { |
+class FileSystemContext; |
+} // namespace fileapi |
+ |
+namespace webkit_database { |
+class DatabaseTracker; |
+} // namespace webkit_database |
+ |
// The WorkerProcessHost is the interface that represents the browser side of |
// the browser <-> worker communication channel. There will be one |
// WorkerProcessHost per worker process. Currently each worker runs in its own |
@@ -43,12 +55,14 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, |
int worker_route_id, |
int parent_process_id, |
int64 main_resource_appcache_id, |
- content::ResourceContext* resource_context); |
+ content::ResourceContext* resource_context, |
+ const WorkerStoragePartition& partition); |
// Used for pending instances. Rest of the parameters are ignored. |
WorkerInstance(const GURL& url, |
bool shared, |
const string16& name, |
- content::ResourceContext* resource_context); |
+ content::ResourceContext* resource_context, |
+ const WorkerStoragePartition& partition); |
~WorkerInstance(); |
// Unique identifier for a worker client. |
@@ -73,6 +87,7 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, |
bool Matches( |
const GURL& url, |
const string16& name, |
+ const WorkerStoragePartition& partition, |
content::ResourceContext* resource_context) const; |
// Shares the passed instance's WorkerDocumentSet with this instance. This |
@@ -98,6 +113,9 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, |
content::ResourceContext* resource_context() const { |
return resource_context_; |
} |
+ const WorkerStoragePartition& partition() const { |
+ return partition_; |
+ } |
private: |
// Set of all filters (clients) associated with this worker. |
@@ -110,9 +128,11 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, |
FilterList filters_; |
scoped_refptr<WorkerDocumentSet> worker_document_set_; |
content::ResourceContext* const resource_context_; |
+ WorkerStoragePartition partition_; |
}; |
- explicit WorkerProcessHost(content::ResourceContext* resource_context); |
+ WorkerProcessHost(content::ResourceContext* resource_context, |
+ const WorkerStoragePartition& partition); |
virtual ~WorkerProcessHost(); |
// IPC::Sender implementation: |
@@ -195,6 +215,7 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, |
Instances instances_; |
content::ResourceContext* const resource_context_; |
+ WorkerStoragePartition partition_; |
// A reference to the filter associated with this worker process. We need to |
// keep this around since we'll use it when forward messages to the worker |