Index: chrome/renderer/prerender/prerender_dispatcher.cc |
diff --git a/chrome/renderer/prerender/prerender_dispatcher.cc b/chrome/renderer/prerender/prerender_dispatcher.cc |
index 5e616b01a17ed217a28cd12bef0998c057a7189e..ac50f0f57c73efc53e30ccafd55b70d5ba586504 100644 |
--- a/chrome/renderer/prerender/prerender_dispatcher.cc |
+++ b/chrome/renderer/prerender/prerender_dispatcher.cc |
@@ -174,4 +174,16 @@ void PrerenderDispatcher::abandon(const WebPrerender& prerender) { |
prerenders_.erase(extra_data.prerender_id()); |
} |
+void PrerenderDispatcher::detachRenderer() { |
+ // Blink is shutting down, abandon all in-flight prerenders. |
+ for (auto it : prerenders_) { |
+ const PrerenderExtraData& extra_data = |
+ PrerenderExtraData::FromPrerender(it.second); |
+ content::RenderThread::Get()->Send( |
+ new PrerenderHostMsg_AbandonLinkRelPrerender( |
+ extra_data.prerender_id())); |
+ } |
+ prerenders_.clear(); |
+} |
+ |
} // namespace prerender |