Index: net/ssl/client_cert_store_impl_win.cc |
diff --git a/net/ssl/client_cert_store_impl_win.cc b/net/ssl/client_cert_store_impl_win.cc |
index 63ea6e4a875c306ec8075c43295925cdbd0e1d50..e22ac03a01f19c7ef5c9a4591767c3e9e8c944c6 100644 |
--- a/net/ssl/client_cert_store_impl_win.cc |
+++ b/net/ssl/client_cert_store_impl_win.cc |
@@ -12,6 +12,7 @@ |
#include <wincrypt.h> |
#include <security.h> |
+#include "base/callback.h" |
#include "base/logging.h" |
#include "crypto/scoped_capi_types.h" |
#include "net/cert/x509_util.h" |
@@ -143,21 +144,21 @@ bool GetClientCertsImpl(HCERTSTORE cert_store, |
} // namespace |
-bool ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request, |
- CertificateList* selected_certs) { |
+void ClientCertStoreImpl::GetClientCerts(const SSLCertRequestInfo& request, |
+ CertificateList* selected_certs, |
+ const base::Closure& callback) { |
// Client certificates of the user are in the "MY" system certificate store. |
HCERTSTORE my_cert_store = CertOpenSystemStore(NULL, L"MY"); |
if (!my_cert_store) { |
PLOG(ERROR) << "Could not open the \"MY\" system certificate store: "; |
- return false; |
+ callback.Run(); |
+ return; |
} |
- bool rv = GetClientCertsImpl(my_cert_store, request, selected_certs); |
- if (!CertCloseStore(my_cert_store, CERT_CLOSE_STORE_CHECK_FLAG)) { |
+ GetClientCertsImpl(my_cert_store, request, selected_certs); |
+ if (!CertCloseStore(my_cert_store, CERT_CLOSE_STORE_CHECK_FLAG)) |
PLOG(ERROR) << "Could not close the \"MY\" system certificate store: "; |
- return false; |
- } |
- return rv; |
+ callback.Run(); |
} |
bool ClientCertStoreImpl::SelectClientCertsForTesting( |