| 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 95a043c13f1c584e526e3fb97725f550118329f4..4384ffee34d752cc3bc2f131f202ef941a4073f8 100644
|
| --- a/components/scheduler/renderer/renderer_scheduler_impl.cc
|
| +++ b/components/scheduler/renderer/renderer_scheduler_impl.cc
|
| @@ -49,7 +49,8 @@ RendererSchedulerImpl::RendererSchedulerImpl(
|
| base::Bind(&RendererSchedulerImpl::UpdatePolicy,
|
| base::Unretained(this)),
|
| helper_.ControlTaskRunner()),
|
| - main_thread_only_(compositor_task_runner_, helper_.tick_clock()),
|
| + main_thread_only_(compositor_task_runner_,
|
| + helper_.task_queue_manager_delegate()),
|
| policy_may_need_update_(&any_thread_lock_),
|
| weak_factory_(this) {
|
| update_policy_closure_ = base::Bind(&RendererSchedulerImpl::UpdatePolicy,
|
| @@ -250,7 +251,7 @@ void RendererSchedulerImpl::DidCommitFrameToCompositor() {
|
| if (helper_.IsShutdown())
|
| return;
|
|
|
| - base::TimeTicks now(helper_.tick_clock()->NowTicks());
|
| + base::TimeTicks now(helper_.task_queue_manager_delegate()->NowTicks());
|
| if (now < MainThreadOnly().estimated_next_frame_begin) {
|
| // TODO(rmcilroy): Consider reducing the idle period based on the runtime of
|
| // the next pending delayed tasks (as currently done in for long idle times)
|
| @@ -307,7 +308,7 @@ void RendererSchedulerImpl::SetAllRenderWidgetsHidden(bool hidden) {
|
| // TODO(alexclarke): Should we update policy here?
|
| TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID(
|
| TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), "RendererScheduler",
|
| - this, AsValue(helper_.tick_clock()->NowTicks()));
|
| + this, AsValue(helper_.task_queue_manager_delegate()->NowTicks()));
|
| }
|
|
|
| void RendererSchedulerImpl::SetHasVisibleRenderWidgetWithTouchHandler(
|
| @@ -407,7 +408,7 @@ void RendererSchedulerImpl::UpdateForInputEventOnCompositorThread(
|
| blink::WebInputEvent::Type type,
|
| InputEventState input_event_state) {
|
| base::AutoLock lock(any_thread_lock_);
|
| - base::TimeTicks now = helper_.tick_clock()->NowTicks();
|
| + base::TimeTicks now = helper_.task_queue_manager_delegate()->NowTicks();
|
|
|
| // TODO(alexclarke): Move WebInputEventTraits where we can access it from here
|
| // and record the name rather than the integer representation.
|
| @@ -476,7 +477,7 @@ void RendererSchedulerImpl::DidHandleInputEventOnMainThread(
|
| if (ShouldPrioritizeInputEvent(web_input_event)) {
|
| base::AutoLock lock(any_thread_lock_);
|
| AnyThread().user_model.DidFinishProcessingInputEvent(
|
| - helper_.tick_clock()->NowTicks());
|
| + helper_.task_queue_manager_delegate()->NowTicks());
|
| }
|
| }
|
|
|
| @@ -567,7 +568,7 @@ void RendererSchedulerImpl::UpdatePolicyLocked(UpdateType update_type) {
|
| if (helper_.IsShutdown())
|
| return;
|
|
|
| - base::TimeTicks now = helper_.tick_clock()->NowTicks();
|
| + base::TimeTicks now = helper_.task_queue_manager_delegate()->NowTicks();
|
| policy_may_need_update_.SetWhileLocked(false);
|
|
|
| base::TimeDelta expected_use_case_duration;
|
| @@ -826,7 +827,7 @@ RendererSchedulerImpl::AsValueLocked(base::TimeTicks optional_now) const {
|
| any_thread_lock_.AssertAcquired();
|
|
|
| if (optional_now.is_null())
|
| - optional_now = helper_.tick_clock()->NowTicks();
|
| + optional_now = helper_.task_queue_manager_delegate()->NowTicks();
|
| scoped_refptr<base::trace_event::TracedValue> state =
|
| new base::trace_event::TracedValue();
|
|
|
| @@ -898,7 +899,8 @@ void RendererSchedulerImpl::OnIdlePeriodStarted() {
|
|
|
| void RendererSchedulerImpl::OnIdlePeriodEnded() {
|
| base::AutoLock lock(any_thread_lock_);
|
| - AnyThread().last_idle_period_end_time = helper_.tick_clock()->NowTicks();
|
| + AnyThread().last_idle_period_end_time =
|
| + helper_.task_queue_manager_delegate()->NowTicks();
|
| AnyThread().in_idle_period = false;
|
| UpdatePolicyLocked(UpdateType::MAY_EARLY_OUT_IF_POLICY_UNCHANGED);
|
| }
|
| @@ -922,7 +924,7 @@ void RendererSchedulerImpl::OnNavigationStarted() {
|
| "RendererSchedulerImpl::OnNavigationStarted");
|
| base::AutoLock lock(any_thread_lock_);
|
| AnyThread().rails_loading_priority_deadline =
|
| - helper_.tick_clock()->NowTicks() +
|
| + helper_.task_queue_manager_delegate()->NowTicks() +
|
| base::TimeDelta::FromMilliseconds(
|
| kRailsInitialLoadingPrioritizationMillis);
|
| ResetForNavigationLocked();
|
| @@ -958,9 +960,19 @@ void RendererSchedulerImpl::ResetForNavigationLocked() {
|
| MainThreadOnly().loading_task_cost_estimator.Clear();
|
| MainThreadOnly().timer_task_cost_estimator.Clear();
|
| MainThreadOnly().idle_time_estimator.Clear();
|
| - AnyThread().user_model.Reset(helper_.tick_clock()->NowTicks());
|
| + AnyThread().user_model.Reset(
|
| + helper_.task_queue_manager_delegate()->NowTicks());
|
| MainThreadOnly().have_seen_a_begin_main_frame = false;
|
| UpdatePolicyLocked(UpdateType::MAY_EARLY_OUT_IF_POLICY_UNCHANGED);
|
| }
|
|
|
| +double RendererSchedulerImpl::currentTime() const {
|
| + return helper_.task_queue_manager_delegate()->currentTime();
|
| +}
|
| +
|
| +double RendererSchedulerImpl::monotonicallyIncreasingTime() const {
|
| + return helper_.task_queue_manager_delegate()->NowTicks().ToInternalValue() /
|
| + static_cast<double>(base::Time::kMicrosecondsPerSecond);
|
| +}
|
| +
|
| } // namespace scheduler
|
|
|