| 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 d5c59ba75d6613fe46731f86a16e7d840fb46ab0..7a7786e2f5aad3927d085da1a131275ce30864f1 100644
 | 
| --- a/base/task_scheduler/task_scheduler_impl.cc
 | 
| +++ b/base/task_scheduler/task_scheduler_impl.cc
 | 
| @@ -10,7 +10,6 @@
 | 
|  #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"
 | 
| @@ -99,7 +98,7 @@ TaskSchedulerImpl::CreateSingleThreadTaskRunnerWithTraits(
 | 
|    const auto& environment_params =
 | 
|        kEnvironmentParams[GetEnvironmentIndexForTraits(traits)];
 | 
|    return single_thread_task_runner_manager_
 | 
| -      ->CreateSingleThreadTaskRunnerWithTraits(
 | 
| +      .CreateSingleThreadTaskRunnerWithTraits(
 | 
|            name_ + environment_params.name_suffix,
 | 
|            environment_params.priority_hint, traits);
 | 
|  }
 | 
| @@ -109,7 +108,7 @@ scoped_refptr<SingleThreadTaskRunner>
 | 
|  TaskSchedulerImpl::CreateCOMSTATaskRunnerWithTraits(const TaskTraits& traits) {
 | 
|    const auto& environment_params =
 | 
|        kEnvironmentParams[GetEnvironmentIndexForTraits(traits)];
 | 
| -  return single_thread_task_runner_manager_->CreateCOMSTATaskRunnerWithTraits(
 | 
| +  return single_thread_task_runner_manager_.CreateCOMSTATaskRunnerWithTraits(
 | 
|        environment_params.name_suffix, environment_params.priority_hint, traits);
 | 
|  }
 | 
|  #endif  // defined(OS_WIN)
 | 
| @@ -140,7 +139,7 @@ void TaskSchedulerImpl::JoinForTesting() {
 | 
|  #if DCHECK_IS_ON()
 | 
|    DCHECK(!join_for_testing_returned_.IsSet());
 | 
|  #endif
 | 
| -  single_thread_task_runner_manager_->JoinForTesting();
 | 
| +  single_thread_task_runner_manager_.JoinForTesting();
 | 
|    for (const auto& worker_pool : worker_pools_)
 | 
|      worker_pool->DisallowWorkerDetachmentForTesting();
 | 
|    for (const auto& worker_pool : worker_pools_)
 | 
| @@ -152,7 +151,10 @@ void TaskSchedulerImpl::JoinForTesting() {
 | 
|  }
 | 
|  
 | 
|  TaskSchedulerImpl::TaskSchedulerImpl(StringPiece name)
 | 
| -    : name_(name), service_thread_("TaskSchedulerServiceThread") {}
 | 
| +    : name_(name),
 | 
| +      service_thread_("TaskSchedulerServiceThread"),
 | 
| +      single_thread_task_runner_manager_(&task_tracker_,
 | 
| +                                         &delayed_task_manager_) {}
 | 
|  
 | 
|  void TaskSchedulerImpl::Initialize(
 | 
|      const TaskScheduler::InitParams& init_params) {
 | 
| @@ -177,13 +179,9 @@ void TaskSchedulerImpl::Initialize(
 | 
|  #endif
 | 
|  
 | 
|    // Needs to happen after starting the service thread to get its task_runner().
 | 
| -  delayed_task_manager_ =
 | 
| -      base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner());
 | 
| +  delayed_task_manager_.Start(service_thread_.task_runner());
 | 
|  
 | 
| -  single_thread_task_runner_manager_ =
 | 
| -      MakeUnique<SchedulerSingleThreadTaskRunnerManager>(
 | 
| -          &task_tracker_, delayed_task_manager_.get());
 | 
| -  single_thread_task_runner_manager_->Start();
 | 
| +  single_thread_task_runner_manager_.Start();
 | 
|  
 | 
|    // Callback invoked by workers to re-enqueue a sequence in the appropriate
 | 
|    // PriorityQueue.
 | 
| @@ -216,8 +214,7 @@ void TaskSchedulerImpl::Initialize(
 | 
|      worker_pools_[environment_type] = MakeUnique<SchedulerWorkerPoolImpl>(
 | 
|          name_ + kEnvironmentParams[environment_type].name_suffix,
 | 
|          kEnvironmentParams[environment_type].priority_hint,
 | 
| -        re_enqueue_sequence_callback, &task_tracker_,
 | 
| -        delayed_task_manager_.get());
 | 
| +        re_enqueue_sequence_callback, &task_tracker_, &delayed_task_manager_);
 | 
|      worker_pools_[environment_type]->Start(
 | 
|          *worker_pool_params[environment_type]);
 | 
|    }
 | 
| 
 |