| Index: content/browser/devtools/render_view_devtools_agent_host.cc
|
| diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc
|
| index 39698d3a308cf5a212747afb66738bcb8d3f17e1..51cee3c3589adaddf1d551104fe2f1a91d2fa7b4 100644
|
| --- a/content/browser/devtools/render_view_devtools_agent_host.cc
|
| +++ b/content/browser/devtools/render_view_devtools_agent_host.cc
|
| @@ -120,37 +120,26 @@ void DevToolsAgentHost::ConnectRenderViewHost(const std::string& cookie,
|
| //static
|
| std::vector<RenderViewHost*> DevToolsAgentHost::GetValidRenderViewHosts() {
|
| std::vector<RenderViewHost*> result;
|
| - for (RenderProcessHost::iterator it(RenderProcessHost::AllHostsIterator());
|
| - !it.IsAtEnd(); it.Advance()) {
|
| - RenderProcessHost* render_process_host = it.GetCurrentValue();
|
| - DCHECK(render_process_host);
|
| -
|
| + RenderWidgetHost::List widgets = RenderWidgetHost::GetRenderWidgetHosts();
|
| + for (size_t i = 0; i < widgets.size(); ++i) {
|
| // Ignore processes that don't have a connection, such as crashed contents.
|
| - if (!render_process_host->HasConnection())
|
| + if (!widgets[i]->GetProcess()->HasConnection())
|
| + continue;
|
| + if (!widgets[i]->IsRenderView())
|
| continue;
|
|
|
| - RenderProcessHost::RenderWidgetHostsIterator rwit(
|
| - render_process_host->GetRenderWidgetHostsIterator());
|
| - for (; !rwit.IsAtEnd(); rwit.Advance()) {
|
| - const RenderWidgetHost* widget = rwit.GetCurrentValue();
|
| - DCHECK(widget);
|
| - if (!widget || !widget->IsRenderView())
|
| - continue;
|
| -
|
| - RenderViewHost* rvh =
|
| - RenderViewHost::From(const_cast<RenderWidgetHost*>(widget));
|
| - // Don't report swapped out views.
|
| - if (static_cast<RenderViewHostImpl*>(rvh)->is_swapped_out())
|
| - continue;
|
| -
|
| - WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
|
| - // Don't report a RenderViewHost if it is not the current RenderViewHost
|
| - // for some WebContents.
|
| - if (!web_contents || rvh != web_contents->GetRenderViewHost())
|
| - continue;
|
| -
|
| - result.push_back(rvh);
|
| - }
|
| + RenderViewHost* rvh = RenderViewHost::From(widgets[i]);
|
| + // Don't report swapped out views.
|
| + if (static_cast<RenderViewHostImpl*>(rvh)->is_swapped_out())
|
| + continue;
|
| +
|
| + WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
|
| + // Don't report a RenderViewHost if it is not the current RenderViewHost
|
| + // for some WebContents.
|
| + if (!web_contents || rvh != web_contents->GetRenderViewHost())
|
| + continue;
|
| +
|
| + result.push_back(rvh);
|
| }
|
| return result;
|
| }
|
|
|