Index: components/scheduler/child/scheduler_helper.h |
diff --git a/components/scheduler/child/scheduler_helper.h b/components/scheduler/child/scheduler_helper.h |
index 0348a6808792118a742870a57642af06e0a85b03..283a72d82075ede1ab8a85672e94c4f26e9806e4 100644 |
--- a/components/scheduler/child/scheduler_helper.h |
+++ b/components/scheduler/child/scheduler_helper.h |
@@ -11,6 +11,7 @@ |
#include "base/time/tick_clock.h" |
#include "components/scheduler/base/task_queue_manager.h" |
#include "components/scheduler/base/task_queue_selector.h" |
+#include "components/scheduler/base/task_time_tracker.h" |
#include "components/scheduler/scheduler_export.h" |
namespace base { |
@@ -22,7 +23,9 @@ namespace scheduler { |
class SchedulerTqmDelegate; |
// Common scheduler functionality for default tasks. |
-class SCHEDULER_EXPORT SchedulerHelper : public TaskQueueManager::Observer { |
+class SCHEDULER_EXPORT SchedulerHelper |
+ : public TaskQueueManager::Observer, |
+ public TaskTimeTracker::TaskTimeObserver { |
public: |
// Category strings must have application lifetime (statics or |
// literals). They may not include " chars. |
@@ -38,6 +41,9 @@ class SCHEDULER_EXPORT SchedulerHelper : public TaskQueueManager::Observer { |
void OnTriedToExecuteBlockedTask(const TaskQueue& queue, |
const base::PendingTask& task) override; |
+ // TaskTimeTracker::TaskTimeObserver implementation: |
+ void OnLongTask(base::TimeDelta long_task_time) override; |
+ |
// Returns the default task runner. |
scoped_refptr<TaskQueue> DefaultTaskRunner(); |
@@ -108,6 +114,7 @@ class SCHEDULER_EXPORT SchedulerHelper : public TaskQueueManager::Observer { |
base::ThreadChecker thread_checker_; |
scoped_refptr<SchedulerTqmDelegate> task_queue_manager_delegate_; |
+ std::unique_ptr<TaskTimeTracker> task_time_tracker_; |
std::unique_ptr<TaskQueueManager> task_queue_manager_; |
scoped_refptr<TaskQueue> control_task_runner_; |
scoped_refptr<TaskQueue> control_after_wakeup_task_runner_; |