| Index: content/browser/service_worker/embedded_worker_registry.cc
|
| diff --git a/content/browser/service_worker/embedded_worker_registry.cc b/content/browser/service_worker/embedded_worker_registry.cc
|
| index 249eab082b21ce3100114299d1da2811217b671b..b1a741b939904d0c8927304ce7f2bfb63e1d1058 100644
|
| --- a/content/browser/service_worker/embedded_worker_registry.cc
|
| +++ b/content/browser/service_worker/embedded_worker_registry.cc
|
| @@ -5,9 +5,13 @@
|
| #include "content/browser/service_worker/embedded_worker_registry.h"
|
|
|
| #include "base/stl_util.h"
|
| +#include "content/browser/devtools/shared_worker_devtools_manager.h"
|
| #include "content/browser/service_worker/embedded_worker_instance.h"
|
| #include "content/browser/service_worker/service_worker_context_core.h"
|
| #include "content/common/service_worker/embedded_worker_messages.h"
|
| +#include "content/common/service_worker/service_worker_messages.h"
|
| +#include "content/public/browser/browser_thread.h"
|
| +#include "content/public/browser/render_process_host.h"
|
| #include "ipc/ipc_message.h"
|
| #include "ipc/ipc_sender.h"
|
|
|
| @@ -30,11 +34,20 @@ ServiceWorkerStatusCode EmbeddedWorkerRegistry::StartWorker(
|
| int embedded_worker_id,
|
| int64 service_worker_version_id,
|
| const GURL& scope,
|
| - const GURL& script_url) {
|
| + const GURL& script_url,
|
| + int* worker_devtools_agent_route_id) {
|
| + ProcessToNextRoutingIDCallbackMap::iterator found_callback =
|
| + process_next_id_callback_map_.find(process_id);
|
| + if (found_callback == process_next_id_callback_map_.end())
|
| + return SERVICE_WORKER_ERROR_PROCESS_NOT_FOUND;
|
| + *worker_devtools_agent_route_id = found_callback->second.Run();
|
| return Send(
|
| process_id,
|
| - new EmbeddedWorkerMsg_StartWorker(
|
| - embedded_worker_id, service_worker_version_id, scope, script_url));
|
| + new EmbeddedWorkerMsg_StartWorker(embedded_worker_id,
|
| + service_worker_version_id,
|
| + scope,
|
| + script_url,
|
| + *worker_devtools_agent_route_id));
|
| }
|
|
|
| ServiceWorkerStatusCode EmbeddedWorkerRegistry::StopWorker(
|
| @@ -135,6 +148,17 @@ void EmbeddedWorkerRegistry::RemoveChildProcessSender(int process_id) {
|
| }
|
| }
|
|
|
| +void EmbeddedWorkerRegistry::AddChildProcessNextRoutingIDCallback(
|
| + int process_id,
|
| + const base::Callback<int(void)>& callback) {
|
| + process_next_id_callback_map_.insert(std::make_pair(process_id, callback));
|
| +}
|
| +
|
| +void EmbeddedWorkerRegistry::RemoveChildProcessNextRoutingIDCallback(
|
| + int process_id) {
|
| + process_next_id_callback_map_.erase(process_id);
|
| +}
|
| +
|
| EmbeddedWorkerInstance* EmbeddedWorkerRegistry::GetWorker(
|
| int embedded_worker_id) {
|
| WorkerInstanceMap::iterator found = worker_map_.find(embedded_worker_id);
|
|
|