Index: chromeos/cert_loader.cc |
diff --git a/chromeos/cert_loader.cc b/chromeos/cert_loader.cc |
index 33270d26615b01447b5b1a9bd2e0c8175f29c955..1bfc487b6656504b6a46d6dfe2453f7db5b8b41c 100644 |
--- a/chromeos/cert_loader.cc |
+++ b/chromeos/cert_loader.cc |
@@ -12,7 +12,6 @@ |
#include "base/sequenced_task_runner.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/task_runner_util.h" |
-#include "base/threading/worker_pool.h" |
#include "chromeos/dbus/cryptohome_client.h" |
#include "chromeos/dbus/dbus_thread_manager.h" |
#include "crypto/encryptor.h" |
@@ -60,10 +59,13 @@ void CallOpenPersistentNSSDB() { |
} // namespace |
static CertLoader* g_cert_loader = NULL; |
+ |
// static |
-void CertLoader::Initialize() { |
+void CertLoader::Initialize( |
+ const scoped_refptr<base::TaskRunner>& task_runner) { |
CHECK(!g_cert_loader); |
- g_cert_loader = new CertLoader(); |
+ CHECK(task_runner); |
+ g_cert_loader = new CertLoader(task_runner); |
g_cert_loader->Init(); |
} |
@@ -86,7 +88,7 @@ bool CertLoader::IsInitialized() { |
return g_cert_loader; |
} |
-CertLoader::CertLoader() |
+CertLoader::CertLoader(const scoped_refptr<base::TaskRunner>& task_runner) |
: certificates_requested_(false), |
certificates_loaded_(false), |
certificates_update_required_(false), |
@@ -94,6 +96,7 @@ CertLoader::CertLoader() |
tpm_token_state_(TPM_STATE_UNKNOWN), |
tpm_request_delay_( |
base::TimeDelta::FromMilliseconds(kInitialRequestDelayMs)), |
+ worker_pool_task_runner_(task_runner), |
initialize_token_factory_(this), |
update_certificates_factory_(this) { |
} |
@@ -327,13 +330,12 @@ void CertLoader::StartLoadCertificates() { |
net::CertificateList* cert_list = new net::CertificateList; |
certificates_update_running_ = true; |
certificates_update_required_ = false; |
- base::WorkerPool::GetTaskRunner(true /* task_is_slow */)-> |
- PostTaskAndReply( |
- FROM_HERE, |
- base::Bind(LoadNSSCertificates, cert_list), |
- base::Bind(&CertLoader::UpdateCertificates, |
- update_certificates_factory_.GetWeakPtr(), |
- base::Owned(cert_list))); |
+ worker_pool_task_runner_->PostTaskAndReply( |
+ FROM_HERE, |
+ base::Bind(LoadNSSCertificates, cert_list), |
+ base::Bind(&CertLoader::UpdateCertificates, |
+ update_certificates_factory_.GetWeakPtr(), |
+ base::Owned(cert_list))); |
} |
void CertLoader::UpdateCertificates(net::CertificateList* cert_list) { |