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

Unified Diff: chromeos/cert_loader.cc

Issue 144423007: Make NSSCertDatabase::ListCerts work async on a worker thread. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: aa Created 6 years, 11 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: chromeos/cert_loader.cc
diff --git a/chromeos/cert_loader.cc b/chromeos/cert_loader.cc
index 4a3e7f203123223cc0e99053399cff179db7a055..06faf84a169d5f3faba8d3a353b3096600d4be3d 100644
--- a/chromeos/cert_loader.cc
+++ b/chromeos/cert_loader.cc
@@ -19,16 +19,6 @@
namespace chromeos {
-namespace {
-
-// Loads certificates from |cert_database| into |cert_list|.
-void LoadNSSCertificates(net::NSSCertDatabase* cert_database,
- net::CertificateList* cert_list) {
- cert_database->ListCerts(cert_list);
-}
-
-} // namespace
-
static CertLoader* g_cert_loader = NULL;
// static
@@ -100,11 +90,6 @@ std::string CertLoader::GetPkcs11IdForCert(const net::X509Certificate& cert) {
return pkcs11_id;
}
-void CertLoader::SetSlowTaskRunnerForTest(
- const scoped_refptr<base::TaskRunner>& task_runner) {
- slow_task_runner_for_test_ = task_runner;
-}
-
void CertLoader::AddObserver(CertLoader::Observer* observer) {
observers_.AddObserver(observer);
}
@@ -154,28 +139,15 @@ void CertLoader::LoadCertificates() {
return;
}
- net::CertificateList* cert_list = new net::CertificateList;
certificates_update_running_ = true;
certificates_update_required_ = false;
- base::TaskRunner* task_runner = slow_task_runner_for_test_.get();
- if (!task_runner)
- task_runner = base::WorkerPool::GetTaskRunner(true /* task is slow */);
- task_runner->PostTaskAndReply(
- FROM_HERE,
- base::Bind(LoadNSSCertificates,
- // Create a copy of the database so it can be used on the
- // worker pool.
- base::Owned(new net::NSSCertDatabaseChromeOS(
- database_->GetPublicSlot(),
- database_->GetPrivateSlot())),
- cert_list),
- base::Bind(&CertLoader::UpdateCertificates,
- weak_factory_.GetWeakPtr(),
- base::Owned(cert_list)));
-}
-
-void CertLoader::UpdateCertificates(net::CertificateList* cert_list) {
+ database_->ListCerts(base::Bind(&CertLoader::UpdateCertificates,
+ weak_factory_.GetWeakPtr()));
+}
+
+void CertLoader::UpdateCertificates(
+ scoped_ptr<net::CertificateList> cert_list) {
CHECK(thread_checker_.CalledOnValidThread());
DCHECK(certificates_update_running_);
VLOG(1) << "UpdateCertificates: " << cert_list->size();

Powered by Google App Engine
This is Rietveld 408576698