| Index: chrome/browser/renderer_host/chrome_extension_message_filter.cc
|
| diff --git a/chrome/browser/renderer_host/chrome_extension_message_filter.cc b/chrome/browser/renderer_host/chrome_extension_message_filter.cc
|
| index 3b1ef45bc0bb4594811b9f068d4d4814e19db217..85891b1d32db5d30812f3d1b1c4933fd5278438d 100644
|
| --- a/chrome/browser/renderer_host/chrome_extension_message_filter.cc
|
| +++ b/chrome/browser/renderer_host/chrome_extension_message_filter.cc
|
| @@ -9,6 +9,7 @@
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| #include "base/files/file_path.h"
|
| +#include "base/logging.h"
|
| #include "base/macros.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -80,8 +81,6 @@ bool ChromeExtensionMessageFilter::OnMessageReceived(
|
| IPC_BEGIN_MESSAGE_MAP(ChromeExtensionMessageFilter, message)
|
| IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToExtension,
|
| OnOpenChannelToExtension)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToExtensionSync,
|
| - OnOpenChannelToExtensionSync)
|
| IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToTab, OnOpenChannelToTab)
|
| IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToNativeApp,
|
| OnOpenChannelToNativeApp)
|
| @@ -105,6 +104,9 @@ bool ChromeExtensionMessageFilter::OnMessageReceived(
|
| void ChromeExtensionMessageFilter::OverrideThreadForMessage(
|
| const IPC::Message& message, BrowserThread::ID* thread) {
|
| switch (message.type()) {
|
| + case ExtensionHostMsg_OpenChannelToExtension::ID:
|
| + case ExtensionHostMsg_OpenChannelToTab::ID:
|
| + case ExtensionHostMsg_OpenChannelToNativeApp::ID:
|
| case ExtensionHostMsg_OpenMessagePort::ID:
|
| case ExtensionHostMsg_CloseMessagePort::ID:
|
| case ExtensionHostMsg_PostMessage::ID:
|
| @@ -131,84 +133,23 @@ void ChromeExtensionMessageFilter::OnOpenChannelToExtension(
|
| const ExtensionMsg_ExternalConnectionInfo& info,
|
| const std::string& channel_name,
|
| bool include_tls_channel_id,
|
| - int request_id) {
|
| - int port1_id = 0;
|
| - int port2_id = 0;
|
| - extensions::MessageService::AllocatePortIdPair(&port1_id, &port2_id);
|
| - Send(new ExtensionMsg_AssignPortId(routing_id, port1_id, request_id));
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(
|
| - &ChromeExtensionMessageFilter::OpenChannelToExtensionOnUIThread, this,
|
| - render_process_id_, routing_id, port2_id, info, channel_name,
|
| - include_tls_channel_id));
|
| -}
|
| -
|
| -void ChromeExtensionMessageFilter::OnOpenChannelToExtensionSync(
|
| - int routing_id,
|
| - const ExtensionMsg_ExternalConnectionInfo& info,
|
| - const std::string& channel_name,
|
| - bool include_tls_channel_id,
|
| - int* port_id) {
|
| - int port2_id = 0;
|
| - extensions::MessageService::AllocatePortIdPair(port_id, &port2_id);
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(
|
| - &ChromeExtensionMessageFilter::OpenChannelToExtensionOnUIThread, this,
|
| - render_process_id_, routing_id, port2_id, info, channel_name,
|
| - include_tls_channel_id));
|
| -}
|
| -
|
| -void ChromeExtensionMessageFilter::OpenChannelToExtensionOnUIThread(
|
| - int source_process_id, int source_routing_id,
|
| - int receiver_port_id,
|
| - const ExtensionMsg_ExternalConnectionInfo& info,
|
| - const std::string& channel_name,
|
| - bool include_tls_channel_id) {
|
| + const extensions::PortId& port_id) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| if (profile_) {
|
| - extensions::MessageService::Get(profile_)
|
| - ->OpenChannelToExtension(source_process_id,
|
| - source_routing_id,
|
| - receiver_port_id,
|
| - info.source_id,
|
| - info.target_id,
|
| - info.source_url,
|
| - channel_name,
|
| - include_tls_channel_id);
|
| + extensions::MessageService::Get(profile_)->OpenChannelToExtension(
|
| + render_process_id_, routing_id, port_id, info.source_id, info.target_id,
|
| + info.source_url, channel_name, include_tls_channel_id);
|
| }
|
| }
|
|
|
| void ChromeExtensionMessageFilter::OnOpenChannelToNativeApp(
|
| int routing_id,
|
| const std::string& native_app_name,
|
| - int request_id) {
|
| - int port1_id = 0;
|
| - int port2_id = 0;
|
| - extensions::MessageService::AllocatePortIdPair(&port1_id, &port2_id);
|
| - Send(new ExtensionMsg_AssignPortId(routing_id, port1_id, request_id));
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(
|
| - &ChromeExtensionMessageFilter::OpenChannelToNativeAppOnUIThread,
|
| - this, routing_id, port2_id, native_app_name));
|
| -}
|
| -
|
| -void ChromeExtensionMessageFilter::OpenChannelToNativeAppOnUIThread(
|
| - int source_routing_id,
|
| - int receiver_port_id,
|
| - const std::string& native_app_name) {
|
| + const extensions::PortId& port_id) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| if (profile_) {
|
| - extensions::MessageService::Get(profile_)
|
| - ->OpenChannelToNativeApp(render_process_id_,
|
| - source_routing_id,
|
| - receiver_port_id,
|
| - native_app_name);
|
| + extensions::MessageService::Get(profile_)->OpenChannelToNativeApp(
|
| + render_process_id_, routing_id, port_id, native_app_name);
|
| }
|
| }
|
|
|
| @@ -217,41 +158,18 @@ void ChromeExtensionMessageFilter::OnOpenChannelToTab(
|
| const ExtensionMsg_TabTargetConnectionInfo& info,
|
| const std::string& extension_id,
|
| const std::string& channel_name,
|
| - int request_id) {
|
| - int port1_id = 0;
|
| - int port2_id = 0;
|
| - extensions::MessageService::AllocatePortIdPair(&port1_id, &port2_id);
|
| - Send(new ExtensionMsg_AssignPortId(routing_id, port1_id, request_id));
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::UI, FROM_HERE,
|
| - base::Bind(&ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread,
|
| - this, render_process_id_, routing_id, port2_id, info,
|
| - extension_id, channel_name));
|
| -}
|
| -
|
| -void ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread(
|
| - int source_process_id,
|
| - int source_routing_id,
|
| - int receiver_port_id,
|
| - const ExtensionMsg_TabTargetConnectionInfo& info,
|
| - const std::string& extension_id,
|
| - const std::string& channel_name) {
|
| + const extensions::PortId& port_id) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| if (profile_) {
|
| - extensions::MessageService::Get(profile_)
|
| - ->OpenChannelToTab(source_process_id,
|
| - source_routing_id,
|
| - receiver_port_id,
|
| - info.tab_id,
|
| - info.frame_id,
|
| - extension_id,
|
| - channel_name);
|
| + extensions::MessageService::Get(profile_)->OpenChannelToTab(
|
| + render_process_id_, routing_id, port_id, info.tab_id, info.frame_id,
|
| + extension_id, channel_name);
|
| }
|
| }
|
|
|
| -void ChromeExtensionMessageFilter::OnOpenMessagePort(int routing_id,
|
| - int port_id) {
|
| +void ChromeExtensionMessageFilter::OnOpenMessagePort(
|
| + int routing_id,
|
| + const extensions::PortId& port_id) {
|
| if (!profile_)
|
| return;
|
|
|
| @@ -259,9 +177,10 @@ void ChromeExtensionMessageFilter::OnOpenMessagePort(int routing_id,
|
| port_id, render_process_id_, routing_id);
|
| }
|
|
|
| -void ChromeExtensionMessageFilter::OnCloseMessagePort(int routing_id,
|
| - int port_id,
|
| - bool force_close) {
|
| +void ChromeExtensionMessageFilter::OnCloseMessagePort(
|
| + int routing_id,
|
| + const extensions::PortId& port_id,
|
| + bool force_close) {
|
| if (!profile_)
|
| return;
|
|
|
| @@ -270,7 +189,7 @@ void ChromeExtensionMessageFilter::OnCloseMessagePort(int routing_id,
|
| }
|
|
|
| void ChromeExtensionMessageFilter::OnPostMessage(
|
| - int port_id,
|
| + const extensions::PortId& port_id,
|
| const extensions::Message& message) {
|
| if (!profile_)
|
| return;
|
|
|