| Index: chrome/browser/chromeos/platform_keys/platform_keys_nss.cc
|
| diff --git a/chrome/browser/chromeos/platform_keys/platform_keys_nss.cc b/chrome/browser/chromeos/platform_keys/platform_keys_nss.cc
|
| index 6a8c9aee3de1a0d14baa1e314742381c62efe870..3c6cf433e04bdfe0cc4841793fa8ff1a2745765d 100644
|
| --- a/chrome/browser/chromeos/platform_keys/platform_keys_nss.cc
|
| +++ b/chrome/browser/chromeos/platform_keys/platform_keys_nss.cc
|
| @@ -243,6 +243,7 @@
|
| const bool use_system_key_slot_;
|
| scoped_refptr<net::SSLCertRequestInfo> cert_request_info_;
|
| std::unique_ptr<net::ClientCertStore> cert_store_;
|
| + std::unique_ptr<net::CertificateList> certs_;
|
|
|
| private:
|
| // Must be called on origin thread, therefore use CallBack().
|
| @@ -549,11 +550,9 @@
|
| // of net::CertificateList and calls back. Used by
|
| // SelectCertificatesOnIOThread().
|
| void DidSelectCertificatesOnIOThread(
|
| - std::unique_ptr<SelectCertificatesState> state,
|
| - net::CertificateList certs) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - state->CallBack(FROM_HERE,
|
| - base::MakeUnique<net::CertificateList>(std::move(certs)),
|
| + std::unique_ptr<SelectCertificatesState> state) {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| + state->CallBack(FROM_HERE, std::move(state->certs_),
|
| std::string() /* no error */);
|
| }
|
|
|
| @@ -568,9 +567,11 @@
|
| state->username_hash_),
|
| ClientCertStoreChromeOS::PasswordDelegateFactory()));
|
|
|
| + state->certs_.reset(new net::CertificateList);
|
| +
|
| SelectCertificatesState* state_ptr = state.get();
|
| state_ptr->cert_store_->GetClientCerts(
|
| - *state_ptr->cert_request_info_,
|
| + *state_ptr->cert_request_info_, state_ptr->certs_.get(),
|
| base::Bind(&DidSelectCertificatesOnIOThread, base::Passed(&state)));
|
| }
|
|
|
|
|