| Index: chrome/browser/tab_contents/background_contents.cc
|
| ===================================================================
|
| --- chrome/browser/tab_contents/background_contents.cc (revision 80315)
|
| +++ chrome/browser/tab_contents/background_contents.cc (working copy)
|
| @@ -6,15 +6,16 @@
|
|
|
| #include "chrome/browser/background_contents_service.h"
|
| #include "chrome/browser/desktop_notification_handler.h"
|
| +#include "chrome/browser/extensions/extension_message_handler.h"
|
| #include "chrome/browser/extensions/extension_message_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/renderer_preferences_util.h"
|
| #include "chrome/browser/ui/webui/chrome_web_ui_factory.h"
|
| #include "chrome/common/extensions/extension_constants.h"
|
| -#include "chrome/common/extensions/extension_messages.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "chrome/common/view_types.h"
|
| #include "content/browser/browsing_instance.h"
|
| +#include "content/browser/renderer_host/render_process_host.h"
|
| #include "content/browser/renderer_host/render_view_host.h"
|
| #include "content/browser/site_instance.h"
|
| #include "content/common/notification_service.h"
|
| @@ -45,6 +46,8 @@
|
| Source<Profile>(profile));
|
| desktop_notification_handler_.reset(
|
| new DesktopNotificationHandler(NULL, site_instance->GetProcess()));
|
| + extension_message_handler_.reset(new ExtensionMessageHandler(
|
| + render_view_host_->process()->id(), render_view_host_, profile));
|
| }
|
|
|
| // Exposed to allow creating mocks.
|
| @@ -198,16 +201,9 @@
|
| }
|
|
|
| bool BackgroundContents::OnMessageReceived(const IPC::Message& message) {
|
| - bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP(BackgroundContents, message)
|
| - IPC_MESSAGE_HANDLER(ExtensionHostMsg_PostMessage, OnPostMessage)
|
| - IPC_MESSAGE_UNHANDLED(handled = false)
|
| - IPC_END_MESSAGE_MAP()
|
| -
|
| - // Forward desktop notification IPCs if any to the
|
| - // DesktopNotificationHandler.
|
| + bool handled = desktop_notification_handler_->OnMessageReceived(message);
|
| if (!handled)
|
| - handled = desktop_notification_handler_->OnMessageReceived(message);
|
| + handled = extension_message_handler_->OnMessageReceived(message);
|
| return handled;
|
| }
|
|
|
| @@ -226,13 +222,6 @@
|
| false); // is_web_ui
|
| }
|
|
|
| -void BackgroundContents::ProcessWebUIMessage(
|
| - const ExtensionHostMsg_DomMessage_Params& params) {
|
| - // TODO(rafaelw): It may make sense for extensions to be able to open
|
| - // BackgroundContents to chrome-extension://<id> pages. Consider implementing.
|
| - render_view_host_->BlockExtensionRequest(params.request_id);
|
| -}
|
| -
|
| void BackgroundContents::CreateNewWindow(
|
| int route_id,
|
| const ViewHostMsg_CreateWindow_Params& params) {
|
| @@ -285,12 +274,3 @@
|
|
|
| return render_view_host->delegate()->GetAsBackgroundContents();
|
| }
|
| -
|
| -void BackgroundContents::OnPostMessage(int port_id,
|
| - const std::string& message) {
|
| - Profile* profile = render_view_host_->process()->profile();
|
| - if (profile->GetExtensionMessageService()) {
|
| - profile->GetExtensionMessageService()->PostMessageFromRenderer(
|
| - port_id, message);
|
| - }
|
| -}
|
|
|