Chromium Code Reviews| Index: chrome/browser/prerender/prerender_manager.cc |
| diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
| index 5c6e0daa1d125f0c5520bb090191ce02742a60d8..4bb07b23169a97432e1a9cb06d1239f8751ae0d1 100644 |
| --- a/chrome/browser/prerender/prerender_manager.cc |
| +++ b/chrome/browser/prerender/prerender_manager.cc |
| @@ -662,13 +662,25 @@ bool PrerenderManager::HasPrerenderedUrl( |
| content::SessionStorageNamespace* session_storage_namespace = web_contents-> |
| GetController().GetDefaultSessionStorageNamespace(); |
| - for (ScopedVector<PrerenderData>::const_iterator it = |
| - active_prerenders_.begin(); |
| - it != active_prerenders_.end(); ++it) { |
| - PrerenderContents* prerender_contents = (*it)->contents(); |
| - if (prerender_contents->Matches(url, session_storage_namespace)) { |
| + for (const auto& prerender_data : active_prerenders_) { |
|
gavinp
2016/02/25 18:44:55
Thanks. This is closely related and so refactoring
|
| + PrerenderContents* prerender_contents = prerender_data->contents(); |
| + if (prerender_contents->Matches(url, session_storage_namespace)) |
| + return true; |
| + } |
| + return false; |
| +} |
| + |
| +bool PrerenderManager::HasPrerenderedAndFinishedLoadingUrl( |
| + GURL url, |
| + content::WebContents* web_contents) const { |
| + content::SessionStorageNamespace* session_storage_namespace = |
| + web_contents->GetController().GetDefaultSessionStorageNamespace(); |
| + |
| + for (const auto& prerender_data : active_prerenders_) { |
| + PrerenderContents* prerender_contents = prerender_data->contents(); |
| + if (prerender_contents->Matches(url, session_storage_namespace) && |
| + prerender_contents->has_finished_loading()) |
| return true; |
| - } |
| } |
| return false; |
| } |