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

Unified Diff: chrome/renderer/extensions/extension_helper.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/renderer/extensions/extension_helper.cc
diff --git a/chrome/renderer/extensions/extension_helper.cc b/chrome/renderer/extensions/extension_helper.cc
index 3b79e8480597280845fae5a3587702339b2bab04..0441a648d05ea26f87f1f9b7233ddd2394ea44ac 100644
--- a/chrome/renderer/extensions/extension_helper.cc
+++ b/chrome/renderer/extensions/extension_helper.cc
@@ -16,6 +16,7 @@
#include "chrome/renderer/extensions/event_bindings.h"
#include "chrome/renderer/extensions/extension_dispatcher.h"
#include "chrome/renderer/extensions/extension_process_bindings.h"
+#include "chrome/renderer/extensions/renderer_extension_bindings.h"
#include "chrome/renderer/extensions/user_script_idle_scheduler.h"
#include "chrome/renderer/extensions/user_script_slave.h"
#include "content/common/json_value_serializer.h"
@@ -121,6 +122,7 @@ bool ExtensionHelper::OnMessageReceived(const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(ExtensionHelper, message)
IPC_MESSAGE_HANDLER(ExtensionMsg_Response, OnExtensionResponse)
IPC_MESSAGE_HANDLER(ExtensionMsg_MessageInvoke, OnExtensionMessageInvoke)
+ IPC_MESSAGE_HANDLER(ExtensionMsg_DeliverMessage, OnExtensionDeliverMessage)
IPC_MESSAGE_HANDLER(ExtensionMsg_ExecuteCode, OnExecuteCode)
IPC_MESSAGE_HANDLER(ExtensionMsg_GetApplicationInfo, OnGetApplicationInfo)
IPC_MESSAGE_HANDLER(ExtensionMsg_UpdateBrowserWindowId,
@@ -204,6 +206,11 @@ void ExtensionHelper::OnExtensionMessageInvoke(const std::string& extension_id,
extension_id, function_name, args, render_view(), event_url);
}
+void ExtensionHelper::OnExtensionDeliverMessage(int target_id,
+ const std::string& message) {
+ RendererExtensionBindings::DeliverMessage(target_id, message, render_view());
+}
+
void ExtensionHelper::OnExecuteCode(
const ExtensionMsg_ExecuteCode_Params& params) {
WebView* webview = render_view()->webview();

Powered by Google App Engine
This is Rietveld 408576698