| Index: base/task_scheduler/task_scheduler_impl.cc
|
| diff --git a/base/task_scheduler/task_scheduler_impl.cc b/base/task_scheduler/task_scheduler_impl.cc
|
| index f727c8c3b176eb74a21b49ae87b6b96984d3adfb..90b36dc2c7f4084c40326eb43f2ed91b08388889 100644
|
| --- a/base/task_scheduler/task_scheduler_impl.cc
|
| +++ b/base/task_scheduler/task_scheduler_impl.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/bind_helpers.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/task_scheduler/delayed_task_manager.h"
|
| +#include "base/task_scheduler/scheduler_single_thread_worker_pool_manager.h"
|
| #include "base/task_scheduler/scheduler_worker_pool_params.h"
|
| #include "base/task_scheduler/sequence_sort_key.h"
|
| #include "base/task_scheduler/task.h"
|
| @@ -66,8 +67,8 @@ TaskSchedulerImpl::CreateSequencedTaskRunnerWithTraits(
|
| scoped_refptr<SingleThreadTaskRunner>
|
| TaskSchedulerImpl::CreateSingleThreadTaskRunnerWithTraits(
|
| const TaskTraits& traits) {
|
| - return GetWorkerPoolForTraits(traits)->CreateSingleThreadTaskRunnerWithTraits(
|
| - traits);
|
| + return scheduler_single_thread_worker_pool_manager_
|
| + ->CreateSingleThreadTaskRunnerWithTraits(traits);
|
| }
|
|
|
| std::vector<const HistogramBase*> TaskSchedulerImpl::GetHistograms() const {
|
| @@ -97,6 +98,7 @@ void TaskSchedulerImpl::JoinForTesting() {
|
| worker_pool->DisallowWorkerDetachmentForTesting();
|
| for (const auto& worker_pool : worker_pools_)
|
| worker_pool->JoinForTesting();
|
| + scheduler_single_thread_worker_pool_manager_->JoinForTesting();
|
| service_thread_.Stop();
|
| #if DCHECK_IS_ON()
|
| join_for_testing_returned_.Set();
|
| @@ -143,6 +145,11 @@ void TaskSchedulerImpl::Initialize(
|
| delayed_task_manager_ =
|
| base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner());
|
|
|
| + scheduler_single_thread_worker_pool_manager_ =
|
| + base::MakeUnique<SchedulerSingleThreadWorkerPoolManager>(
|
| + worker_pool_params_vector, worker_pool_index_for_traits_callback_,
|
| + task_tracker_.get(), delayed_task_manager_.get());
|
| +
|
| // Callback invoked by workers to re-enqueue a sequence in the appropriate
|
| // PriorityQueue.
|
| const SchedulerWorkerPoolImpl::ReEnqueueSequenceCallback
|
|
|