| 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();
|
| }
|
|
|
|
|