| Index: chrome/browser/performance_monitor/performance_monitor.cc
|
| diff --git a/chrome/browser/performance_monitor/performance_monitor.cc b/chrome/browser/performance_monitor/performance_monitor.cc
|
| index 5f805653d5e5520cb90cc5922890388deb5b20f1..22bd595c13c34aa7fb5eda35b052a59f746463f7 100644
|
| --- a/chrome/browser/performance_monitor/performance_monitor.cc
|
| +++ b/chrome/browser/performance_monitor/performance_monitor.cc
|
| @@ -620,17 +620,21 @@ void PerformanceMonitor::AddRendererClosedEvent(
|
| details.status == base::TERMINATION_STATUS_PROCESS_WAS_KILLED ?
|
| EVENT_RENDERER_KILLED : EVENT_RENDERER_CRASH;
|
|
|
| - content::RenderProcessHost::RenderWidgetHostsIterator iter =
|
| - host->GetRenderWidgetHostsIterator();
|
| -
|
| // A RenderProcessHost may contain multiple render views - for each valid
|
| // render view, extract the url, and append it to the string, comma-separating
|
| // the entries.
|
| std::string url_list;
|
| - for (; !iter.IsAtEnd(); iter.Advance()) {
|
| - const content::RenderWidgetHost* widget = iter.GetCurrentValue();
|
| - DCHECK(widget);
|
| - if (!widget || !widget->IsRenderView())
|
| +
|
| + scoped_ptr<content::RenderWidgetHost::List> hosts =
|
| + content::RenderWidgetHost::GetRenderWidgetHosts();
|
| + for (content::RenderWidgetHost::List::const_iterator it = hosts->begin();
|
| + it != hosts->end();
|
| + ++it) {
|
| + const content::RenderWidgetHost* widget = *it;
|
| + if (widget->GetProcess()->GetID() != host->GetID())
|
| + continue;
|
| +
|
| + if (!widget->IsRenderView())
|
| continue;
|
|
|
| content::RenderViewHost* view =
|
|
|