diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-14 19:04:15 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-14 19:04:15 +0000 |
commit | 9966c15b544129454e32349c43e8bd8ddeaf42d9 (patch) | |
tree | b0ee9d420f63526894aca6ceee33a3d927d2eb36 /chrome/browser/debugger | |
parent | d443fba7a6e9ad4eaa9fd86e508ee3973bcf81cf (diff) | |
download | chromium_src-9966c15b544129454e32349c43e8bd8ddeaf42d9.zip chromium_src-9966c15b544129454e32349c43e8bd8ddeaf42d9.tar.gz chromium_src-9966c15b544129454e32349c43e8bd8ddeaf42d9.tar.bz2 |
Only deliver extension messages to contexts that care. This
save 60 (of 70) mb of string data on www.mashable.com with
AdBlock installed.
BUG=96544,76571
Review URL: http://codereview.chromium.org/7890024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101111 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/debugger')
-rw-r--r-- | chrome/browser/debugger/extension_ports_remote_service.cc | 13 | ||||
-rw-r--r-- | chrome/browser/debugger/extension_ports_remote_service.h | 5 |
2 files changed, 7 insertions, 11 deletions
diff --git a/chrome/browser/debugger/extension_ports_remote_service.cc b/chrome/browser/debugger/extension_ports_remote_service.cc index 3c0275d..cf46fb8 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; diff --git a/chrome/browser/debugger/extension_ports_remote_service.h b/chrome/browser/debugger/extension_ports_remote_service.h index 0a5eea6..401f560 100644 --- a/chrome/browser/debugger/extension_ports_remote_service.h +++ b/chrome/browser/debugger/extension_ports_remote_service.h @@ -77,14 +77,15 @@ class ExtensionPortsRemoteService : public DevToolsRemoteListener, const std::string& tool, const std::string& destination); - // Handles a message from the ExtensionMessageService. + // Handles requests from ExtensionMessageService to invoke specific + // JavaScript functions. Currently we only handle the "disconnect" function. void OnExtensionMessageInvoke(const std::string& extension_id, const std::string& function_name, const base::ListValue& args, const GURL& event_url); // Handles a message sent from an extension through the // ExtensionMessageService, to be passed to the external client. - void OnExtensionMessage(const std::string& message, int port_id); + void OnDeliverMessage(int port_id, const std::string& message); // Handles a disconnect event sent from the ExtensionMessageService. void OnExtensionPortDisconnected(int port_id); |