Chromium Code Reviews| Index: net/ssl/client_cert_store_impl_nss.cc |
| diff --git a/net/ssl/client_cert_store_impl_nss.cc b/net/ssl/client_cert_store_impl_nss.cc |
| index ffab2680c68d7520a5cc5453706ad03b85fd1904..5fc6a0d83feedbd3e1999dd4dbc17ad9553f897d 100644 |
| --- a/net/ssl/client_cert_store_impl_nss.cc |
| +++ b/net/ssl/client_cert_store_impl_nss.cc |
| @@ -7,6 +7,7 @@ |
| #include <nss.h> |
| #include <ssl.h> |
| +#include "base/callback.h" |
| #include "base/logging.h" |
| #include "net/cert/x509_util.h" |
| @@ -77,18 +78,21 @@ bool GetClientCertsImpl(CERTCertList* cert_list, |
| } // namespace |
| -bool ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request, |
| - CertificateList* selected_certs) { |
| +void ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request, |
| + CertificateList* selected_certs, |
| + const base::Closure& callback) { |
| CERTCertList* client_certs = CERT_FindUserCertsByUsage( |
| CERT_GetDefaultCertDB(), certUsageSSLClient, |
| PR_FALSE, PR_FALSE, NULL); |
| // It is ok for a user not to have any client certs. |
| - if (!client_certs) |
| - return true; |
| + if (!client_certs) { |
| + callback.Run(); |
|
wtc
2013/10/28 19:41:12
Nit: it may be a good idea to clear selected_certs
mattm
2013/10/28 23:56:16
Done.
|
| + return; |
| + } |
| - bool rv = GetClientCertsImpl(client_certs, request, true, selected_certs); |
| + GetClientCertsImpl(client_certs, request, true, selected_certs); |
| CERT_DestroyCertList(client_certs); |
| - return rv; |
| + callback.Run(); |
| } |
| bool ClientCertStoreImpl::SelectClientCertsForTesting( |