Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 16431010: Refactor RenderProcessHost to use IPC::Listener instead of RenderWidgetHost (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing Windows compile error. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_view_host_impl.cc
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index a09f793a2def90606824205da191faacd6b3b5da..336e6a4ad8e16f5b92ca8a289340eb72e2102b1c 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -121,10 +121,8 @@ g_created_callbacks = LAZY_INSTANCE_INITIALIZER;
// static
RenderViewHost* RenderViewHost::FromID(int render_process_id,
int render_view_id) {
- RenderProcessHost* process = RenderProcessHost::FromID(render_process_id);
- if (!process)
- return NULL;
- RenderWidgetHost* widget = process->GetRenderWidgetHostByID(render_view_id);
+ RenderWidgetHost* widget =
+ RenderWidgetHost::FromID(render_process_id, render_view_id);
if (!widget || !widget->IsRenderView())
return NULL;
return static_cast<RenderViewHostImpl*>(RenderWidgetHostImpl::From(widget));
@@ -490,10 +488,13 @@ void RenderViewHostImpl::WasSwappedOut() {
// Count the number of widget hosts for the process, which is equivalent to
// views using the process as of this writing.
- RenderProcessHost::RenderWidgetHostsIterator iter(
- GetProcess()->GetRenderWidgetHostsIterator());
- for (; !iter.IsAtEnd(); iter.Advance())
- ++views;
+ RenderWidgetHost::List widgets = RenderWidgetHost::GetRenderWidgetHosts();
+ for (RenderWidgetHost::List::const_iterator it = widgets.begin();
jam 2013/06/12 19:59:59 ditto re size_t
nasko 2013/06/12 21:18:59 Done.
+ it != widgets.end(); ++it) {
+ const RenderWidgetHost* widget = *it;
+ if (widget->GetProcess()->GetID() == GetProcess()->GetID())
+ ++views;
+ }
if (!RenderProcessHost::run_renderer_in_process() &&
process_handle && views <= 1) {

Powered by Google App Engine
This is Rietveld 408576698