| Index: base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
|
| diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc b/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
|
| index 6a2676fb49b9e20bb8f06ea8b52a4839a76a8922..dc9d5379e06c016df4d556361f2a2fe8df316bc3 100644
|
| --- a/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
|
| +++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager.cc
|
| @@ -207,18 +207,9 @@ class SchedulerSingleThreadTaskRunnerManager::SchedulerSingleThreadTaskRunner
|
| };
|
|
|
| SchedulerSingleThreadTaskRunnerManager::SchedulerSingleThreadTaskRunnerManager(
|
| - const std::vector<SchedulerWorkerPoolParams>& worker_pool_params_vector,
|
| - const TaskScheduler::WorkerPoolIndexForTraitsCallback&
|
| - worker_pool_index_for_traits_callback,
|
| TaskTracker* task_tracker,
|
| DelayedTaskManager* delayed_task_manager)
|
| - : worker_pool_params_vector_(worker_pool_params_vector),
|
| - worker_pool_index_for_traits_callback_(
|
| - worker_pool_index_for_traits_callback),
|
| - task_tracker_(task_tracker),
|
| - delayed_task_manager_(delayed_task_manager) {
|
| - DCHECK_GT(worker_pool_params_vector_.size(), 0U);
|
| - DCHECK(worker_pool_index_for_traits_callback_);
|
| + : task_tracker_(task_tracker), delayed_task_manager_(delayed_task_manager) {
|
| DCHECK(task_tracker_);
|
| DCHECK(delayed_task_manager_);
|
| }
|
| @@ -236,12 +227,11 @@ SchedulerSingleThreadTaskRunnerManager::
|
|
|
| scoped_refptr<SingleThreadTaskRunner>
|
| SchedulerSingleThreadTaskRunnerManager::CreateSingleThreadTaskRunnerWithTraits(
|
| + const std::string& name,
|
| + ThreadPriority priority_hint,
|
| const TaskTraits& traits) {
|
| - size_t index = worker_pool_index_for_traits_callback_.Run(traits);
|
| - DCHECK_LT(index, worker_pool_params_vector_.size());
|
| return new SchedulerSingleThreadTaskRunner(
|
| - this, traits,
|
| - CreateAndRegisterSchedulerWorker(worker_pool_params_vector_[index]));
|
| + this, traits, CreateAndRegisterSchedulerWorker(name, priority_hint));
|
| }
|
|
|
| void SchedulerSingleThreadTaskRunnerManager::JoinForTesting() {
|
| @@ -264,14 +254,15 @@ void SchedulerSingleThreadTaskRunnerManager::JoinForTesting() {
|
|
|
| SchedulerWorker*
|
| SchedulerSingleThreadTaskRunnerManager::CreateAndRegisterSchedulerWorker(
|
| - const SchedulerWorkerPoolParams& params) {
|
| + const std::string& name,
|
| + ThreadPriority priority_hint) {
|
| AutoSchedulerLock auto_lock(workers_lock_);
|
| int id = next_worker_id_++;
|
| - auto delegate = MakeUnique<SchedulerWorkerDelegate>(base::StringPrintf(
|
| - "TaskSchedulerSingleThreadWorker%d%s", id, params.name().c_str()));
|
| - workers_.emplace_back(SchedulerWorker::Create(
|
| - params.priority_hint(), std::move(delegate), task_tracker_,
|
| - SchedulerWorker::InitialState::DETACHED));
|
| + auto delegate = MakeUnique<SchedulerWorkerDelegate>(
|
| + StringPrintf("TaskScheduler%sSingleThread%d", name.c_str(), id));
|
| + workers_.emplace_back(
|
| + SchedulerWorker::Create(priority_hint, std::move(delegate), task_tracker_,
|
| + SchedulerWorker::InitialState::DETACHED));
|
| return workers_.back().get();
|
| }
|
|
|
|
|