Chromium Code Reviews| Index: base/task_scheduler/task_scheduler_impl.h |
| diff --git a/base/task_scheduler/task_scheduler_impl.h b/base/task_scheduler/task_scheduler_impl.h |
| index 4907ce2df266e91e6aac6de9df4f213a1fa419dd..69d70f00635169d3016ee047a461ca87896f9638 100644 |
| --- a/base/task_scheduler/task_scheduler_impl.h |
| +++ b/base/task_scheduler/task_scheduler_impl.h |
| @@ -12,6 +12,7 @@ |
| #include "base/callback.h" |
| #include "base/logging.h" |
| #include "base/macros.h" |
| +#include "base/memory/ptr_util.h" |
| #include "base/memory/ref_counted.h" |
| #include "base/strings/string_piece.h" |
| #include "base/synchronization/atomic_flag.h" |
| @@ -38,8 +39,17 @@ namespace internal { |
| // Default TaskScheduler implementation. This class is thread-safe. |
| class BASE_EXPORT TaskSchedulerImpl : public TaskScheduler { |
| public: |
| + using TaskTrackerType = |
| +#if defined(OS_POSIX) && !defined(OS_NACL_SFI) |
| + TaskTrackerPosix; |
| +#else |
| + TaskTracker; |
| +#endif |
| + |
| // |name| is used to label threads and histograms. |
|
robliao
2017/05/19 20:14:47
Comment on |task_tracker|.
|task_tracker| can be u
fdoray
2017/05/23 14:04:48
Done.
|
| - explicit TaskSchedulerImpl(StringPiece name); |
| + explicit TaskSchedulerImpl(StringPiece name, |
| + std::unique_ptr<TaskTrackerType> task_tracker = |
| + MakeUnique<TaskTrackerType>()); |
| ~TaskSchedulerImpl() override; |
| // TaskScheduler: |
| @@ -74,11 +84,7 @@ class BASE_EXPORT TaskSchedulerImpl : public TaskScheduler { |
| const std::string name_; |
| Thread service_thread_; |
| -#if defined(OS_POSIX) && !defined(OS_NACL_SFI) |
| - TaskTrackerPosix task_tracker_; |
| -#else |
| - TaskTracker task_tracker_; |
| -#endif |
| + const std::unique_ptr<TaskTrackerType> task_tracker_; |
| DelayedTaskManager delayed_task_manager_; |
| SchedulerSingleThreadTaskRunnerManager single_thread_task_runner_manager_; |