| Index: content/browser/shared_worker/shared_worker_message_filter.cc
|
| diff --git a/content/browser/shared_worker/shared_worker_message_filter.cc b/content/browser/shared_worker/shared_worker_message_filter.cc
|
| index ddc37450225a12d47870ba7631e4580083d367ec..5d8cbf3532b155099f1700d5edd4150182e3ff3a 100644
|
| --- a/content/browser/shared_worker/shared_worker_message_filter.cc
|
| +++ b/content/browser/shared_worker/shared_worker_message_filter.cc
|
| @@ -34,6 +34,9 @@ SharedWorkerMessageFilter::SharedWorkerMessageFilter(
|
| resource_context_(resource_context),
|
| partition_(partition),
|
| message_port_message_filter_(message_port_message_filter) {
|
| + AddAssociatedInterface(mojom::SharedWorkerMessageFilter::Name_,
|
| + base::Bind(&SharedWorkerMessageFilter::AddMojoBinding,
|
| + base::Unretained(this)));
|
| }
|
|
|
| SharedWorkerMessageFilter::~SharedWorkerMessageFilter() {
|
| @@ -48,11 +51,6 @@ void SharedWorkerMessageFilter::OnChannelClosing() {
|
| bool SharedWorkerMessageFilter::OnMessageReceived(const IPC::Message& message) {
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP(SharedWorkerMessageFilter, message)
|
| - // Only sent from renderer for now, until we have nested workers.
|
| - IPC_MESSAGE_HANDLER(ViewHostMsg_CreateWorker, OnCreateWorker)
|
| - IPC_MESSAGE_HANDLER(ViewHostMsg_ConnectToWorker, OnConnectToWorker)
|
| - // Only sent from renderer.
|
| - IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentDetached, OnDocumentDetached)
|
| // Only sent from SharedWorker in renderer.
|
| IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerContextClosed,
|
| OnWorkerContextClosed)
|
| @@ -80,22 +78,24 @@ int SharedWorkerMessageFilter::GetNextRoutingID() {
|
| }
|
|
|
| void SharedWorkerMessageFilter::OnCreateWorker(
|
| - const ViewHostMsg_CreateWorker_Params& params,
|
| - ViewHostMsg_CreateWorker_Reply* reply) {
|
| - reply->route_id = GetNextRoutingID();
|
| - reply->error = SharedWorkerServiceImpl::GetInstance()->CreateWorker(
|
| - params, reply->route_id, this, resource_context_,
|
| - WorkerStoragePartitionId(partition_));
|
| -}
|
| -
|
| -void SharedWorkerMessageFilter::OnConnectToWorker(int route_id,
|
| - int sent_message_port_id) {
|
| + mojom::SharedWorkerCreateParamsPtr params,
|
| + const OnCreateWorkerCallback& callback) {
|
| + int route_id = GetNextRoutingID();
|
| + blink::WebWorkerCreationError error =
|
| + SharedWorkerServiceImpl::GetInstance()->CreateWorker(
|
| + std::move(params), route_id, this, resource_context_,
|
| + WorkerStoragePartitionId(partition_));
|
| + callback.Run(route_id, error);
|
| +}
|
| +
|
| +void SharedWorkerMessageFilter::OnConnectToWorker(
|
| + int32_t route_id,
|
| + int32_t sent_message_port_id) {
|
| SharedWorkerServiceImpl::GetInstance()->ConnectToWorker(
|
| route_id, sent_message_port_id, this);
|
| }
|
|
|
| -void SharedWorkerMessageFilter::OnDocumentDetached(
|
| - unsigned long long document_id) {
|
| +void SharedWorkerMessageFilter::OnDocumentDetached(uint64_t document_id) {
|
| SharedWorkerServiceImpl::GetInstance()->DocumentDetached(document_id, this);
|
| }
|
|
|
| @@ -154,4 +154,11 @@ void SharedWorkerMessageFilter::OnAllowIndexedDB(int worker_route_id,
|
| this);
|
| }
|
|
|
| +void SharedWorkerMessageFilter::AddMojoBinding(
|
| + mojo::ScopedInterfaceEndpointHandle handle) {
|
| + bindings_.AddBinding(
|
| + this, mojo::MakeAssociatedRequest<mojom::SharedWorkerMessageFilter>(
|
| + std::move(handle)));
|
| +}
|
| +
|
| } // namespace content
|
|
|