Chromium Code Reviews| Index: chrome/browser/chrome_content_browser_client.cc |
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
| index f57d75c04f098c77d5fe3bdf545caba967341b31..ad2b11a77b1fd854bc9958b64e5791118397578d 100644 |
| --- a/chrome/browser/chrome_content_browser_client.cc |
| +++ b/chrome/browser/chrome_content_browser_client.cc |
| @@ -70,6 +70,8 @@ |
| #include "chrome/browser/ssl/ssl_add_certificate.h" |
| #include "chrome/browser/ssl/ssl_blocking_page.h" |
| #include "chrome/browser/ssl/ssl_client_certificate_selector.h" |
| +#include "chrome/browser/ssl/ssl_error_handler.h" |
| +#include "chrome/browser/sync_file_system/local/sync_file_system_backend.h" |
| #include "chrome/browser/tab_contents/tab_util.h" |
| #include "chrome/browser/ui/blocked_content/blocked_window_params.h" |
| #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" |
| @@ -1722,13 +1724,6 @@ void ChromeContentBrowserClient::AllowCertificateError( |
| return; |
| } |
| -#if defined(ENABLE_CAPTIVE_PORTAL_DETECTION) |
| - CaptivePortalTabHelper* captive_portal_tab_helper = |
| - CaptivePortalTabHelper::FromWebContents(tab); |
| - if (captive_portal_tab_helper) |
| - captive_portal_tab_helper->OnSSLCertError(ssl_info); |
| -#endif |
| - |
| // Otherwise, display an SSL blocking page. The interstitial page takes |
| // ownership of ssl_blocking_page. |
| int options_mask = 0; |
| @@ -1738,9 +1733,24 @@ void ChromeContentBrowserClient::AllowCertificateError( |
| options_mask |= SSLBlockingPage::STRICT_ENFORCEMENT; |
| if (expired_previous_decision) |
| options_mask |= SSLBlockingPage::EXPIRED_BUT_PREVIOUSLY_ALLOWED; |
| - SSLBlockingPage* ssl_blocking_page = new SSLBlockingPage( |
| - tab, cert_error, ssl_info, request_url, options_mask, callback); |
| - ssl_blocking_page->Show(); |
| + |
| + // SSL interstitials aren't delayed if captive portal detection is disabled. |
| + base::TimeDelta ssl_error_delay; |
| +#if defined(ENABLE_CAPTIVE_PORTAL_DETECTION) |
| + CaptivePortalTabHelper* captive_portal_tab_helper = |
| + CaptivePortalTabHelper::FromWebContents(tab); |
| + if (captive_portal_tab_helper) { |
| + captive_portal_tab_helper->OnSSLCertError(ssl_info); |
| + ssl_error_delay = captive_portal_tab_helper->GetSSLErrorDelay(); |
| + } |
| +#endif |
|
mmenke
2014/10/30 19:28:01
I think this code makes much more sense in SSLErro
meacer
2014/11/06 21:21:55
Moved to SSLErrorHandler. The tests depend on Capt
|
| + |
| + SSLErrorHandler* ssl_error_handler = new SSLErrorHandler( |
|
mmenke
2014/10/30 19:28:01
Suggest making this a static function, since nothi
meacer
2014/11/06 21:21:55
Done.
|
| + tab, cert_error, ssl_info, request_url, |
| + options_mask, |
| + ssl_error_delay, |
| + callback); |
|
mmenke
2014/10/30 19:28:01
nit: Should either fit args in as few lines as po
meacer
2014/11/06 21:21:55
Done.
|
| + ssl_error_handler->Handle(); |
| } |
| void ChromeContentBrowserClient::SelectClientCertificate( |