| Index: chromeos/cert_loader.cc
|
| diff --git a/chromeos/cert_loader.cc b/chromeos/cert_loader.cc
|
| index 776e95ea9a77f6264c384b31b06813705fd8417c..a31dcf7e18e9a2ca06855ef92e2146fb17a12e97 100644
|
| --- a/chromeos/cert_loader.cc
|
| +++ b/chromeos/cert_loader.cc
|
| @@ -59,6 +59,7 @@ void CallOpenPersistentNSSDB() {
|
| } // namespace
|
|
|
| static CertLoader* g_cert_loader = NULL;
|
| +
|
| // static
|
| void CertLoader::Initialize() {
|
| CHECK(!g_cert_loader);
|
| @@ -108,6 +109,11 @@ void CertLoader::SetCryptoTaskRunner(
|
| MaybeRequestCertificates();
|
| }
|
|
|
| +void CertLoader::SetSlowTaskRunnerForTest(
|
| + const scoped_refptr<base::SequencedTaskRunner>& task_runner) {
|
| + slow_task_runner_for_test_ = task_runner;
|
| +}
|
| +
|
| CertLoader::~CertLoader() {
|
| net::CertDatabase::GetInstance()->RemoveObserver(this);
|
| if (LoginState::IsInitialized())
|
| @@ -326,13 +332,16 @@ 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)));
|
| +
|
| + 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, cert_list),
|
| + base::Bind(&CertLoader::UpdateCertificates,
|
| + update_certificates_factory_.GetWeakPtr(),
|
| + base::Owned(cert_list)));
|
| }
|
|
|
| void CertLoader::UpdateCertificates(net::CertificateList* cert_list) {
|
|
|