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 01786493748a967f9901b206245d2bb5879f05c0..640a44ac8830b9babeb52a94ad3247aa77aef3c5 100644 |
--- a/base/task_scheduler/task_scheduler_impl.cc |
+++ b/base/task_scheduler/task_scheduler_impl.cc |
@@ -15,11 +15,6 @@ |
#include "base/task_scheduler/sequence_sort_key.h" |
#include "base/task_scheduler/task.h" |
#include "base/task_scheduler/task_tracker.h" |
-#include "build/build_config.h" |
- |
-#if defined(OS_POSIX) && !defined(OS_NACL_SFI) |
-#include "base/task_scheduler/task_tracker_posix.h" |
-#endif |
namespace base { |
namespace internal { |
@@ -134,13 +129,11 @@ int TaskSchedulerImpl::GetMaxConcurrentTasksWithTraitsDeprecated( |
void TaskSchedulerImpl::Shutdown() { |
// TODO(fdoray): Increase the priority of BACKGROUND tasks blocking shutdown. |
- DCHECK(task_tracker_); |
- task_tracker_->Shutdown(); |
+ task_tracker_.Shutdown(); |
} |
void TaskSchedulerImpl::FlushForTesting() { |
- DCHECK(task_tracker_); |
- task_tracker_->Flush(); |
+ task_tracker_.Flush(); |
} |
void TaskSchedulerImpl::JoinForTesting() { |
@@ -176,24 +169,20 @@ void TaskSchedulerImpl::Initialize( |
service_thread_options.timer_slack = TIMER_SLACK_MAXIMUM; |
CHECK(service_thread_.StartWithOptions(service_thread_options)); |
- // Instantiate TaskTracker. Needs to happen after starting the service thread |
- // to get its message_loop(). |
- task_tracker_ = |
#if defined(OS_POSIX) && !defined(OS_NACL_SFI) |
- base::MakeUnique<TaskTrackerPosix>( |
- static_cast<MessageLoopForIO*>(service_thread_.message_loop())); |
-#else |
- base::MakeUnique<TaskTracker>(); |
+ // Needs to happen after starting the service thread to get its |
+ // message_loop(). |
+ task_tracker_.set_watch_file_descriptor_message_loop( |
+ static_cast<MessageLoopForIO*>(service_thread_.message_loop())); |
#endif |
- // Instantiate DelayedTaskManager. Needs to happen after starting the service |
- // thread to get its task_runner(). |
+ // Needs to happen after starting the service thread to get its task_runner(). |
delayed_task_manager_ = |
base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner()); |
single_thread_task_runner_manager_ = |
MakeUnique<SchedulerSingleThreadTaskRunnerManager>( |
- task_tracker_.get(), delayed_task_manager_.get()); |
+ &task_tracker_, delayed_task_manager_.get()); |
single_thread_task_runner_manager_->Start(); |
// Callback invoked by workers to re-enqueue a sequence in the appropriate |
@@ -227,7 +216,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_.get(), |
+ re_enqueue_sequence_callback, &task_tracker_, |
delayed_task_manager_.get()); |
worker_pools_[environment_type]->Start( |
*worker_pool_params[environment_type]); |