diff options
author | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-08 07:41:31 +0000 |
---|---|---|
committer | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-08 07:41:31 +0000 |
commit | c4891b363f7d9ca534880d25524adeb810ff3ff0 (patch) | |
tree | 8af2885644966f047a688b66cd2d16f9db1afd9c /chrome/browser/ssl/ssl_manager.cc | |
parent | b0c819facfd2222853b1fe69a2e0891e17db6791 (diff) | |
download | chromium_src-c4891b363f7d9ca534880d25524adeb810ff3ff0.zip chromium_src-c4891b363f7d9ca534880d25524adeb810ff3ff0.tar.gz chromium_src-c4891b363f7d9ca534880d25524adeb810ff3ff0.tar.bz2 |
Landing again the CL that adds security info to canceled requests (last time it was causing sync XMLHttpRequests to hang, breaking many layout tests).
TBR=darin
Review URL: http://codereview.chromium.org/39321
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11221 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ssl/ssl_manager.cc')
-rw-r--r-- | chrome/browser/ssl/ssl_manager.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/chrome/browser/ssl/ssl_manager.cc b/chrome/browser/ssl/ssl_manager.cc index bc95a53..58d7acb 100644 --- a/chrome/browser/ssl/ssl_manager.cc +++ b/chrome/browser/ssl/ssl_manager.cc @@ -338,7 +338,11 @@ void SSLManager::ErrorHandler::CompleteCancelRequest(int error) { // The request can be NULL if it was cancelled by the renderer (as the // result of the user navigating to a new page from the location bar). DLOG(INFO) << "CompleteCancelRequest() url: " << request->url().spec(); - request->CancelWithError(error); + SSLManager::CertError* cert_error = AsCertError(); + if (cert_error) + request->SimulateSSLError(error, cert_error->ssl_info()); + else + request->SimulateError(error); } request_has_been_notified_ = true; @@ -591,7 +595,8 @@ void SSLManager::DidCommitProvisionalLoad( // An HTTPS response may not have a certificate for some reason. When that // happens, use the unauthenticated (HTTP) rather than the authentication // broken security style so that we can detect this error condition. - if (net::IsCertStatusError(ssl_cert_status)) { + if (net::IsCertStatusError(ssl_cert_status) && + !details->is_content_filtered) { changed |= SetMaxSecurityStyle(SECURITY_STYLE_AUTHENTICATION_BROKEN); if (!details->is_main_frame && !details->entry->ssl().has_unsafe_content()) { |