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 6157635514c193ae14a60fb5f300023a66e78e36..d4f77dc904c7efd188a99a257d4434a254c1facf 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_task_runner_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 single_thread_task_runner_manager_ |
+ ->CreateSingleThreadTaskRunnerWithTraits(traits); |
} |
std::vector<const HistogramBase*> TaskSchedulerImpl::GetHistograms() const { |
@@ -148,6 +149,11 @@ void TaskSchedulerImpl::Initialize( |
delayed_task_manager_ = |
base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner()); |
+ single_thread_task_runner_manager_ = |
+ MakeUnique<SchedulerSingleThreadTaskRunnerManager>( |
+ 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 |