summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/renderer_host')
-rw-r--r--content/browser/renderer_host/browser_render_process_host.cc77
-rw-r--r--content/browser/renderer_host/browser_render_process_host.h2
-rw-r--r--content/browser/renderer_host/mock_render_process_host.cc15
-rw-r--r--content/browser/renderer_host/mock_render_process_host.h5
-rw-r--r--content/browser/renderer_host/pepper_file_message_filter.cc11
-rw-r--r--content/browser/renderer_host/pepper_file_message_filter.h7
-rw-r--r--content/browser/renderer_host/render_message_filter.cc12
-rw-r--r--content/browser/renderer_host/render_message_filter.h10
-rw-r--r--content/browser/renderer_host/render_process_host.cc24
-rw-r--r--content/browser/renderer_host/render_process_host.h31
-rw-r--r--content/browser/renderer_host/render_view_host_delegate.h8
11 files changed, 114 insertions, 88 deletions
diff --git a/content/browser/renderer_host/browser_render_process_host.cc b/content/browser/renderer_host/browser_render_process_host.cc
index d93f0f2..2292867 100644
--- a/content/browser/renderer_host/browser_render_process_host.cc
+++ b/content/browser/renderer_host/browser_render_process_host.cc
@@ -26,9 +26,9 @@
#include "base/string_util.h"
#include "base/threading/thread.h"
#include "base/threading/thread_restrictions.h"
-#include "chrome/browser/profiles/profile.h"
#include "content/browser/appcache/appcache_dispatcher_host.h"
#include "content/browser/browser_child_process_host.h"
+#include "content/browser/browser_context.h"
#include "content/browser/child_process_security_policy.h"
#include "content/browser/content_browser_client.h"
#include "content/browser/device_orientation/message_filter.h"
@@ -151,11 +151,11 @@ namespace {
class RendererURLRequestContextSelector
: public ResourceMessageFilter::URLRequestContextSelector {
public:
- RendererURLRequestContextSelector(Profile* profile,
+ RendererURLRequestContextSelector(content::BrowserContext* browser_context,
int render_child_id)
- : request_context_(profile->GetRequestContextForRenderProcess(
+ : request_context_(browser_context->GetRequestContextForRenderProcess(
render_child_id)),
- media_request_context_(profile->GetRequestContextForMedia()) {
+ media_request_context_(browser_context->GetRequestContextForMedia()) {
}
virtual net::URLRequestContext* GetRequestContext(
@@ -178,15 +178,16 @@ class RendererURLRequestContextSelector
} // namespace
-BrowserRenderProcessHost::BrowserRenderProcessHost(Profile* profile)
- : RenderProcessHost(profile),
- visible_widgets_(0),
- backgrounded_(true),
- ALLOW_THIS_IN_INITIALIZER_LIST(cached_dibs_cleaner_(
- base::TimeDelta::FromSeconds(5),
- this, &BrowserRenderProcessHost::ClearTransportDIBCache)),
- accessibility_enabled_(false),
- is_initialized_(false) {
+BrowserRenderProcessHost::BrowserRenderProcessHost(
+ content::BrowserContext* browser_context)
+ : RenderProcessHost(browser_context),
+ visible_widgets_(0),
+ backgrounded_(true),
+ ALLOW_THIS_IN_INITIALIZER_LIST(cached_dibs_cleaner_(
+ base::TimeDelta::FromSeconds(5),
+ this, &BrowserRenderProcessHost::ClearTransportDIBCache)),
+ accessibility_enabled_(false),
+ is_initialized_(false) {
widget_helper_ = new RenderWidgetHelper();
ChildProcessSecurityPolicy::GetInstance()->Add(id());
@@ -197,7 +198,7 @@ BrowserRenderProcessHost::BrowserRenderProcessHost(Profile* profile)
// requests them.
// This is for the filesystem sandbox.
ChildProcessSecurityPolicy::GetInstance()->GrantPermissionsForFile(
- id(), profile->GetPath().Append(
+ id(), browser_context->GetPath().Append(
fileapi::SandboxMountPointProvider::kNewFileSystemDirectory),
base::PLATFORM_FILE_OPEN |
base::PLATFORM_FILE_CREATE |
@@ -214,14 +215,14 @@ BrowserRenderProcessHost::BrowserRenderProcessHost(Profile* profile)
// This is so that we can read and move stuff out of the old filesystem
// sandbox.
ChildProcessSecurityPolicy::GetInstance()->GrantPermissionsForFile(
- id(), profile->GetPath().Append(
+ id(), browser_context->GetPath().Append(
fileapi::SandboxMountPointProvider::kOldFileSystemDirectory),
base::PLATFORM_FILE_READ | base::PLATFORM_FILE_WRITE |
base::PLATFORM_FILE_WRITE_ATTRIBUTES | base::PLATFORM_FILE_ENUMERATE);
// This is so that we can rename the old sandbox out of the way so that we
// know we've taken care of it.
ChildProcessSecurityPolicy::GetInstance()->GrantPermissionsForFile(
- id(), profile->GetPath().Append(
+ id(), browser_context->GetPath().Append(
fileapi::SandboxMountPointProvider::kRenamedOldFileSystemDirectory),
base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_CREATE_ALWAYS |
base::PLATFORM_FILE_WRITE);
@@ -343,57 +344,59 @@ void BrowserRenderProcessHost::CreateMessageFilters() {
new RenderMessageFilter(
id(),
PluginService::GetInstance(),
- profile(),
- profile()->GetRequestContextForRenderProcess(id()),
+ browser_context(),
+ browser_context()->GetRequestContextForRenderProcess(id()),
widget_helper_));
channel_->AddFilter(render_message_filter);
ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter(
id(), ChildProcessInfo::RENDER_PROCESS,
- &profile()->GetResourceContext(),
- new RendererURLRequestContextSelector(profile(), id()),
+ &browser_context()->GetResourceContext(),
+ new RendererURLRequestContextSelector(browser_context(), id()),
content::GetContentClient()->browser()->GetResourceDispatcherHost());
channel_->AddFilter(resource_message_filter);
channel_->AddFilter(new AudioInputRendererHost());
- channel_->AddFilter(new AudioRendererHost(&profile()->GetResourceContext()));
+ channel_->AddFilter(
+ new AudioRendererHost(&browser_context()->GetResourceContext()));
channel_->AddFilter(new VideoCaptureHost());
channel_->AddFilter(
- new AppCacheDispatcherHost(&profile()->GetResourceContext(), id()));
+ new AppCacheDispatcherHost(&browser_context()->GetResourceContext(),
+ id()));
channel_->AddFilter(new ClipboardMessageFilter());
channel_->AddFilter(
- new DOMStorageMessageFilter(id(), profile()->GetWebKitContext()));
+ new DOMStorageMessageFilter(id(), browser_context()->GetWebKitContext()));
channel_->AddFilter(
- new IndexedDBDispatcherHost(id(), profile()->GetWebKitContext()));
+ new IndexedDBDispatcherHost(id(), browser_context()->GetWebKitContext()));
channel_->AddFilter(
GeolocationDispatcherHost::New(
- id(), profile()->GetGeolocationPermissionContext()));
+ id(), browser_context()->GetGeolocationPermissionContext()));
channel_->AddFilter(new GpuMessageFilter(id(), widget_helper_.get()));
channel_->AddFilter(new media_stream::MediaStreamDispatcherHost(id()));
- channel_->AddFilter(new PepperFileMessageFilter(id(), profile()));
+ channel_->AddFilter(new PepperFileMessageFilter(id(), browser_context()));
channel_->AddFilter(
- new PepperMessageFilter(&profile()->GetResourceContext()));
+ new PepperMessageFilter(&browser_context()->GetResourceContext()));
channel_->AddFilter(new speech_input::SpeechInputDispatcherHost(id()));
channel_->AddFilter(
- new FileSystemDispatcherHost(&profile()->GetResourceContext()));
+ new FileSystemDispatcherHost(&browser_context()->GetResourceContext()));
channel_->AddFilter(new device_orientation::MessageFilter());
channel_->AddFilter(
- new BlobMessageFilter(id(), profile()->GetBlobStorageContext()));
+ new BlobMessageFilter(id(), browser_context()->GetBlobStorageContext()));
channel_->AddFilter(new FileUtilitiesMessageFilter(id()));
channel_->AddFilter(new MimeRegistryMessageFilter());
channel_->AddFilter(new DatabaseMessageFilter(
- profile()->GetDatabaseTracker()));
+ browser_context()->GetDatabaseTracker()));
SocketStreamDispatcherHost* socket_stream_dispatcher_host =
new SocketStreamDispatcherHost(
- new RendererURLRequestContextSelector(profile(), id()),
- &profile()->GetResourceContext());
+ new RendererURLRequestContextSelector(browser_context(), id()),
+ &browser_context()->GetResourceContext());
channel_->AddFilter(socket_stream_dispatcher_host);
channel_->AddFilter(
new WorkerMessageFilter(
id(),
- &profile()->GetResourceContext(),
+ &browser_context()->GetResourceContext(),
content::GetContentClient()->browser()->GetResourceDispatcherHost(),
NewCallbackWithReturnValue(
widget_helper_.get(), &RenderWidgetHelper::GetNextRoutingID)));
@@ -405,7 +408,7 @@ void BrowserRenderProcessHost::CreateMessageFilters() {
channel_->AddFilter(new TraceMessageFilter());
channel_->AddFilter(new ResolveProxyMsgHelper(NULL));
channel_->AddFilter(new QuotaDispatcherHost(
- id(), profile()->GetQuotaManager(),
+ id(), browser_context()->GetQuotaManager(),
content::GetContentClient()->browser()->CreateQuotaPermissionContext()));
}
@@ -599,7 +602,7 @@ void BrowserRenderProcessHost::PropagateBrowserCommandLineToRenderer(
arraysize(kSwitchNames));
// Disable databases in incognito mode.
- if (profile()->IsOffTheRecord() &&
+ if (browser_context()->IsOffTheRecord() &&
!browser_cmd.HasSwitch(switches::kDisableDatabases)) {
renderer_cmd->AppendSwitch(switches::kDisableDatabases);
}
@@ -729,8 +732,8 @@ bool BrowserRenderProcessHost::Send(IPC::Message* msg) {
}
bool BrowserRenderProcessHost::OnMessageReceived(const IPC::Message& msg) {
- // If we're about to be deleted, we can no longer trust that our profile is
- // valid, so we ignore incoming messages.
+ // If we're about to be deleted, we can no longer trust that our browser
+ // context is valid, so we ignore incoming messages.
if (deleting_soon_)
return false;
diff --git a/content/browser/renderer_host/browser_render_process_host.h b/content/browser/renderer_host/browser_render_process_host.h
index 9bc9047..9b49481 100644
--- a/content/browser/renderer_host/browser_render_process_host.h
+++ b/content/browser/renderer_host/browser_render_process_host.h
@@ -42,7 +42,7 @@ class SharedMemory;
class BrowserRenderProcessHost : public RenderProcessHost,
public ChildProcessLauncher::Client {
public:
- explicit BrowserRenderProcessHost(Profile* profile);
+ explicit BrowserRenderProcessHost(content::BrowserContext* browser_context);
virtual ~BrowserRenderProcessHost();
// RenderProcessHost implementation (public portion).
diff --git a/content/browser/renderer_host/mock_render_process_host.cc b/content/browser/renderer_host/mock_render_process_host.cc
index 4b27ce3..87ec8de 100644
--- a/content/browser/renderer_host/mock_render_process_host.cc
+++ b/content/browser/renderer_host/mock_render_process_host.cc
@@ -6,11 +6,12 @@
#include "content/browser/child_process_security_policy.h"
-MockRenderProcessHost::MockRenderProcessHost(Profile* profile)
- : RenderProcessHost(profile),
- transport_dib_(NULL),
- bad_msg_count_(0),
- factory_(NULL) {
+MockRenderProcessHost::MockRenderProcessHost(
+ content::BrowserContext* browser_context)
+ : RenderProcessHost(browser_context),
+ transport_dib_(NULL),
+ bad_msg_count_(0),
+ factory_(NULL) {
// Child process security operations can't be unit tested unless we add
// ourselves as an existing child process.
ChildProcessSecurityPolicy::GetInstance()->Add(id());
@@ -127,8 +128,8 @@ MockRenderProcessHostFactory::~MockRenderProcessHostFactory() {
}
RenderProcessHost* MockRenderProcessHostFactory::CreateRenderProcessHost(
- Profile* profile) const {
- MockRenderProcessHost* host = new MockRenderProcessHost(profile);
+ content::BrowserContext* browser_context) const {
+ MockRenderProcessHost* host = new MockRenderProcessHost(browser_context);
if (host) {
processes_.push_back(host);
host->SetFactory(this);
diff --git a/content/browser/renderer_host/mock_render_process_host.h b/content/browser/renderer_host/mock_render_process_host.h
index a785129..7afb95a 100644
--- a/content/browser/renderer_host/mock_render_process_host.h
+++ b/content/browser/renderer_host/mock_render_process_host.h
@@ -22,7 +22,7 @@ class URLRequestContextGetter;
// IPC messages are sent into the message sink for inspection by tests.
class MockRenderProcessHost : public RenderProcessHost {
public:
- explicit MockRenderProcessHost(Profile* profile);
+ explicit MockRenderProcessHost(content::BrowserContext* browser_context);
virtual ~MockRenderProcessHost();
// Provides access to all IPC messages that would have been sent to the
@@ -84,7 +84,8 @@ class MockRenderProcessHostFactory : public RenderProcessHostFactory {
MockRenderProcessHostFactory();
virtual ~MockRenderProcessHostFactory();
- virtual RenderProcessHost* CreateRenderProcessHost(Profile* profile) const;
+ virtual RenderProcessHost* CreateRenderProcessHost(
+ content::BrowserContext* browser_context) const OVERRIDE;
// Removes the given MockRenderProcessHost from the MockRenderProcessHost list
// without deleting it. When a test deletes a MockRenderProcessHost, we need
diff --git a/content/browser/renderer_host/pepper_file_message_filter.cc b/content/browser/renderer_host/pepper_file_message_filter.cc
index 1d2660d..b1b9e19 100644
--- a/content/browser/renderer_host/pepper_file_message_filter.cc
+++ b/content/browser/renderer_host/pepper_file_message_filter.cc
@@ -9,7 +9,7 @@
#include "base/file_util.h"
#include "base/platform_file.h"
#include "base/process_util.h"
-#include "chrome/browser/profiles/profile.h"
+#include "content/browser/browser_context.h"
#include "content/browser/browser_thread.h"
#include "content/browser/child_process_security_policy.h"
#include "content/browser/renderer_host/browser_render_process_host.h"
@@ -35,10 +35,11 @@ const int kWritePermissions = base::PLATFORM_FILE_OPEN |
base::PLATFORM_FILE_EXCLUSIVE_WRITE |
base::PLATFORM_FILE_WRITE_ATTRIBUTES;
-PepperFileMessageFilter::PepperFileMessageFilter(int child_id,
- Profile* profile)
- : child_id_(child_id) {
- pepper_path_ = profile->GetPath().Append(FILE_PATH_LITERAL("Pepper Data"));
+PepperFileMessageFilter::PepperFileMessageFilter(
+ int child_id, content::BrowserContext* browser_context)
+ : child_id_(child_id) {
+ pepper_path_ =
+ browser_context->GetPath().Append(FILE_PATH_LITERAL("Pepper Data"));
}
PepperFileMessageFilter::~PepperFileMessageFilter() {
diff --git a/content/browser/renderer_host/pepper_file_message_filter.h b/content/browser/renderer_host/pepper_file_message_filter.h
index a241b44..6fa662c 100644
--- a/content/browser/renderer_host/pepper_file_message_filter.h
+++ b/content/browser/renderer_host/pepper_file_message_filter.h
@@ -18,7 +18,9 @@
#include "ipc/ipc_platform_file.h"
#include "webkit/plugins/ppapi/dir_contents.h"
-class Profile;
+namespace content {
+class BrowserContext;
+}
namespace webkit {
namespace ppapi {
@@ -29,7 +31,8 @@ class PepperFilePath;
// A message filter for Pepper-specific File I/O messages.
class PepperFileMessageFilter : public BrowserMessageFilter {
public:
- PepperFileMessageFilter(int child_id, Profile* profile);
+ PepperFileMessageFilter(int child_id,
+ content::BrowserContext* browser_context);
// BrowserMessageFilter methods:
virtual void OverrideThreadForMessage(const IPC::Message& message,
diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc
index 8812e61..de6d129 100644
--- a/content/browser/renderer_host/render_message_filter.cc
+++ b/content/browser/renderer_host/render_message_filter.cc
@@ -15,7 +15,7 @@
#include "base/utf_string_conversions.h"
#include "chrome/browser/download/download_types.h"
#include "chrome/browser/download/download_util.h"
-#include "chrome/browser/profiles/profile.h"
+#include "content/browser/browser_context.h"
#include "content/browser/browser_thread.h"
#include "content/browser/child_process_security_policy.h"
#include "content/browser/content_browser_client.h"
@@ -270,18 +270,18 @@ class DoomEntriesHelper {
RenderMessageFilter::RenderMessageFilter(
int render_process_id,
PluginService* plugin_service,
- Profile* profile,
+ content::BrowserContext* browser_context,
net::URLRequestContextGetter* request_context,
RenderWidgetHelper* render_widget_helper)
: resource_dispatcher_host_(
content::GetContentClient()->browser()->GetResourceDispatcherHost()),
plugin_service_(plugin_service),
- profile_(profile),
+ browser_context_(browser_context),
request_context_(request_context),
- resource_context_(profile->GetResourceContext()),
+ resource_context_(browser_context->GetResourceContext()),
render_widget_helper_(render_widget_helper),
- incognito_(profile->IsOffTheRecord()),
- webkit_context_(profile->GetWebKitContext()),
+ incognito_(browser_context->IsOffTheRecord()),
+ webkit_context_(browser_context->GetWebKitContext()),
render_process_id_(render_process_id) {
DCHECK(request_context_);
diff --git a/content/browser/renderer_host/render_message_filter.h b/content/browser/renderer_host/render_message_filter.h
index 11a28d6..8cdd496 100644
--- a/content/browser/renderer_host/render_message_filter.h
+++ b/content/browser/renderer_host/render_message_filter.h
@@ -28,7 +28,6 @@
struct FontDescriptor;
class HostContentSettingsMap;
-class Profile;
class RenderWidgetHelper;
struct ViewHostMsg_CreateWindow_Params;
struct ViewHostMsg_CreateWorker_Params;
@@ -38,6 +37,7 @@ struct WebScreenInfo;
}
namespace content {
+class BrowserContext;
class ResourceContext;
}
@@ -71,7 +71,7 @@ class RenderMessageFilter : public BrowserMessageFilter {
// Create the filter.
RenderMessageFilter(int render_process_id,
PluginService* plugin_service,
- Profile* profile,
+ content::BrowserContext* browser_context,
net::URLRequestContextGetter* request_context,
RenderWidgetHelper* render_widget_helper);
@@ -235,9 +235,9 @@ class RenderMessageFilter : public BrowserMessageFilter {
ResourceDispatcherHost* resource_dispatcher_host_;
PluginService* plugin_service_;
- // The Profile associated with our renderer process. This should only be
- // accessed on the UI thread!
- Profile* profile_;
+ // The browser context associated with our renderer process. This should only
+ // be accessed on the UI thread!
+ content::BrowserContext* browser_context_;
// Contextual information to be used for requests created here.
scoped_refptr<net::URLRequestContextGetter> request_context_;
diff --git a/content/browser/renderer_host/render_process_host.cc b/content/browser/renderer_host/render_process_host.cc
index f942e04..93eac4d 100644
--- a/content/browser/renderer_host/render_process_host.cc
+++ b/content/browser/renderer_host/render_process_host.cc
@@ -6,6 +6,7 @@
#include "base/rand_util.h"
#include "base/sys_info.h"
+#include "chrome/browser/profiles/profile.h"
#include "content/browser/browser_thread.h"
#include "content/browser/child_process_security_policy.h"
#include "content/common/child_process_info.h"
@@ -59,10 +60,11 @@ size_t GetMaxRendererProcessCount() {
}
// Returns true if the given host is suitable for launching a new view
-// associated with the given profile.
-static bool IsSuitableHost(RenderProcessHost* host, Profile* profile,
+// associated with the given browser context.
+static bool IsSuitableHost(RenderProcessHost* host,
+ content::BrowserContext* browser_context,
RenderProcessHost::Type type) {
- if (host->profile() != profile)
+ if (host->browser_context() != browser_context)
return false;
RenderProcessHost::Type host_type = RenderProcessHost::TYPE_NORMAL;
@@ -90,14 +92,14 @@ void RenderProcessHost::SetMaxRendererProcessCount(size_t count) {
max_renderer_count_override = count;
}
-RenderProcessHost::RenderProcessHost(Profile* profile)
+RenderProcessHost::RenderProcessHost(content::BrowserContext* browser_context)
: max_page_id_(-1),
fast_shutdown_started_(false),
deleting_soon_(false),
is_extension_process_(false),
pending_views_(0),
id_(ChildProcessInfo::GenerateChildProcessUniqueId()),
- profile_(profile),
+ browser_context_(browser_context),
sudden_termination_allowed_(true),
ignore_input_events_(false) {
all_hosts.AddWithID(this, id());
@@ -183,17 +185,17 @@ bool RenderProcessHost::ShouldTryToUseExistingProcessHost() {
// NOTE: Sometimes it's necessary to create more render processes than
// GetMaxRendererProcessCount(), for instance when we want to create
- // a renderer process for a profile that has no existing renderers.
- // This is OK in moderation, since the GetMaxRendererProcessCount()
- // is conservative.
+ // a renderer process for a browser context that has no existing
+ // renderers. This is OK in moderation, since the
+ // GetMaxRendererProcessCount() is conservative.
return run_renderer_in_process() ||
(renderer_process_count >= GetMaxRendererProcessCount());
}
// static
-RenderProcessHost* RenderProcessHost::GetExistingProcessHost(Profile* profile,
- Type type) {
+RenderProcessHost* RenderProcessHost::GetExistingProcessHost(
+ content::BrowserContext* browser_context, Type type) {
// First figure out which existing renderers we can use.
std::vector<RenderProcessHost*> suitable_renderers;
suitable_renderers.reserve(all_hosts.size());
@@ -201,7 +203,7 @@ RenderProcessHost* RenderProcessHost::GetExistingProcessHost(Profile* profile,
iterator iter(AllHostsIterator());
while (!iter.IsAtEnd()) {
if (run_renderer_in_process() ||
- IsSuitableHost(iter.GetCurrentValue(), profile, type))
+ IsSuitableHost(iter.GetCurrentValue(), browser_context, type))
suitable_renderers.push_back(iter.GetCurrentValue());
iter.Advance();
diff --git a/content/browser/renderer_host/render_process_host.h b/content/browser/renderer_host/render_process_host.h
index 5035cd4..0b3b3e9 100644
--- a/content/browser/renderer_host/render_process_host.h
+++ b/content/browser/renderer_host/render_process_host.h
@@ -13,17 +13,21 @@
#include "base/process.h"
#include "base/process_util.h"
#include "base/time.h"
+#include "chrome/browser/profiles/profile.h"
#include "ipc/ipc_channel_proxy.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/surface/transport_dib.h"
-class Profile;
struct ViewMsg_SwapOut_Params;
namespace base {
class SharedMemory;
}
+namespace content {
+class BrowserContext;
+}
+
namespace net {
class URLRequestContextGetter;
}
@@ -64,11 +68,17 @@ class RenderProcessHost : public IPC::Channel::Sender,
bool was_extension_renderer;
};
- explicit RenderProcessHost(Profile* profile);
+ explicit RenderProcessHost(content::BrowserContext* browser_context);
virtual ~RenderProcessHost();
- // Returns the user profile associated with this renderer process.
- Profile* profile() const { return profile_; }
+ // Returns the user browser context associated with this renderer process.
+ content::BrowserContext* browser_context() const { return browser_context_; }
+
+ // Returns the profile.
+ // TEMPORARY; http://crbug.com/76788
+ Profile* profile() const {
+ return Profile::FromBrowserContext(browser_context());
+ }
// Returns the unique ID for this child process. This can be used later in
// a call to FromID() to get back to this object (this is used to avoid
@@ -262,12 +272,13 @@ class RenderProcessHost : public IPC::Channel::Sender,
// RenderProcessHost rather than creating a new one.
static bool ShouldTryToUseExistingProcessHost();
- // Get an existing RenderProcessHost associated with the given profile, if
- // possible. The renderer process is chosen randomly from suitable renderers
- // that share the same profile and type.
+ // Get an existing RenderProcessHost associated with the given browser
+ // context, if possible. The renderer process is chosen randomly from
+ // suitable renderers that share the same context and type.
// Returns NULL if no suitable renderer process is available, in which case
// the caller is free to create a new renderer.
- static RenderProcessHost* GetExistingProcessHost(Profile* profile, Type type);
+ static RenderProcessHost* GetExistingProcessHost(
+ content::BrowserContext* browser_context, Type type);
// Overrides the default heuristic for limiting the max renderer process
// count. This is useful for unit testing process limit behaviors.
@@ -305,7 +316,7 @@ class RenderProcessHost : public IPC::Channel::Sender,
// The globally-unique identifier for this RPH.
int id_;
- Profile* profile_;
+ content::BrowserContext* browser_context_;
// set of listeners that expect the renderer process to close
std::set<int> listeners_expecting_close_;
@@ -337,7 +348,7 @@ class RenderProcessHostFactory {
public:
virtual ~RenderProcessHostFactory() {}
virtual RenderProcessHost* CreateRenderProcessHost(
- Profile* profile) const = 0;
+ content::BrowserContext* browser_context) const = 0;
};
#endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_H_
diff --git a/content/browser/renderer_host/render_view_host_delegate.h b/content/browser/renderer_host/render_view_host_delegate.h
index 8d4ea10..c1ae931 100644
--- a/content/browser/renderer_host/render_view_host_delegate.h
+++ b/content/browser/renderer_host/render_view_host_delegate.h
@@ -27,7 +27,6 @@ class BookmarkNode;
struct ContextMenuParams;
class GURL;
struct NativeWebKeyboardEvent;
-class Profile;
struct RendererPreferences;
class RenderProcessHost;
class RenderViewHost;
@@ -40,6 +39,10 @@ struct WebMenuItem;
class WebKeyboardEvent;
struct WebPreferences;
+namespace content {
+class BrowserContext;
+}
+
namespace gfx {
class Point;
class Rect;
@@ -295,7 +298,8 @@ class RenderViewHostDelegate : public IPC::Channel::Listener {
// Return a dummy RendererPreferences object that will be used by the renderer
// associated with the owning RenderViewHost.
- virtual RendererPreferences GetRendererPrefs(Profile* profile) const = 0;
+ virtual RendererPreferences GetRendererPrefs(
+ content::BrowserContext* browser_context) const = 0;
// Returns a WebPreferences object that will be used by the renderer
// associated with the owning render view host.