| 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..2da7d3e66571aa1969e915ddc4c91dcec7d9b8b6 100644
|
| --- a/content/browser/service_worker/service_worker_provider_host.cc
|
| +++ b/content/browser/service_worker/service_worker_provider_host.cc
|
| @@ -5,6 +5,7 @@
|
| #include "content/browser/service_worker/service_worker_provider_host.h"
|
|
|
| #include "base/stl_util.h"
|
| +#include "content/browser/message_port_message_filter.h"
|
| #include "content/browser/service_worker/service_worker_context_core.h"
|
| #include "content/browser/service_worker/service_worker_context_request_handler.h"
|
| #include "content/browser/service_worker/service_worker_controllee_request_handler.h"
|
| @@ -118,4 +119,23 @@ 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_->message_port_message_filter()->
|
| + UpdateMessagePortsWithNewRoutes(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
|
|
|