Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: content/browser/frame_host/interstitial_page_impl.cc

Issue 239393009: Don't crash when closing interstitial pages. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: crash fix Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/interstitial_page_impl.cc
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc
index 10f99b4eadc3586208c6768500a0ec1ef3fdfff2..3d9240833811380b24e0fb1701c030faa2d97541 100644
--- a/content/browser/frame_host/interstitial_page_impl.cc
+++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -357,7 +357,18 @@ void InterstitialPageImpl::NavigationEntryCommitted(
OnNavigatingAwayOrTabClosing();
}
+void InterstitialPageImpl::WebContentsWillBeDestroyed() {
+ OnNavigatingAwayOrTabClosing();
+}
+
void InterstitialPageImpl::WebContentsDestroyed(WebContents* web_contents) {
+ // WebContentsImpl will only call WebContentsWillBeDestroyed for interstitial
+ // pages that it knows about, pages that called
+ // WebContentsImpl::AttachInterstitialPage. But it's possible to have an
+ // interstitial page that never progressed that far. In that case, ensure that
+ // this interstitial page is destroyed. (And if it was attached, and
+ // OnNavigatingAwayOrTabClosing was called, it's safe to call
+ // OnNavigatingAwayOrTabClosing twice.)
OnNavigatingAwayOrTabClosing();
}
« no previous file with comments | « content/browser/frame_host/interstitial_page_impl.h ('k') | content/browser/web_contents/web_contents_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698