| 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;
|
|
|