Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1552)

Unified Diff: content/browser/message_port_message_filter.cc

Issue 2422793002: HTML MessagePort as mojo::MessagePipeHandle (Closed)
Patch Set: Eliminate unnecessary PostTask Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/message_port_message_filter.cc
diff --git a/content/browser/message_port_message_filter.cc b/content/browser/message_port_message_filter.cc
deleted file mode 100644
index 3aec44a55aa20cf83750c0f1a3ab4d9a7416bbb6..0000000000000000000000000000000000000000
--- a/content/browser/message_port_message_filter.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/browser/message_port_message_filter.h"
-
-#include <stddef.h>
-
-#include "content/browser/message_port_service.h"
-#include "content/common/frame_messages.h"
-#include "content/common/message_port_messages.h"
-
-namespace content {
-
-MessagePortMessageFilter::MessagePortMessageFilter(
- const NextRoutingIDCallback& callback)
- : BrowserMessageFilter(MessagePortMsgStart),
- next_routing_id_(callback) {
-}
-
-MessagePortMessageFilter::~MessagePortMessageFilter() {
-}
-
-void MessagePortMessageFilter::OnChannelClosing() {
- MessagePortService::GetInstance()->OnMessagePortDelegateClosing(this);
-}
-
-bool MessagePortMessageFilter::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(MessagePortMessageFilter, message)
- IPC_MESSAGE_HANDLER(MessagePortHostMsg_CreateMessagePort,
- OnCreateMessagePort)
- IPC_MESSAGE_FORWARD(MessagePortHostMsg_DestroyMessagePort,
- MessagePortService::GetInstance(),
- MessagePortService::Destroy)
- IPC_MESSAGE_FORWARD(MessagePortHostMsg_Entangle,
- MessagePortService::GetInstance(),
- MessagePortService::Entangle)
- IPC_MESSAGE_FORWARD(MessagePortHostMsg_PostMessage,
- MessagePortService::GetInstance(),
- MessagePortService::PostMessage)
- IPC_MESSAGE_FORWARD(MessagePortHostMsg_QueueMessages,
- MessagePortService::GetInstance(),
- MessagePortService::QueueMessages)
- IPC_MESSAGE_FORWARD(MessagePortHostMsg_SendQueuedMessages,
- MessagePortService::GetInstance(),
- MessagePortService::SendQueuedMessages)
- IPC_MESSAGE_FORWARD(MessagePortHostMsg_ReleaseMessages,
- MessagePortService::GetInstance(),
- MessagePortService::ReleaseMessages)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
-
- return handled;
-}
-
-void MessagePortMessageFilter::OnDestruct() const {
- BrowserThread::DeleteOnIOThread::Destruct(this);
-}
-
-int MessagePortMessageFilter::GetNextRoutingID() {
- return next_routing_id_.Run();
-}
-
-void MessagePortMessageFilter::SendMessage(
- int route_id,
- const base::string16& message,
- const std::vector<int>& sent_message_ports) {
- // Generate new routing ids for all ports that were sent around. This avoids
- // waiting for the created ports to send a sync message back to get routing
- // ids.
- std::vector<int> new_routing_ids;
- UpdateMessagePortsWithNewRoutes(sent_message_ports, &new_routing_ids);
- Send(new MessagePortMsg_Message(route_id, message, sent_message_ports,
- new_routing_ids));
-}
-
-void MessagePortMessageFilter::SendMessagesAreQueued(int route_id) {
- Send(new MessagePortMsg_MessagesQueued(route_id));
-}
-
-void MessagePortMessageFilter::UpdateMessagePortsWithNewRoutes(
- const std::vector<int>& message_ports,
- std::vector<int>* new_routing_ids) {
- DCHECK(new_routing_ids);
- new_routing_ids->clear();
- new_routing_ids->resize(message_ports.size());
-
- for (size_t i = 0; i < message_ports.size(); ++i) {
- (*new_routing_ids)[i] = GetNextRoutingID();
- MessagePortService::GetInstance()->UpdateMessagePort(
- message_ports[i],
- this,
- (*new_routing_ids)[i]);
- }
-}
-
-void MessagePortMessageFilter::RouteMessageEventWithMessagePorts(
- int routing_id,
- const FrameMsg_PostMessage_Params& params) {
- FrameMsg_PostMessage_Params new_params(params);
- UpdateMessagePortsWithNewRoutes(params.message_ports,
- &new_params.new_routing_ids);
- Send(new FrameMsg_PostMessageEvent(routing_id, new_params));
-}
-
-void MessagePortMessageFilter::OnCreateMessagePort(int *route_id,
- int* message_port_id) {
- *route_id = next_routing_id_.Run();
- MessagePortService::GetInstance()->Create(*route_id, this, message_port_id);
-}
-
-} // namespace content

Powered by Google App Engine
This is Rietveld 408576698