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

Unified Diff: chrome/browser/debugger/extension_ports_remote_service.cc

Issue 7888064: Only deliver extension messages to contexts that care. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nail down a bit further. Only poke relevant RenderView in the case of chrome.tabs.connect(). Created 9 years, 3 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/debugger/extension_ports_remote_service.cc
diff --git a/chrome/browser/debugger/extension_ports_remote_service.cc b/chrome/browser/debugger/extension_ports_remote_service.cc
index 3c0275d5fb04056c5dc6bb98b4a1e10d6a0273ab..cf46fb8c1a354a72a32c508520863bbb726e4afd 100644
--- a/chrome/browser/debugger/extension_ports_remote_service.cc
+++ b/chrome/browser/debugger/extension_ports_remote_service.cc
@@ -226,6 +226,7 @@ bool ExtensionPortsRemoteService::Send(IPC::Message *message) {
IPC_BEGIN_MESSAGE_MAP(ExtensionPortsRemoteService, *message)
IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnExtensionMessageInvoke)
+ IPC_MESSAGE_HANDLER(ExtensionMsg_DeliverMessage, OnDeliverMessage)
IPC_MESSAGE_UNHANDLED_ERROR()
IPC_END_MESSAGE_MAP()
@@ -238,13 +239,7 @@ void ExtensionPortsRemoteService::OnExtensionMessageInvoke(
const std::string& function_name,
const ListValue& args,
const GURL& event_url) {
- if (function_name == ExtensionMessageService::kDispatchOnMessage) {
- DCHECK_EQ(args.GetSize(), 2u);
- std::string message;
- int port_id;
- if (args.GetString(0, &message) && args.GetInteger(1, &port_id))
- OnExtensionMessage(message, port_id);
- } else if (function_name == ExtensionMessageService::kDispatchOnDisconnect) {
+ if (function_name == ExtensionMessageService::kDispatchOnDisconnect) {
DCHECK_EQ(args.GetSize(), 1u);
int port_id;
if (args.GetInteger(0, &port_id))
@@ -258,8 +253,8 @@ void ExtensionPortsRemoteService::OnExtensionMessageInvoke(
}
}
-void ExtensionPortsRemoteService::OnExtensionMessage(
- const std::string& message, int port_id) {
+void ExtensionPortsRemoteService::OnDeliverMessage(
+ int port_id, const std::string& message) {
VLOG(1) << "Message event: from port " << port_id << ", < " << message << ">";
// Transpose the information into a JSON message for the external client.
DictionaryValue content;

Powered by Google App Engine
This is Rietveld 408576698