Index: components/scheduler/renderer/renderer_scheduler_impl.h |
diff --git a/components/scheduler/renderer/renderer_scheduler_impl.h b/components/scheduler/renderer/renderer_scheduler_impl.h |
index d137b16f6d7692670a55f42fc4d5b7dc8194ded6..ad30786bec17dd9c50d71cc1a96d89277a756b1e 100644 |
--- a/components/scheduler/renderer/renderer_scheduler_impl.h |
+++ b/components/scheduler/renderer/renderer_scheduler_impl.h |
@@ -33,8 +33,11 @@ class SCHEDULER_EXPORT RendererSchedulerImpl |
public SchedulerHelper::Observer, |
public RenderWidgetSignals::Observer { |
public: |
+ enum class TimeSource { NORMAL, VIRTUAL }; |
+ |
RendererSchedulerImpl( |
- scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner); |
+ scoped_refptr<SchedulerTaskRunnerDelegate> main_task_runner, |
+ TimeSource time_source); |
~RendererSchedulerImpl() override; |
// RendererScheduler implementation: |
@@ -71,6 +74,8 @@ class SCHEDULER_EXPORT RendererSchedulerImpl |
void SuspendTimerQueue() override; |
void ResumeTimerQueue() override; |
void SetTimerQueueSuspensionWhenBackgroundedEnabled(bool enabled) override; |
+ double currentTime() const override; |
+ double monotonicallyIncreasingTime() const override; |
// RenderWidgetSignals::Observer implementation: |
void SetAllRenderWidgetsHidden(bool hidden) override; |
@@ -241,12 +246,14 @@ class SCHEDULER_EXPORT RendererSchedulerImpl |
CancelableClosureHolder end_renderer_hidden_idle_period_closure_; |
CancelableClosureHolder suspend_timers_when_backgrounded_closure_; |
+ const TimeSource time_source_; |
+ |
// We have decided to improve thread safety at the cost of some boilerplate |
// (the accessors) for the following data members. |
struct MainThreadOnly { |
- explicit MainThreadOnly( |
- const scoped_refptr<TaskQueue>& compositor_task_runner); |
+ MainThreadOnly(const scoped_refptr<TaskQueue>& compositor_task_runner, |
+ base::TickClock* time_source); |
~MainThreadOnly(); |
TaskCostEstimator loading_task_cost_estimator; |