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 b1b2d36c11696d280c43387a4f209c767f2bb706..34a944fd054c767207488c6b1e6d00dcf7b4d0ec 100644 |
--- a/base/task_scheduler/task_scheduler_impl.cc |
+++ b/base/task_scheduler/task_scheduler_impl.cc |
@@ -6,7 +6,6 @@ |
#include <utility> |
-#include "base/memory/ptr_util.h" |
#include "base/task_scheduler/delayed_task_manager.h" |
#include "base/task_scheduler/scheduler_worker_pool_params.h" |
#include "base/task_scheduler/sequence.h" |
@@ -53,10 +52,13 @@ size_t GetEnvironmentIndexForTraits(const TaskTraits& traits) { |
} // namespace |
-TaskSchedulerImpl::TaskSchedulerImpl(StringPiece name) |
+TaskSchedulerImpl::TaskSchedulerImpl( |
+ StringPiece name, |
+ std::unique_ptr<TaskTrackerType> task_tracker) |
: name_(name), |
service_thread_("TaskSchedulerServiceThread"), |
- single_thread_task_runner_manager_(&task_tracker_, |
+ task_tracker_(std::move(task_tracker)), |
+ single_thread_task_runner_manager_(task_tracker_.get(), |
&delayed_task_manager_) { |
static_assert(arraysize(worker_pools_) == ENVIRONMENT_COUNT, |
"The size of |worker_pools_| must match ENVIRONMENT_COUNT."); |
@@ -68,7 +70,7 @@ TaskSchedulerImpl::TaskSchedulerImpl(StringPiece name) |
++environment_type) { |
worker_pools_[environment_type] = MakeUnique<SchedulerWorkerPoolImpl>( |
name_ + kEnvironmentParams[environment_type].name_suffix, |
- kEnvironmentParams[environment_type].priority_hint, &task_tracker_, |
+ kEnvironmentParams[environment_type].priority_hint, task_tracker_.get(), |
&delayed_task_manager_); |
} |
} |
@@ -179,11 +181,11 @@ int TaskSchedulerImpl::GetMaxConcurrentTasksWithTraitsDeprecated( |
void TaskSchedulerImpl::Shutdown() { |
// TODO(fdoray): Increase the priority of BACKGROUND tasks blocking shutdown. |
- task_tracker_.Shutdown(); |
+ task_tracker_->Shutdown(); |
} |
void TaskSchedulerImpl::FlushForTesting() { |
- task_tracker_.Flush(); |
+ task_tracker_->Flush(); |
} |
void TaskSchedulerImpl::JoinForTesting() { |