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

Unified Diff: chrome/browser/renderer_host/chrome_extension_message_filter.cc

Issue 1413543005: Use FrameTreeNode ID as frameId in extension APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: s/:/ / Created 4 years, 11 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: 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 921b22525dfa9d595292b4c7c39444a47ebd6562..59412fc07d01b69ee42b4b16c33112a7c57c3e7c 100644
--- a/chrome/browser/renderer_host/chrome_extension_message_filter.cc
+++ b/chrome/browser/renderer_host/chrome_extension_message_filter.cc
@@ -86,10 +86,11 @@ bool ChromeExtensionMessageFilter::OnMessageReceived(
IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToTab, OnOpenChannelToTab)
IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToNativeApp,
OnOpenChannelToNativeApp)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenMessagePort, OnOpenMessagePort)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseMessagePort, OnCloseMessagePort)
IPC_MESSAGE_HANDLER(ExtensionHostMsg_PostMessage, OnPostMessage)
IPC_MESSAGE_HANDLER_DELAY_REPLY(ExtensionHostMsg_GetMessageBundle,
OnGetExtMessageBundle)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel, OnExtensionCloseChannel)
IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddAPIActionToActivityLog,
OnAddAPIActionToExtensionActivityLog);
IPC_MESSAGE_HANDLER(ExtensionHostMsg_AddDOMActionToActivityLog,
@@ -105,8 +106,9 @@ bool ChromeExtensionMessageFilter::OnMessageReceived(
void ChromeExtensionMessageFilter::OverrideThreadForMessage(
const IPC::Message& message, BrowserThread::ID* thread) {
switch (message.type()) {
+ case ExtensionHostMsg_OpenMessagePort::ID:
+ case ExtensionHostMsg_CloseMessagePort::ID:
case ExtensionHostMsg_PostMessage::ID:
- case ExtensionHostMsg_CloseChannel::ID:
case ExtensionHostMsg_AddAPIActionToActivityLog::ID:
case ExtensionHostMsg_AddDOMActionToActivityLog::ID:
case ExtensionHostMsg_AddEventToActivityLog::ID:
@@ -194,6 +196,7 @@ void ChromeExtensionMessageFilter::OpenChannelToNativeAppOnUIThread(
}
void ChromeExtensionMessageFilter::OnOpenChannelToTab(
+ int routing_id,
const ExtensionMsg_TabTargetConnectionInfo& info,
const std::string& extension_id,
const std::string& channel_name,
@@ -204,12 +207,13 @@ void ChromeExtensionMessageFilter::OnOpenChannelToTab(
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::Bind(&ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread,
- this, render_process_id_, port2_id, info, extension_id,
- channel_name));
+ 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,
@@ -218,6 +222,7 @@ void ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread(
if (profile_) {
extensions::MessageService::Get(profile_)
->OpenChannelToTab(source_process_id,
+ source_routing_id,
receiver_port_id,
info.tab_id,
info.frame_id,
@@ -226,6 +231,25 @@ void ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread(
}
}
+void ChromeExtensionMessageFilter::OnOpenMessagePort(int routing_id,
+ int port_id) {
+ if (!profile_)
+ return;
+
+ extensions::MessageService::Get(profile_)->OpenPort(
+ port_id, render_process_id_, routing_id);
+}
+
+void ChromeExtensionMessageFilter::OnCloseMessagePort(int routing_id,
+ int port_id,
+ bool force_close) {
+ if (!profile_)
+ return;
+
+ extensions::MessageService::Get(profile_)->ClosePort(
+ port_id, render_process_id_, routing_id, force_close);
+}
+
void ChromeExtensionMessageFilter::OnPostMessage(
int port_id,
const extensions::Message& message) {
@@ -261,21 +285,6 @@ void ChromeExtensionMessageFilter::OnGetExtMessageBundleOnBlockingPool(
Send(reply_msg);
}
-void ChromeExtensionMessageFilter::OnExtensionCloseChannel(
- int port_id,
- const std::string& error_message) {
- if (!profile_)
- return;
-
- if (!content::RenderProcessHost::FromID(render_process_id_))
- return; // To guard against crash in browser_tests shutdown.
-
- extensions::MessageService* message_service =
- extensions::MessageService::Get(profile_);
- if (message_service)
- message_service->CloseChannel(port_id, error_message);
-}
-
void ChromeExtensionMessageFilter::OnAddAPIActionToExtensionActivityLog(
const std::string& extension_id,
const ExtensionHostMsg_APIActionOrEvent_Params& params) {

Powered by Google App Engine
This is Rietveld 408576698