Index: net/ssl/client_cert_store_win.cc |
diff --git a/net/ssl/client_cert_store_win.cc b/net/ssl/client_cert_store_win.cc |
index fec9c33ae67b7d108e0468e4d686e606822213a1..cdeee46c12ca889a2c0dfb062fd1471c51b5a0a8 100644 |
--- a/net/ssl/client_cert_store_win.cc |
+++ b/net/ssl/client_cert_store_win.cc |
@@ -171,16 +171,15 @@ |
ClientCertStoreWin::~ClientCertStoreWin() {} |
-void ClientCertStoreWin::GetClientCerts( |
- const SSLCertRequestInfo& request, |
- const ClientCertListCallback& callback) { |
- CertificateList selected_certs; |
+void ClientCertStoreWin::GetClientCerts(const SSLCertRequestInfo& request, |
+ CertificateList* selected_certs, |
+ const base::Closure& callback) { |
if (cert_store_) { |
// Use the existing client cert store. Note: Under some situations, |
// it's possible for this to return certificates that aren't usable |
// (see below). |
- GetClientCertsImpl(cert_store_, request, &selected_certs); |
- callback.Run(std::move(selected_certs)); |
+ GetClientCertsImpl(cert_store_, request, selected_certs); |
+ callback.Run(); |
return; |
} |
@@ -191,12 +190,14 @@ |
ScopedHCERTSTORE my_cert_store(CertOpenSystemStore(NULL, L"MY")); |
if (!my_cert_store) { |
PLOG(ERROR) << "Could not open the \"MY\" system certificate store: "; |
- callback.Run(CertificateList()); |
+ selected_certs->clear(); |
+ callback.Run(); |
return; |
} |
- GetClientCertsImpl(my_cert_store, request, &selected_certs); |
- callback.Run(std::move(selected_certs)); |
+ GetClientCertsImpl(my_cert_store, request, selected_certs); |
+ |
+ callback.Run(); |
} |
bool ClientCertStoreWin::SelectClientCertsForTesting( |