#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/common/extensions/api/i18n/default_locale_handler.h"
-#include "chrome/common/render_messages.h"
+#include "chrome/common/extensions/chrome_extension_messages.h"
#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"
namespace {
const uint32 kFilteredMessageClasses[] = {
- ChromeMsgStart,
+ ChromeExtensionMsgStart,
ExtensionMsgStart,
};
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)
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;
const ExtensionMsg_ExternalConnectionInfo& info,
const std::string& channel_name,
bool include_tls_channel_id) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
if (profile_) {
extensions::MessageService::Get(profile_)
->OpenChannelToExtension(source_process_id,
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_,
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,
}
}
+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 =