Index: components/scheduler/renderer/renderer_scheduler_impl.cc |
diff --git a/components/scheduler/renderer/renderer_scheduler_impl.cc b/components/scheduler/renderer/renderer_scheduler_impl.cc |
index f11b76639f57609aa742db494749dd28c6873a1c..03d0c8012dd64b1e4a27ecfde7f5a4858f7a9d59 100644 |
--- a/components/scheduler/renderer/renderer_scheduler_impl.cc |
+++ b/components/scheduler/renderer/renderer_scheduler_impl.cc |
@@ -1131,13 +1131,25 @@ void RendererSchedulerImpl::ResetForNavigationLocked() { |
UpdatePolicyLocked(UpdateType::MAY_EARLY_OUT_IF_POLICY_UNCHANGED); |
} |
-double RendererSchedulerImpl::CurrentTimeSeconds() const { |
- return helper_.scheduler_tqm_delegate()->CurrentTimeSeconds(); |
+double RendererSchedulerImpl::VirtualTimeSeconds() const { |
+ TaskQueue* current_tq = helper_.CurrentlyExecutingTaskQueue(); |
+ if (current_tq && current_tq->GetTimeDomain()) { |
+ return (current_tq->GetTimeDomain()->Now() - |
+ base::TimeTicks::UnixEpoch()).InSecondsF(); |
+ } |
+ return (helper_.scheduler_tqm_delegate()->NowTicks() - |
+ base::TimeTicks::UnixEpoch()).InSecondsF(); |
} |
-double RendererSchedulerImpl::MonotonicallyIncreasingTimeSeconds() const { |
+double RendererSchedulerImpl::MonotonicallyIncreasingVirtualTimeSeconds() |
+ const { |
+ TaskQueue* current_tq = helper_.CurrentlyExecutingTaskQueue(); |
+ if (current_tq && current_tq->GetTimeDomain()) { |
+ return current_tq->GetTimeDomain()->Now().ToInternalValue() / |
+ static_cast<double>(base::Time::kMicrosecondsPerSecond); |
+ } |
return helper_.scheduler_tqm_delegate()->NowTicks().ToInternalValue() / |
- static_cast<double>(base::Time::kMicrosecondsPerSecond); |
+ static_cast<double>(base::Time::kMicrosecondsPerSecond); |
} |
void RendererSchedulerImpl::RegisterTimeDomain(TimeDomain* time_domain) { |