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( |