Index: components/scheduler/child/task_queue_manager.cc |
diff --git a/components/scheduler/child/task_queue_manager.cc b/components/scheduler/child/task_queue_manager.cc |
index c557665ab7a4b6a5fac49b02fa6f58a461135f56..161c1dc3676311567c3de0cb70557e033530bfd3 100644 |
--- a/components/scheduler/child/task_queue_manager.cc |
+++ b/components/scheduler/child/task_queue_manager.cc |
@@ -104,7 +104,7 @@ void TaskQueueManager::UnregisterAsUpdatableTaskQueue( |
void TaskQueueManager::UpdateWorkQueues( |
bool should_trigger_wakeup, |
- const base::PendingTask* previous_task) { |
+ const internal::SchedulerTask* previous_task) { |
DCHECK(main_thread_checker_.CalledOnValidThread()); |
internal::LazyNow lazy_now(this); |
@@ -159,8 +159,7 @@ void TaskQueueManager::DoWork(bool posted_from_main_thread) { |
// pump-after-wakeup queue. |
UpdateWorkQueues(false, nullptr); |
- base::PendingTask previous_task((tracked_objects::Location()), |
- (base::Closure())); |
+ internal::SchedulerTask previous_task; |
for (int i = 0; i < work_batch_size_; i++) { |
internal::TaskQueueImpl* queue; |
if (!SelectQueueToService(&queue)) |
@@ -192,16 +191,18 @@ bool TaskQueueManager::SelectQueueToService( |
return should_run; |
} |
-void TaskQueueManager::DidQueueTask(const base::PendingTask& pending_task) { |
+void TaskQueueManager::DidQueueTask(internal::SchedulerTask& pending_task) { |
+ pending_task.sequence_num = GetNextSequenceNumber(); |
task_annotator_.DidQueueTask("TaskQueueManager::PostTask", pending_task); |
} |
bool TaskQueueManager::ProcessTaskFromWorkQueue( |
internal::TaskQueueImpl* queue, |
- base::PendingTask* out_previous_task) { |
+ internal::SchedulerTask* out_previous_task) { |
DCHECK(main_thread_checker_.CalledOnValidThread()); |
scoped_refptr<DeletionSentinel> protect(deletion_sentinel_); |
- base::PendingTask pending_task = queue->TakeTaskFromWorkQueue(); |
+ // TODO(alexclarke): consider std::move() when allowed. |
+ internal::SchedulerTask pending_task = queue->TakeTaskFromWorkQueue(); |
if (queue->GetQuiescenceMonitored()) |
task_was_run_on_quiescence_monitored_queue_ = true; |
@@ -286,6 +287,10 @@ int TaskQueueManager::GetNextSequenceNumber() { |
return task_sequence_num_.GetNext(); |
} |
+int TaskQueueManager::GetNextAgeNumber() { |
+ return task_age_num_.GetNext(); |
+} |
+ |
scoped_refptr<base::trace_event::ConvertableToTraceFormat> |
TaskQueueManager::AsValueWithSelectorResult( |
bool should_run, |