| Index: content/browser/service_worker/embedded_worker_registry.h
|
| diff --git a/content/browser/service_worker/embedded_worker_registry.h b/content/browser/service_worker/embedded_worker_registry.h
|
| index 31ed59d00200e8cdc398b508535223ccb2171171..2567b20b8b7cef9b7df2999366ab9ea277f61347 100644
|
| --- a/content/browser/service_worker/embedded_worker_registry.h
|
| +++ b/content/browser/service_worker/embedded_worker_registry.h
|
| @@ -28,6 +28,7 @@ class Sender;
|
| namespace content {
|
|
|
| class EmbeddedWorkerInstance;
|
| +class MessagePortMessageFilter;
|
| class ServiceWorkerContextCore;
|
|
|
| // Acts as a thin stub between MessageFilter and each EmbeddedWorkerInstance,
|
| @@ -91,7 +92,10 @@ class CONTENT_EXPORT EmbeddedWorkerRegistry
|
| const GURL& source_url);
|
|
|
| // Keeps a map from process_id to sender information.
|
| - void AddChildProcessSender(int process_id, IPC::Sender* sender);
|
| + void AddChildProcessSender(
|
| + int process_id,
|
| + IPC::Sender* sender,
|
| + MessagePortMessageFilter* message_port_message_filter);
|
| void RemoveChildProcessSender(int process_id);
|
|
|
| // Returns an embedded worker instance for given |embedded_worker_id|.
|
| @@ -100,12 +104,16 @@ class CONTENT_EXPORT EmbeddedWorkerRegistry
|
| // Returns true if |embedded_worker_id| is managed by this registry.
|
| bool CanHandle(int embedded_worker_id) const;
|
|
|
| + MessagePortMessageFilter* MessagePortMessageFilterForProcess(int process_id);
|
| +
|
| private:
|
| friend class base::RefCounted<EmbeddedWorkerRegistry>;
|
| friend class EmbeddedWorkerInstance;
|
|
|
| typedef std::map<int, EmbeddedWorkerInstance*> WorkerInstanceMap;
|
| typedef std::map<int, IPC::Sender*> ProcessToSenderMap;
|
| + typedef std::map<int, MessagePortMessageFilter*>
|
| + ProcessToMessagePortMessageFilterMap;
|
|
|
| EmbeddedWorkerRegistry(
|
| const base::WeakPtr<ServiceWorkerContextCore>& context,
|
| @@ -122,6 +130,7 @@ class CONTENT_EXPORT EmbeddedWorkerRegistry
|
|
|
| WorkerInstanceMap worker_map_;
|
| ProcessToSenderMap process_sender_map_;
|
| + ProcessToMessagePortMessageFilterMap process_message_port_message_filter_map_;
|
|
|
| // Map from process_id to embedded_worker_id.
|
| // This map only contains starting and running workers.
|
|
|