Index: chrome/browser/ssl/ssl_blocking_page.cc |
diff --git a/chrome/browser/ssl/ssl_blocking_page.cc b/chrome/browser/ssl/ssl_blocking_page.cc |
index 2f65292db5364232a47ed1467cb90a933be9049b..79277029769918a9008074cf734b87732ee86294 100644 |
--- a/chrome/browser/ssl/ssl_blocking_page.cc |
+++ b/chrome/browser/ssl/ssl_blocking_page.cc |
@@ -146,7 +146,11 @@ void SSLBlockingPage::DontProceed() { |
} |
void SSLBlockingPage::NotifyDenyCertificate() { |
- DCHECK(callback_); |
+ // It's possible that callback_ may not exist if the user clicks "Proceed" |
+ // followed by pressing the back button before the interstitial is hidden. |
+ // In that case the certificate will still be treated as allowed. |
+ if (!callback_) |
+ return; |
callback_->Run(handler_, false); |
delete callback_; |