Index: crypto/nss_util.cc |
diff --git a/crypto/nss_util.cc b/crypto/nss_util.cc |
index f26bf0979a6ad2181d216fb2049a3255315fc419..73fdf1efa2743eed9a5dc7aea418c71a272e5c9f 100644 |
--- a/crypto/nss_util.cc |
+++ b/crypto/nss_util.cc |
@@ -17,6 +17,7 @@ |
#include "base/location.h" |
#include "base/single_thread_task_runner.h" |
+#include "base/task_scheduler/post_task.h" |
#include "base/threading/thread_task_runner_handle.h" |
#include "crypto/nss_util_internal.h" |
@@ -49,7 +50,6 @@ |
#include "base/synchronization/lock.h" |
#include "base/threading/thread_checker.h" |
#include "base/threading/thread_restrictions.h" |
-#include "base/threading/worker_pool.h" |
#include "build/build_config.h" |
#include "crypto/nss_crypto_module_delegate.h" |
@@ -365,22 +365,17 @@ class NSSInitSingleton { |
std::unique_ptr<TPMModuleAndSlot> tpm_args( |
new TPMModuleAndSlot(chaps_module_)); |
TPMModuleAndSlot* tpm_args_ptr = tpm_args.get(); |
- if (base::WorkerPool::PostTaskAndReply( |
- FROM_HERE, |
- base::Bind(&NSSInitSingleton::InitializeTPMTokenOnWorkerThread, |
- system_slot_id, |
- tpm_args_ptr), |
- base::Bind(&NSSInitSingleton::OnInitializedTPMTokenAndSystemSlot, |
- base::Unretained(this), // NSSInitSingleton is leaky |
- callback, |
- base::Passed(&tpm_args)), |
- true /* task_is_slow */ |
- )) { |
- initializing_tpm_token_ = true; |
- } else { |
- base::ThreadTaskRunnerHandle::Get()->PostTask( |
- FROM_HERE, base::Bind(callback, false)); |
- } |
+ base::PostTaskWithTraitsAndReply( |
+ FROM_HERE, base::TaskTraits() |
+ .WithShutdownBehavior( |
+ base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN) |
+ .MayBlock(), |
+ base::Bind(&NSSInitSingleton::InitializeTPMTokenOnWorkerThread, |
+ system_slot_id, tpm_args_ptr), |
+ base::Bind(&NSSInitSingleton::OnInitializedTPMTokenAndSystemSlot, |
+ base::Unretained(this), // NSSInitSingleton is leaky |
+ callback, base::Passed(&tpm_args))); |
+ initializing_tpm_token_ = true; |
} |
static void InitializeTPMTokenOnWorkerThread(CK_SLOT_ID token_slot_id, |
@@ -528,17 +523,16 @@ class NSSInitSingleton { |
std::unique_ptr<TPMModuleAndSlot> tpm_args( |
new TPMModuleAndSlot(chaps_module_)); |
TPMModuleAndSlot* tpm_args_ptr = tpm_args.get(); |
- base::WorkerPool::PostTaskAndReply( |
- FROM_HERE, |
- base::Bind(&NSSInitSingleton::InitializeTPMTokenOnWorkerThread, |
- slot_id, |
+ base::PostTaskWithTraitsAndReply( |
+ FROM_HERE, base::TaskTraits() |
+ .WithShutdownBehavior( |
+ base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN) |
+ .MayBlock(), |
+ base::Bind(&NSSInitSingleton::InitializeTPMTokenOnWorkerThread, slot_id, |
tpm_args_ptr), |
base::Bind(&NSSInitSingleton::OnInitializedTPMForChromeOSUser, |
base::Unretained(this), // NSSInitSingleton is leaky |
- username_hash, |
- base::Passed(&tpm_args)), |
- true /* task_is_slow */ |
- ); |
+ username_hash, base::Passed(&tpm_args))); |
} |
void OnInitializedTPMForChromeOSUser( |