Index: content/browser/service_worker/service_worker_provider_host.cc |
diff --git a/content/browser/service_worker/service_worker_provider_host.cc b/content/browser/service_worker/service_worker_provider_host.cc |
index a2f3cd3264d9d0c9e9050d99d02993115ecdc279..4a0ee03e7344441a5839563492703397b716ada5 100644 |
--- a/content/browser/service_worker/service_worker_provider_host.cc |
+++ b/content/browser/service_worker/service_worker_provider_host.cc |
@@ -118,4 +118,21 @@ ServiceWorkerProviderHost::CreateRequestHandler( |
return scoped_ptr<ServiceWorkerRequestHandler>(); |
} |
+void ServiceWorkerProviderHost::PostMessage( |
+ const base::string16& message, |
+ const std::vector<int>& sent_message_port_ids) { |
+ if (!dispatcher_host_) |
+ return; // Could be NULL in some tests. |
+ |
+ std::vector<int> new_routing_ids; |
+ dispatcher_host_->UpdateMessagePorts(sent_message_port_ids, &new_routing_ids); |
+ |
+ dispatcher_host_->Send( |
+ new ServiceWorkerMsg_MessageToDocument( |
+ kDocumentMainThreadId, provider_id(), |
+ message, |
+ sent_message_port_ids, |
+ new_routing_ids)); |
+} |
+ |
} // namespace content |