| 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 8350f82712156ee6bbb473257041756930bf43d7..5c12111bb22a1666219bba580198ee275c659a4a 100644
|
| --- a/content/browser/service_worker/embedded_worker_registry.h
|
| +++ b/content/browser/service_worker/embedded_worker_registry.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include <map>
|
| #include <set>
|
| +#include <vector>
|
|
|
| #include "base/basictypes.h"
|
| #include "base/memory/ref_counted.h"
|
| @@ -16,6 +17,7 @@
|
| #include "content/common/content_export.h"
|
| #include "content/common/service_worker/service_worker_status_code.h"
|
|
|
| +class EmbeddedWorkerMsg_StartWorker;
|
| class GURL;
|
|
|
| namespace IPC {
|
| @@ -36,6 +38,8 @@ class ServiceWorkerContextCore;
|
| class CONTENT_EXPORT EmbeddedWorkerRegistry
|
| : public NON_EXPORTED_BASE(base::RefCounted<EmbeddedWorkerRegistry>) {
|
| public:
|
| + typedef base::Callback<void(ServiceWorkerStatusCode)> StatusCallback;
|
| +
|
| explicit EmbeddedWorkerRegistry(
|
| base::WeakPtr<ServiceWorkerContextCore> context);
|
|
|
| @@ -46,14 +50,18 @@ class CONTENT_EXPORT EmbeddedWorkerRegistry
|
| scoped_ptr<EmbeddedWorkerInstance> CreateWorker();
|
|
|
| // Called from EmbeddedWorkerInstance, relayed to the child process.
|
| - ServiceWorkerStatusCode StartWorker(int process_id,
|
| - int embedded_worker_id,
|
| - int64 service_worker_version_id,
|
| - const GURL& scope,
|
| - const GURL& script_url);
|
| + void StartWorker(const std::vector<int>& process_ids,
|
| + int embedded_worker_id,
|
| + int64 service_worker_version_id,
|
| + const GURL& scope,
|
| + const GURL& script_url,
|
| + const StatusCallback& callback);
|
| ServiceWorkerStatusCode StopWorker(int process_id,
|
| int embedded_worker_id);
|
|
|
| + // Stop all active workers, even if they're handling events.
|
| + void Shutdown();
|
| +
|
| // Called back from EmbeddedWorker in the child process, relayed via
|
| // ServiceWorkerDispatcherHost.
|
| void OnWorkerStarted(int process_id, int thread_id, int embedded_worker_id);
|
| @@ -85,6 +93,14 @@ class CONTENT_EXPORT EmbeddedWorkerRegistry
|
| typedef std::map<int, IPC::Sender*> ProcessToSenderMap;
|
|
|
| ~EmbeddedWorkerRegistry();
|
| +
|
| + void StartWorkerWithProcessId(
|
| + int embedded_worker_id,
|
| + scoped_ptr<EmbeddedWorkerMsg_StartWorker> message,
|
| + const StatusCallback& callback,
|
| + ServiceWorkerStatusCode status,
|
| + int process_id);
|
| +
|
| ServiceWorkerStatusCode Send(int process_id, IPC::Message* message);
|
|
|
| // RemoveWorker is called when EmbeddedWorkerInstance is destructed.
|
|
|