Index: content/browser/ssl/ssl_client_auth_handler.cc |
diff --git a/content/browser/ssl/ssl_client_auth_handler.cc b/content/browser/ssl/ssl_client_auth_handler.cc |
index 3d91ad7146ce78ce359b8b55bd4a73c31c97d5ef..d46f565c79cb154b9b0701fbf325e9744ec606dd 100644 |
--- a/content/browser/ssl/ssl_client_auth_handler.cc |
+++ b/content/browser/ssl/ssl_client_auth_handler.cc |
@@ -13,6 +13,7 @@ |
#include "content/public/browser/client_certificate_delegate.h" |
#include "content/public/browser/content_browser_client.h" |
#include "content/public/browser/resource_request_info.h" |
+#include "net/cert/x509_certificate.h" |
#include "net/ssl/client_cert_store.h" |
#include "net/url_request/url_request.h" |
@@ -55,7 +56,6 @@ |
void SelectCertificateOnUIThread( |
const ResourceRequestInfo::WebContentsGetter& wc_getter, |
net::SSLCertRequestInfo* cert_request_info, |
- net::CertificateList client_certs, |
const base::WeakPtr<SSLClientAuthHandler>& handler) { |
DCHECK_CURRENTLY_ON(BrowserThread::UI); |
@@ -67,8 +67,7 @@ |
return; |
GetContentClient()->browser()->SelectClientCertificate( |
- web_contents, cert_request_info, std::move(client_certs), |
- std::move(delegate)); |
+ web_contents, cert_request_info, std::move(delegate)); |
} |
} // namespace |
@@ -93,10 +92,10 @@ |
// until the call completes is maintained by the reference held in the |
// callback. |
client_cert_store_->GetClientCerts( |
- *cert_request_info_, |
+ *cert_request_info_, &cert_request_info_->client_certs, |
base::Bind(&SSLClientAuthHandler::Core::DidGetClientCerts, this)); |
} else { |
- DidGetClientCerts(net::CertificateList()); |
+ DidGetClientCerts(); |
} |
} |
@@ -106,9 +105,9 @@ |
~Core() {} |
// Called when |client_cert_store_| is done retrieving the cert list. |
- void DidGetClientCerts(net::CertificateList client_certs) { |
+ void DidGetClientCerts() { |
if (handler_) |
- handler_->DidGetClientCerts(std::move(client_certs)); |
+ handler_->DidGetClientCerts(); |
} |
base::WeakPtr<SSLClientAuthHandler> handler_; |
@@ -156,15 +155,15 @@ |
handler->delegate_->CancelCertificateSelection(); |
} |
-void SSLClientAuthHandler::DidGetClientCerts( |
- net::CertificateList client_certs) { |
+void SSLClientAuthHandler::DidGetClientCerts() { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
// Note that if |client_cert_store_| is NULL, we intentionally fall through to |
// SelectCertificateOnUIThread. This is for platforms where the client cert |
// matching is not performed by Chrome. Those platforms handle the cert |
// matching before showing the dialog. |
- if (core_->has_client_cert_store() && client_certs.empty()) { |
+ if (core_->has_client_cert_store() && |
+ cert_request_info_->client_certs.empty()) { |
// No need to query the user if there are no certs to choose from. |
// |
// TODO(davidben): The WebContents-less check on the UI thread should come |
@@ -181,9 +180,9 @@ |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
base::Bind(&SelectCertificateOnUIThread, |
- ResourceRequestInfo::ForRequest(request_) |
- ->GetWebContentsGetterForRequest(), |
- base::RetainedRef(cert_request_info_), std::move(client_certs), |
+ ResourceRequestInfo::ForRequest(request_)-> |
+ GetWebContentsGetterForRequest(), |
+ base::RetainedRef(cert_request_info_), |
weak_factory_.GetWeakPtr())); |
} |