Index: components/scheduler/child/scheduler_helper.cc |
diff --git a/components/scheduler/child/scheduler_helper.cc b/components/scheduler/child/scheduler_helper.cc |
index 43944359e0497c0b997600f46f027efed3516ea1..609090ab43312ec9edfcadc64781a6a76afec938 100644 |
--- a/components/scheduler/child/scheduler_helper.cc |
+++ b/components/scheduler/child/scheduler_helper.cc |
@@ -18,11 +18,13 @@ SchedulerHelper::SchedulerHelper( |
const char* disabled_by_default_tracing_category, |
const char* disabled_by_default_verbose_tracing_category) |
: task_queue_manager_delegate_(task_queue_manager_delegate), |
+ task_time_tracker_(new TaskTimeTracker()), |
task_queue_manager_( |
new TaskQueueManager(task_queue_manager_delegate, |
tracing_category, |
disabled_by_default_tracing_category, |
- disabled_by_default_verbose_tracing_category)), |
+ disabled_by_default_verbose_tracing_category, |
+ task_time_tracker_.get())), |
control_task_runner_(NewTaskQueue( |
TaskQueue::Spec("control_tq") |
.SetWakeupPolicy(TaskQueue::WakeupPolicy::DONT_WAKE_OTHER_QUEUES) |
@@ -121,7 +123,9 @@ void SchedulerHelper::SetObserver(Observer* observer) { |
CheckOnValidThread(); |
observer_ = observer; |
DCHECK(task_queue_manager_); |
+ DCHECK(task_time_tracker_); |
task_queue_manager_->SetObserver(this); |
+ task_time_tracker_->SetObserver(this); |
} |
RealTimeDomain* SchedulerHelper::real_time_domain() const { |
@@ -161,4 +165,10 @@ TaskQueue* SchedulerHelper::CurrentlyExecutingTaskQueue() const { |
return task_queue_manager_->currently_executing_task_queue(); |
} |
+// TaskTimeTracker::TaskTimeObserver implementation: |
+void SchedulerHelper::OnLongTask(base::TimeDelta long_task_time) { |
+ // Record long task |
+ // will be queried from RendererSchedulerImpl in BeginMainFrame |
+} |
+ |
} // namespace scheduler |