summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_message_service.cc
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 00:34:30 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 00:34:30 +0000
commitf3b1a084a01ab82caf998daefcb989c66ff16135 (patch)
tree1072e46976c2fb7fa82d72c74bdc579d78f0ce01 /chrome/browser/extensions/extension_message_service.cc
parent8f0633691cd10779408642e2ad5eaa9b0c190b0a (diff)
downloadchromium_src-f3b1a084a01ab82caf998daefcb989c66ff16135.zip
chromium_src-f3b1a084a01ab82caf998daefcb989c66ff16135.tar.gz
chromium_src-f3b1a084a01ab82caf998daefcb989c66ff16135.tar.bz2
Define the public interface for content browser RenderProcessHost. This interface is implemented by the RenderProcessHostImpl class which lives in content\browser\renderer_host\render_process_host_impl.cc/.h. The RenderProcessHostImpl class is a consolidation of the RenderProcessHost and BrowserRenderProcessHost classes.
The RenderProcessHost public interface was created from the now deleted RenderProcessHost class defined in content\browser\renderer_host\render_process_host.h. Additional methods have been added to the interface to ensure that it works correctly with the MockRenderProcessHost class used by unit tests. I had to implement a number of overrides in the MockRenderProcessHost class to ensure that tests work correctly. This was because of assumptions in the tests that the MockRPH class was a real RPH which it was till now. Added a TODO for the methods which could potentially be removed from this interface. Will revisit that in a subsequent CL. BUG=98716 TEST=No change in functionality. Hopefully it all compiles and works. Review URL: http://codereview.chromium.org/8515027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110615 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_message_service.cc')
-rw-r--r--chrome/browser/extensions/extension_message_service.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/chrome/browser/extensions/extension_message_service.cc b/chrome/browser/extensions/extension_message_service.cc
index d89b6e6..361c408 100644
--- a/chrome/browser/extensions/extension_message_service.cc
+++ b/chrome/browser/extensions/extension_message_service.cc
@@ -17,11 +17,11 @@
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_messages.h"
#include "content/browser/child_process_security_policy.h"
-#include "content/browser/renderer_host/render_process_host.h"
#include "content/browser/renderer_host/render_view_host.h"
#include "content/browser/tab_contents/tab_contents.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
+#include "content/public/browser/render_process_host.h"
// Since we have 2 ports for every channel, we just index channels by half the
// port ID.
@@ -94,7 +94,7 @@ static void DispatchOnMessage(const ExtensionMessageService::MessagePort& port,
port.routing_id, target_port_id, message));
}
-static RenderProcessHost* GetExtensionProcess(Profile* profile,
+static content::RenderProcessHost* GetExtensionProcess(Profile* profile,
const std::string& extension_id) {
SiteInstance* site_instance =
profile->GetExtensionProcessManager()->GetSiteInstanceForURL(
@@ -153,10 +153,11 @@ void ExtensionMessageService::OpenChannelToExtension(
const std::string& source_extension_id,
const std::string& target_extension_id,
const std::string& channel_name) {
- RenderProcessHost* source = RenderProcessHost::FromID(source_process_id);
+ content::RenderProcessHost* source =
+ content::RenderProcessHost::FromID(source_process_id);
if (!source)
return;
- Profile* profile = Profile::FromBrowserContext(source->browser_context());
+ Profile* profile = Profile::FromBrowserContext(source->GetBrowserContext());
// Note: we use the source's profile here. If the source is an incognito
// process, we will use the incognito EPM to find the right extension process,
@@ -183,10 +184,11 @@ void ExtensionMessageService::OpenChannelToTab(
int source_process_id, int source_routing_id, int receiver_port_id,
int tab_id, const std::string& extension_id,
const std::string& channel_name) {
- RenderProcessHost* source = RenderProcessHost::FromID(source_process_id);
+ content::RenderProcessHost* source =
+ content::RenderProcessHost::FromID(source_process_id);
if (!source)
return;
- Profile* profile = Profile::FromBrowserContext(source->browser_context());
+ Profile* profile = Profile::FromBrowserContext(source->GetBrowserContext());
TabContentsWrapper* contents = NULL;
MessagePort receiver;
@@ -345,8 +347,8 @@ void ExtensionMessageService::Observe(
switch (type) {
case content::NOTIFICATION_RENDERER_PROCESS_TERMINATED:
case content::NOTIFICATION_RENDERER_PROCESS_CLOSED: {
- RenderProcessHost* renderer =
- content::Source<RenderProcessHost>(source).ptr();
+ content::RenderProcessHost* renderer =
+ content::Source<content::RenderProcessHost>(source).ptr();
OnSenderClosed(renderer);
break;
}