Chromium Code Reviews| Index: third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| index 0ebf0ab05dbc9b287384c6ef5b41bd3683e7e720..fd092de40cd3f2171109c9182dfd9681e8b18b53 100644 |
| --- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| +++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc |
| @@ -247,9 +247,14 @@ void TaskQueueManager::DoWork(base::TimeTicks run_time, bool from_main_thread) { |
| // when we are in DoWork (but WorkQueue may be deleted). |
| internal::TaskQueueImpl* task_queue = work_queue->task_queue(); |
| + if (!delegate_->IsNested()) { |
| + for (auto& observer : task_time_observers_) |
| + observer.ReportTaskStartTime(MonotonicTimeInSeconds(task_start_time)); |
| + } |
| + |
| switch (ProcessTaskFromWorkQueue(work_queue)) { |
| case ProcessTaskResult::DEFERRED: |
| - // If a task was deferred, try again with another task. |
|
Sami
2016/11/14 21:16:45
I think this comment is still valid?
tdresser
2016/12/15 13:17:00
Done.
|
| + DCHECK(delegate_->IsNested()); |
| continue; |
| case ProcessTaskResult::EXECUTED: |
| break; |
| @@ -262,9 +267,9 @@ void TaskQueueManager::DoWork(base::TimeTicks run_time, bool from_main_thread) { |
| // Only report top level task durations. |
| base::TimeTicks task_end_time = lazy_now.Now(); |
| for (auto& observer : task_time_observers_) { |
| - observer.ReportTaskTime(task_queue, |
| - MonotonicTimeInSeconds(task_start_time), |
| - MonotonicTimeInSeconds(task_end_time)); |
| + observer.ReportTaskEndTime(task_queue, |
| + MonotonicTimeInSeconds(task_start_time), |
| + MonotonicTimeInSeconds(task_end_time)); |
| } |
| task_start_time = task_end_time; |
| } |