Index: content/browser/service_worker/service_worker_dispatcher_host.cc |
diff --git a/content/browser/service_worker/service_worker_dispatcher_host.cc b/content/browser/service_worker/service_worker_dispatcher_host.cc |
index 562fc9571cafa89b4f368e976f77d64af40dc6fe..7bc5e6f40a942de299c7162cd61320c325293034 100644 |
--- a/content/browser/service_worker/service_worker_dispatcher_host.cc |
+++ b/content/browser/service_worker/service_worker_dispatcher_host.cc |
@@ -4,6 +4,7 @@ |
#include "content/browser/service_worker/service_worker_dispatcher_host.h" |
+#include "base/bind.h" |
#include "base/logging.h" |
#include "base/strings/utf_string_conversions.h" |
#include "content/browser/message_port_message_filter.h" |
@@ -51,21 +52,28 @@ ServiceWorkerDispatcherHost::~ServiceWorkerDispatcherHost() { |
context_->RemoveAllProviderHostsForProcess(render_process_id_); |
context_->embedded_worker_registry()->RemoveChildProcessSender( |
render_process_id_); |
+ context_->embedded_worker_registry() |
+ ->RemoveChildProcessNextRoutingIDCallback(render_process_id_); |
} |
} |
void ServiceWorkerDispatcherHost::Init( |
- ServiceWorkerContextWrapper* context_wrapper) { |
+ ServiceWorkerContextWrapper* context_wrapper, |
+ const base::Callback<int(void)>& next_routing_id_callback) { |
if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { |
- BrowserThread::PostTask( |
- BrowserThread::IO, FROM_HERE, |
- base::Bind(&ServiceWorkerDispatcherHost::Init, |
- this, make_scoped_refptr(context_wrapper))); |
+ BrowserThread::PostTask(BrowserThread::IO, |
+ FROM_HERE, |
+ base::Bind(&ServiceWorkerDispatcherHost::Init, |
+ this, |
+ make_scoped_refptr(context_wrapper), |
+ next_routing_id_callback)); |
return; |
} |
context_ = context_wrapper->context()->AsWeakPtr(); |
context_->embedded_worker_registry()->AddChildProcessSender( |
render_process_id_, this); |
+ context_->embedded_worker_registry()->AddChildProcessNextRoutingIDCallback( |
+ render_process_id_, next_routing_id_callback); |
} |
void ServiceWorkerDispatcherHost::OnDestruct() const { |