Chromium Code Reviews| Index: content/browser/loader/resource_loader.cc |
| diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc |
| index 1997f8923148582cfc6594cfa7f22783659d127c..a2ae3ddd9a7d4eac4797bd58bf6fb07368f3c824 100644 |
| --- a/content/browser/loader/resource_loader.cc |
| +++ b/content/browser/loader/resource_loader.cc |
| @@ -93,8 +93,7 @@ ResourceLoader::ResourceLoader(scoped_ptr<net::URLRequest> request, |
| ResourceLoader::~ResourceLoader() { |
| if (login_delegate_.get()) |
| login_delegate_->OnRequestCancelled(); |
| - if (ssl_client_auth_handler_.get()) |
| - ssl_client_auth_handler_->OnRequestCancelled(); |
| + ssl_client_auth_handler_.reset(); |
| // Run ResourceHandler destructor before we tear-down the rest of our state |
| // as the ResourceHandler may want to inspect the URLRequest and other state. |
| @@ -193,10 +192,6 @@ void ResourceLoader::ClearLoginDelegate() { |
| login_delegate_ = NULL; |
| } |
| -void ResourceLoader::ClearSSLClientAuthHandler() { |
| - ssl_client_auth_handler_ = NULL; |
| -} |
| - |
| void ResourceLoader::OnUploadProgressACK() { |
| waiting_for_upload_progress_ack_ = false; |
| } |
| @@ -269,12 +264,14 @@ void ResourceLoader::OnCertificateRequested( |
| return; |
| } |
| - DCHECK(!ssl_client_auth_handler_.get()) |
| + DCHECK(!ssl_client_auth_handler_) |
| << "OnCertificateRequested called with ssl_client_auth_handler pending"; |
| - ssl_client_auth_handler_ = new SSLClientAuthHandler( |
| + ssl_client_auth_handler_.reset(new SSLClientAuthHandler( |
| GetRequestInfo()->GetContext()->CreateClientCertStore(), |
| request_.get(), |
| - cert_info); |
| + cert_info, |
| + base::Bind(&ResourceLoader::ContinueWithCertificate, |
| + weak_ptr_factory_.GetWeakPtr()))); |
| ssl_client_auth_handler_->SelectCertificate(); |
| } |
| @@ -493,10 +490,7 @@ void ResourceLoader::CancelRequestInternal(int error, bool from_renderer) { |
| login_delegate_->OnRequestCancelled(); |
| login_delegate_ = NULL; |
| } |
| - if (ssl_client_auth_handler_.get()) { |
| - ssl_client_auth_handler_->OnRequestCancelled(); |
| - ssl_client_auth_handler_ = NULL; |
| - } |
| + ssl_client_auth_handler_.reset(); |
|
mmenke
2014/09/24 18:03:41
Does this get us anything? Suppose this CL makes
davidben
2014/09/26 18:49:49
Not sure. Yeah, I figured I'd leave it as-is for n
|
| request_->CancelWithError(error); |
| @@ -712,4 +706,9 @@ void ResourceLoader::RecordHistograms() { |
| } |
| } |
| +void ResourceLoader::ContinueWithCertificate(net::X509Certificate* cert) { |
| + ssl_client_auth_handler_.reset(); |
| + request_->ContinueWithCertificate(cert); |
| +} |
| + |
| } // namespace content |