| Index: chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc
|
| diff --git a/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc b/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc
|
| index ae843d10f5ee0892e227cedbe39bd79e45527e00..c9294d93154a60d30ba01d2a64fa1f5688cf7def 100644
|
| --- a/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc
|
| +++ b/chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc
|
| @@ -52,8 +52,9 @@ class CertificateProviderService::CertKeyProviderImpl
|
| certificate_provider::ThreadSafeCertificateMap* certificate_map);
|
| ~CertKeyProviderImpl() override;
|
|
|
| - bool GetCertificateKey(const net::X509Certificate& cert,
|
| - scoped_ptr<net::SSLPrivateKey>* private_key) override;
|
| + bool GetCertificateKey(
|
| + const net::X509Certificate& cert,
|
| + scoped_refptr<net::SSLPrivateKey>* private_key) override;
|
|
|
| private:
|
| const scoped_refptr<base::SequencedTaskRunner> service_task_runner_;
|
| @@ -104,7 +105,6 @@ class CertificateProviderService::SSLPrivateKey : public net::SSLPrivateKey {
|
| const CertificateInfo& cert_info,
|
| const scoped_refptr<base::SequencedTaskRunner>& service_task_runner,
|
| const base::WeakPtr<CertificateProviderService>& service);
|
| - ~SSLPrivateKey() override;
|
|
|
| // net::SSLPrivateKey:
|
| Type GetType() override;
|
| @@ -115,6 +115,8 @@ class CertificateProviderService::SSLPrivateKey : public net::SSLPrivateKey {
|
| const SignCallback& callback) override;
|
|
|
| private:
|
| + ~SSLPrivateKey() override;
|
| +
|
| static void SignDigestOnServiceTaskRunner(
|
| const base::WeakPtr<CertificateProviderService>& service,
|
| const std::string& extension_id,
|
| @@ -150,7 +152,7 @@ CertificateProviderService::CertKeyProviderImpl::~CertKeyProviderImpl() {}
|
|
|
| bool CertificateProviderService::CertKeyProviderImpl::GetCertificateKey(
|
| const net::X509Certificate& cert,
|
| - scoped_ptr<net::SSLPrivateKey>* private_key) {
|
| + scoped_refptr<net::SSLPrivateKey>* private_key) {
|
| bool is_currently_provided = false;
|
| CertificateInfo info;
|
| std::string extension_id;
|
| @@ -159,8 +161,9 @@ bool CertificateProviderService::CertKeyProviderImpl::GetCertificateKey(
|
| if (!is_currently_provided)
|
| return false;
|
|
|
| - private_key->reset(
|
| - new SSLPrivateKey(extension_id, info, service_task_runner_, service_));
|
| + *private_key =
|
| + new SSLPrivateKey(extension_id, info, service_task_runner_, service_);
|
| +
|
| return true;
|
| }
|
|
|
| @@ -218,10 +221,6 @@ CertificateProviderService::SSLPrivateKey::SSLPrivateKey(
|
| thread_checker_.DetachFromThread();
|
| }
|
|
|
| -CertificateProviderService::SSLPrivateKey::~SSLPrivateKey() {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| -}
|
| -
|
| CertificateProviderService::SSLPrivateKey::Type
|
| CertificateProviderService::SSLPrivateKey::GetType() {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| @@ -279,6 +278,10 @@ void CertificateProviderService::SSLPrivateKey::SignDigest(
|
| hash, input.as_string(), bound_callback));
|
| }
|
|
|
| +CertificateProviderService::SSLPrivateKey::~SSLPrivateKey() {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| +}
|
| +
|
| void CertificateProviderService::SSLPrivateKey::DidSignDigest(
|
| const SignCallback& callback,
|
| net::Error error,
|
|
|