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