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 cad18b665a88c5d88fdda749023cfd879bdf8a79..ae531912c1f34d9101b88bf3c562156c0d3c2a63 100644 |
--- a/chrome/browser/renderer_host/chrome_extension_message_filter.cc |
+++ b/chrome/browser/renderer_host/chrome_extension_message_filter.cc |
@@ -22,6 +22,7 @@ |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/render_process_host.h" |
#include "extensions/browser/extension_system.h" |
+#include "extensions/common/api/messaging/message.h" |
#include "extensions/common/constants.h" |
#include "extensions/common/extension_messages.h" |
#include "extensions/common/file_util.h" |
@@ -96,6 +97,7 @@ bool ChromeExtensionMessageFilter::OnMessageReceived( |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToTab, OnOpenChannelToTab) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToNativeApp, |
OnOpenChannelToNativeApp) |
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_PostMessage, OnPostMessage) |
IPC_MESSAGE_HANDLER_DELAY_REPLY(ExtensionHostMsg_GetMessageBundle, |
OnGetExtMessageBundle) |
IPC_MESSAGE_HANDLER(ExtensionHostMsg_CloseChannel, OnExtensionCloseChannel) |
@@ -114,6 +116,7 @@ bool ChromeExtensionMessageFilter::OnMessageReceived( |
void ChromeExtensionMessageFilter::OverrideThreadForMessage( |
const IPC::Message& message, BrowserThread::ID* thread) { |
switch (message.type()) { |
+ case ExtensionHostMsg_PostMessage::ID: |
case ExtensionHostMsg_CloseChannel::ID: |
*thread = BrowserThread::UI; |
break; |
@@ -168,7 +171,7 @@ void ChromeExtensionMessageFilter::OpenChannelToExtensionOnUIThread( |
const ExtensionMsg_ExternalConnectionInfo& info, |
const std::string& channel_name, |
bool include_tls_channel_id) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
not at google - send to devlin
2014/07/17 20:56:49
I couldn't handle it anymore.
|
if (profile_) { |
extensions::MessageService::Get(profile_) |
->OpenChannelToExtension(source_process_id, |
@@ -202,7 +205,7 @@ void ChromeExtensionMessageFilter::OpenChannelToNativeAppOnUIThread( |
int receiver_port_id, |
const std::string& source_extension_id, |
const std::string& native_app_name) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
if (profile_) { |
extensions::MessageService::Get(profile_) |
->OpenChannelToNativeApp(render_process_id_, |
@@ -232,7 +235,7 @@ void ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread( |
int tab_id, |
const std::string& extension_id, |
const std::string& channel_name) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
if (profile_) { |
extensions::MessageService::Get(profile_) |
->OpenChannelToTab(source_process_id, |
@@ -244,6 +247,12 @@ void ChromeExtensionMessageFilter::OpenChannelToTabOnUIThread( |
} |
} |
+void ChromeExtensionMessageFilter::OnPostMessage( |
+ int port_id, |
+ const extensions::Message& message) { |
+ extensions::MessageService::Get(profile_)->PostMessage(port_id, message); |
+} |
+ |
void ChromeExtensionMessageFilter::OnGetExtMessageBundle( |
const std::string& extension_id, IPC::Message* reply_msg) { |
const extensions::Extension* extension = |