Index: chrome/renderer/extensions/extension_frame_helper.cc |
diff --git a/chrome/renderer/extensions/extension_frame_helper.cc b/chrome/renderer/extensions/extension_frame_helper.cc |
index 7ee0e21e35b718a0052fcd74c11b3428de698c86..ef0e95372fd44d9fee34f18c8e649b7a813b9e54 100644 |
--- a/chrome/renderer/extensions/extension_frame_helper.cc |
+++ b/chrome/renderer/extensions/extension_frame_helper.cc |
@@ -5,9 +5,11 @@ |
#include "chrome/renderer/extensions/extension_frame_helper.h" |
#include "content/public/renderer/render_frame.h" |
+#include "extensions/common/api/messaging/message.h" |
#include "extensions/common/extension_messages.h" |
#include "extensions/renderer/console.h" |
#include "extensions/renderer/dispatcher.h" |
+#include "extensions/renderer/messaging_bindings.h" |
#include "third_party/WebKit/public/web/WebConsoleMessage.h" |
#include "third_party/WebKit/public/web/WebLocalFrame.h" |
@@ -34,6 +36,11 @@ bool ExtensionFrameHelper::OnMessageReceived(const IPC::Message& message) { |
IPC_BEGIN_MESSAGE_MAP(ExtensionFrameHelper, message) |
IPC_MESSAGE_HANDLER(ExtensionMsg_AddMessageToConsole, |
OnAddMessageToConsole) |
+ IPC_MESSAGE_HANDLER(ExtensionMsg_DispatchOnConnect, |
+ OnExtensionDispatchOnConnect) |
+ IPC_MESSAGE_HANDLER(ExtensionMsg_DeliverMessage, OnExtensionDeliverMessage) |
+ IPC_MESSAGE_HANDLER(ExtensionMsg_DispatchOnDisconnect, |
+ OnExtensionDispatchOnDisconnect) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -45,4 +52,35 @@ void ExtensionFrameHelper::OnAddMessageToConsole( |
console::AddMessage(render_frame()->GetRenderView(), level, message); |
} |
+void ExtensionFrameHelper::OnExtensionDispatchOnConnect( |
+ int target_port_id, |
+ const std::string& channel_name, |
+ const ExtensionMsg_TabConnectionInfo& source, |
+ const ExtensionMsg_ExternalConnectionInfo& info, |
+ const std::string& tls_channel_id) { |
+ MessagingBindings::DispatchOnConnect( |
+ extension_dispatcher_->script_context_set(), |
+ target_port_id, |
+ channel_name, |
+ source, |
+ info, |
+ tls_channel_id, |
+ render_frame()); |
+} |
+ |
+void ExtensionFrameHelper::OnExtensionDeliverMessage(int target_id, |
+ const Message& message) { |
+ MessagingBindings::DeliverMessage( |
+ extension_dispatcher_->script_context_set(), target_id, message, |
+ render_frame()); |
+} |
+ |
+void ExtensionFrameHelper::OnExtensionDispatchOnDisconnect( |
+ int port_id, |
+ const std::string& error_message) { |
+ MessagingBindings::DispatchOnDisconnect( |
+ extension_dispatcher_->script_context_set(), port_id, error_message, |
+ render_frame()); |
+} |
+ |
} // namespace extensions |