diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-27 19:43:53 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-27 19:43:53 +0000 |
commit | e5624f0b84c761a2a88fc30dd6d95b71a5b44ad6 (patch) | |
tree | 0b8c7ef9296786dcd233c9640a1a69a4fa008235 /webkit | |
parent | faf6cc757fa0e8f0baf343c589a3d35bb7019e23 (diff) | |
download | chromium_src-e5624f0b84c761a2a88fc30dd6d95b71a5b44ad6.zip chromium_src-e5624f0b84c761a2a88fc30dd6d95b71a5b44ad6.tar.gz chromium_src-e5624f0b84c761a2a88fc30dd6d95b71a5b44ad6.tar.bz2 |
net: make HSTS hosts use the normal SSL interstitials
(Reland of r102947, which was reverted in r102950.)
SSL interstitials have better translations for the error messages and this
returns us to the point where we have only a single UI for SSL errors, which
will make some future changes easier.
First, this change changes the SSL error callbacks to take an SSLInfo& rather
than a X509Certificate* (which was already a TODO(wtc) in the code). Most of
this change is the resulting plumbing.
It also adds a |is_hsts_host| flag to the callbacks to denote an HSTS host.
Finally, in ssl_policy.cc the |is_hsts_host| flag causes any error to be
fatal.
BUG=93527
http://codereview.chromium.org/7976036/
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102994 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/fileapi/file_writer_delegate.cc | 17 | ||||
-rw-r--r-- | webkit/fileapi/file_writer_delegate.h | 22 | ||||
-rw-r--r-- | webkit/tools/test_shell/simple_resource_loader_bridge.cc | 4 |
3 files changed, 25 insertions, 18 deletions
diff --git a/webkit/fileapi/file_writer_delegate.cc b/webkit/fileapi/file_writer_delegate.cc index db28a22..34339a5 100644 --- a/webkit/fileapi/file_writer_delegate.cc +++ b/webkit/fileapi/file_writer_delegate.cc @@ -137,26 +137,29 @@ void FileWriterDelegate::Start(base::PlatformFile file, relay->Start(proxy_, FROM_HERE); } -void FileWriterDelegate::OnReceivedRedirect( - net::URLRequest* request, const GURL& new_url, bool* defer_redirect) { +void FileWriterDelegate::OnReceivedRedirect(net::URLRequest* request, + const GURL& new_url, + bool* defer_redirect) { NOTREACHED(); OnError(base::PLATFORM_FILE_ERROR_SECURITY); } -void FileWriterDelegate::OnAuthRequired( - net::URLRequest* request, net::AuthChallengeInfo* auth_info) { +void FileWriterDelegate::OnAuthRequired(net::URLRequest* request, + net::AuthChallengeInfo* auth_info) { NOTREACHED(); OnError(base::PLATFORM_FILE_ERROR_SECURITY); } void FileWriterDelegate::OnCertificateRequested( - net::URLRequest* request, net::SSLCertRequestInfo* cert_request_info) { + net::URLRequest* request, + net::SSLCertRequestInfo* cert_request_info) { NOTREACHED(); OnError(base::PLATFORM_FILE_ERROR_SECURITY); } -void FileWriterDelegate::OnSSLCertificateError( - net::URLRequest* request, int cert_error, net::X509Certificate* cert) { +void FileWriterDelegate::OnSSLCertificateError(net::URLRequest* request, + const net::SSLInfo& ssl_info, + bool is_hsts_host) { NOTREACHED(); OnError(base::PLATFORM_FILE_ERROR_SECURITY); } diff --git a/webkit/fileapi/file_writer_delegate.h b/webkit/fileapi/file_writer_delegate.h index 6d94e6e..7f25212 100644 --- a/webkit/fileapi/file_writer_delegate.h +++ b/webkit/fileapi/file_writer_delegate.h @@ -38,16 +38,20 @@ class FileWriterDelegate : public net::URLRequest::Delegate { return file_; } - virtual void OnReceivedRedirect( - net::URLRequest* request, const GURL& new_url, bool* defer_redirect); - virtual void OnAuthRequired( - net::URLRequest* request, net::AuthChallengeInfo* auth_info); + virtual void OnReceivedRedirect(net::URLRequest* request, + const GURL& new_url, + bool* defer_redirect) OVERRIDE; + virtual void OnAuthRequired(net::URLRequest* request, + net::AuthChallengeInfo* auth_info) OVERRIDE; virtual void OnCertificateRequested( - net::URLRequest* request, net::SSLCertRequestInfo* cert_request_info); - virtual void OnSSLCertificateError( - net::URLRequest* request, int cert_error, net::X509Certificate* cert); - virtual void OnResponseStarted(net::URLRequest* request); - virtual void OnReadCompleted(net::URLRequest* request, int bytes_read); + net::URLRequest* request, + net::SSLCertRequestInfo* cert_request_info) OVERRIDE; + virtual void OnSSLCertificateError(net::URLRequest* request, + const net::SSLInfo& ssl_info, + bool is_hsts_host) OVERRIDE; + virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; + virtual void OnReadCompleted(net::URLRequest* request, + int bytes_read) OVERRIDE; private: void OnGetFileInfoAndCallStartUpdate( diff --git a/webkit/tools/test_shell/simple_resource_loader_bridge.cc b/webkit/tools/test_shell/simple_resource_loader_bridge.cc index 6498e75..73fd0cb 100644 --- a/webkit/tools/test_shell/simple_resource_loader_bridge.cc +++ b/webkit/tools/test_shell/simple_resource_loader_bridge.cc @@ -458,8 +458,8 @@ class RequestProxy : public net::URLRequest::Delegate, } virtual void OnSSLCertificateError(net::URLRequest* request, - int cert_error, - net::X509Certificate* cert) OVERRIDE { + const net::SSLInfo& ssl_info, + bool is_hsts_host) OVERRIDE { // Allow all certificate errors. request->ContinueDespiteLastError(); } |