Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3961)

Unified Diff: chrome/browser/chromeos/certificate_provider/certificate_provider_service.cc

Issue 1304143010: Plumbing SSLPrivateKey Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ef0081b23fcaf8bc8614c1a73b441a2b0b9705aa..d45dba602aa977e1e0f9a43c4986bc92853fa5a7 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,10 @@ bool CertificateProviderService::CertKeyProviderImpl::GetCertificateKey(
if (!is_currently_provided)
return false;
- private_key->reset(
- new SSLPrivateKey(extension_id, info, service_task_runner_, service_));
+ scoped_refptr<net::SSLPrivateKey> new_key =
+ new SSLPrivateKey(extension_id, info, service_task_runner_, service_);
+ private_key->swap(new_key);
+
return true;
}

Powered by Google App Engine
This is Rietveld 408576698