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(); |
} |