Index: chrome/browser/prerender/prerender_manager.cc |
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
index e4dfb19c7cef312817c55b56b2e27c23a1debc43..3943ee44a5b2377b8dd4b117bcc0167e03421254 100644 |
--- a/chrome/browser/prerender/prerender_manager.cc |
+++ b/chrome/browser/prerender/prerender_manager.cc |
@@ -1343,6 +1343,18 @@ void PrerenderManager::RenderProcessHostDestroyed( |
DCHECK_EQ(1u, erased); |
} |
+void PrerenderManager::RenderProcessHostPrefetchFinished( |
+ content::RenderProcessHost* host) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); |
+ for (auto& prerender_data : active_prerenders_) { |
+ PrerenderContents* prerender_contents = prerender_data->contents(); |
+ if (prerender_contents->GetRenderViewHost()->GetProcess() == host) { |
+ prerender_contents->Destroy(FINAL_STATUS_PREFETCH_FINISHED); |
+ break; |
+ } |
+ } |
+} |
+ |
void PrerenderManager::SetPrerenderContentsFactoryForTest( |
PrerenderContents::Factory* prerender_contents_factory) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |