| 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 40a32208b92ca74f625490a13087c16393bab23a..85d817b87ea01836deee002fd6121ba142034ff3 100644
|
| --- a/content/browser/service_worker/service_worker_dispatcher_host.cc
|
| +++ b/content/browser/service_worker/service_worker_dispatcher_host.cc
|
| @@ -693,6 +693,7 @@ void ServiceWorkerDispatcherHost::OnGetRegistrationForReady(
|
|
|
| void ServiceWorkerDispatcherHost::OnPostMessageToWorker(
|
| int handle_id,
|
| + int provider_id,
|
| const base::string16& message,
|
| const std::vector<TransferredMessagePort>& sent_message_ports) {
|
| TRACE_EVENT0("ServiceWorker",
|
| @@ -706,8 +707,15 @@ void ServiceWorkerDispatcherHost::OnPostMessageToWorker(
|
| return;
|
| }
|
|
|
| + ServiceWorkerProviderHost* sender_provider_host =
|
| + GetContext()->GetProviderHost(render_process_id_, provider_id);
|
| + if (!sender_provider_host) {
|
| + bad_message::ReceivedBadMessage(this, bad_message::SWDH_POST_MESSAGE);
|
| + return;
|
| + }
|
| +
|
| handle->version()->DispatchExtendableMessageEvent(
|
| - message, sent_message_ports,
|
| + sender_provider_host, message, sent_message_ports,
|
| base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
|
| }
|
|
|
|
|