| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice.h" | 5 #include "chrome/browser/chromeos/certificate_provider/certificate_provider_serv
ice.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 } | 289 } |
| 290 | 290 |
| 291 void CertificateProviderService::SSLPrivateKey::DidSignDigest( | 291 void CertificateProviderService::SSLPrivateKey::DidSignDigest( |
| 292 const SignCallback& callback, | 292 const SignCallback& callback, |
| 293 net::Error error, | 293 net::Error error, |
| 294 const std::vector<uint8_t>& signature) { | 294 const std::vector<uint8_t>& signature) { |
| 295 DCHECK(thread_checker_.CalledOnValidThread()); | 295 DCHECK(thread_checker_.CalledOnValidThread()); |
| 296 callback.Run(error, signature); | 296 callback.Run(error, signature); |
| 297 } | 297 } |
| 298 | 298 |
| 299 CertificateProviderService::CertificateProviderService() | 299 CertificateProviderService::CertificateProviderService() : weak_factory_(this) { |
| 300 : weak_factory_(this) {} | 300 pin_dialog_manager_.reset(new PinDialogManager()); |
| 301 } |
| 301 | 302 |
| 302 CertificateProviderService::~CertificateProviderService() { | 303 CertificateProviderService::~CertificateProviderService() { |
| 303 DCHECK(thread_checker_.CalledOnValidThread()); | 304 DCHECK(thread_checker_.CalledOnValidThread()); |
| 304 | 305 |
| 305 // ClientKeyStore serializes access to |cert_key_provider_|. | 306 // ClientKeyStore serializes access to |cert_key_provider_|. |
| 306 // Once RemoveProvider() returns, it is guaranteed that there are no more | 307 // Once RemoveProvider() returns, it is guaranteed that there are no more |
| 307 // accesses to |cert_key_provider_| in flight and no references to | 308 // accesses to |cert_key_provider_| in flight and no references to |
| 308 // |cert_key_provider_| are remaining. This service will hold the last | 309 // |cert_key_provider_| are remaining. This service will hold the last |
| 309 // reference to |cert_key_provider_|. | 310 // reference to |cert_key_provider_|. |
| 310 net::ClientKeyStore::GetInstance()->RemoveProvider(cert_key_provider_.get()); | 311 net::ClientKeyStore::GetInstance()->RemoveProvider(cert_key_provider_.get()); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 base::Callback<void(const net::CertificateList&)> callback; | 394 base::Callback<void(const net::CertificateList&)> callback; |
| 394 certificate_requests_.RemoveRequest(cert_request_id, &certificates, | 395 certificate_requests_.RemoveRequest(cert_request_id, &certificates, |
| 395 &callback); | 396 &callback); |
| 396 UpdateCertificatesAndRun(certificates, callback); | 397 UpdateCertificatesAndRun(certificates, callback); |
| 397 } | 398 } |
| 398 | 399 |
| 399 certificate_map_.RemoveExtension(extension_id); | 400 certificate_map_.RemoveExtension(extension_id); |
| 400 | 401 |
| 401 for (auto callback : sign_requests_.RemoveAllRequests(extension_id)) | 402 for (auto callback : sign_requests_.RemoveAllRequests(extension_id)) |
| 402 callback.Run(net::ERR_FAILED, std::vector<uint8_t>()); | 403 callback.Run(net::ERR_FAILED, std::vector<uint8_t>()); |
| 404 |
| 405 pin_dialog_manager_->ExtensionUnloaded(extension_id); |
| 403 } | 406 } |
| 404 | 407 |
| 405 void CertificateProviderService::GetCertificatesFromExtensions( | 408 void CertificateProviderService::GetCertificatesFromExtensions( |
| 406 const base::Callback<void(const net::CertificateList&)>& callback) { | 409 const base::Callback<void(const net::CertificateList&)>& callback) { |
| 407 DCHECK(thread_checker_.CalledOnValidThread()); | 410 DCHECK(thread_checker_.CalledOnValidThread()); |
| 408 | 411 |
| 409 const std::vector<std::string> provider_extensions( | 412 const std::vector<std::string> provider_extensions( |
| 410 delegate_->CertificateProviderExtensions()); | 413 delegate_->CertificateProviderExtensions()); |
| 411 | 414 |
| 412 if (provider_extensions.empty()) { | 415 if (provider_extensions.empty()) { |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 const int sign_request_id = sign_requests_.AddRequest(extension_id, callback); | 473 const int sign_request_id = sign_requests_.AddRequest(extension_id, callback); |
| 471 if (!delegate_->DispatchSignRequestToExtension(extension_id, sign_request_id, | 474 if (!delegate_->DispatchSignRequestToExtension(extension_id, sign_request_id, |
| 472 hash, certificate, digest)) { | 475 hash, certificate, digest)) { |
| 473 sign_requests_.RemoveRequest(extension_id, sign_request_id, | 476 sign_requests_.RemoveRequest(extension_id, sign_request_id, |
| 474 nullptr /* callback */); | 477 nullptr /* callback */); |
| 475 callback.Run(net::ERR_FAILED, std::vector<uint8_t>()); | 478 callback.Run(net::ERR_FAILED, std::vector<uint8_t>()); |
| 476 } | 479 } |
| 477 } | 480 } |
| 478 | 481 |
| 479 } // namespace chromeos | 482 } // namespace chromeos |
| OLD | NEW |