Index: components/scheduler/base/task_queue_impl.cc |
diff --git a/components/scheduler/base/task_queue_impl.cc b/components/scheduler/base/task_queue_impl.cc |
index 5ce23f16f3ce201e1181628959bd6f5fa423a794..c11aeca78ab19eb7441d1156a32ec505fe6b8911 100644 |
--- a/components/scheduler/base/task_queue_impl.cc |
+++ b/components/scheduler/base/task_queue_impl.cc |
@@ -186,11 +186,14 @@ bool TaskQueueImpl::PostDelayedTaskImpl( |
EnqueueOrder sequence_number = |
main_thread_only().task_queue_manager->GetNextSequenceNumber(); |
- base::TimeTicks now = main_thread_only().time_domain->Now(); |
+ base::TimeTicks time_domain_now = main_thread_only().time_domain->Now(); |
+ base::TimeTicks time_domain_delayed_run_time = |
+ main_thread_only().time_domain->ComputeDelayedRunTime(time_domain_now, |
+ delay); |
PushOntoDelayedIncomingQueueFromMainThread( |
- Task(from_here, task, now + delay, sequence_number, |
+ Task(from_here, task, time_domain_delayed_run_time, sequence_number, |
task_type != TaskType::NON_NESTABLE), |
- now); |
+ time_domain_now); |
} else { |
// NOTE posting a delayed task from a different thread is not expected to |
// be common. This pathway is less optimal than perhaps it could be |
@@ -203,9 +206,12 @@ bool TaskQueueImpl::PostDelayedTaskImpl( |
EnqueueOrder sequence_number = |
any_thread().task_queue_manager->GetNextSequenceNumber(); |
+ base::TimeTicks time_domain_now = any_thread().time_domain->Now(); |
+ base::TimeTicks time_domain_delayed_run_time = |
+ any_thread().time_domain->ComputeDelayedRunTime(time_domain_now, delay); |
PushOntoDelayedIncomingQueueLocked( |
- Task(from_here, task, any_thread().time_domain->Now() + delay, |
- sequence_number, task_type != TaskType::NON_NESTABLE)); |
+ Task(from_here, task, time_domain_delayed_run_time, sequence_number, |
+ task_type != TaskType::NON_NESTABLE)); |
} |
return true; |
} |