Index: cc/scheduler/scheduler.cc |
diff --git a/cc/scheduler/scheduler.cc b/cc/scheduler/scheduler.cc |
index 93b91311e6e94c9f821ad8753cbe56d40d6b27b4..2770aa8f7cbbdff3b2126b4bfd3d85cd36bdd791 100644 |
--- a/cc/scheduler/scheduler.cc |
+++ b/cc/scheduler/scheduler.cc |
@@ -117,22 +117,24 @@ void Scheduler::DidCreateAndInitializeOutputSurface() { |
ProcessScheduledActions(); |
} |
-base::TimeTicks Scheduler::AnticipatedDrawTime() { |
+gfx::FrameTime Scheduler::AnticipatedDrawTime() { |
TRACE_EVENT0("cc", "Scheduler::AnticipatedDrawTime"); |
if (!last_set_needs_begin_impl_frame_ || |
last_begin_impl_frame_args_.interval <= base::TimeDelta()) |
- return base::TimeTicks(); |
+ return gfx::FrameTime(); |
- base::TimeTicks now = gfx::FrameTime::Now(); |
- base::TimeTicks timebase = std::max(last_begin_impl_frame_args_.frame_time, |
- last_begin_impl_frame_args_.deadline); |
+ gfx::FrameTime now = gfx::FrameTime::Now(); |
+ gfx::FrameTime timebase = |
+ std::max<gfx::FrameTime>( |
+ last_begin_impl_frame_args_.frame_time, |
+ last_begin_impl_frame_args_.deadline); |
int64 intervals = |
1 + ((now - timebase) / last_begin_impl_frame_args_.interval); |
return timebase + (last_begin_impl_frame_args_.interval * intervals); |
} |
-base::TimeTicks Scheduler::LastBeginImplFrameTime() { |
+gfx::FrameTime Scheduler::LastBeginImplFrameTime() { |
return last_begin_impl_frame_args_.frame_time; |
} |
@@ -182,7 +184,8 @@ void Scheduler::BeginImplFrame(const BeginFrameArgs& args) { |
SchedulerStateMachine::BEGIN_IMPL_FRAME_STATE_IDLE); |
DCHECK(state_machine_.HasInitializedOutputSurface()); |
last_begin_impl_frame_args_ = args; |
- last_begin_impl_frame_args_.deadline -= client_->DrawDurationEstimate(); |
+ last_begin_impl_frame_args_.deadline = |
+ last_begin_impl_frame_args_.deadline - client_->DrawDurationEstimate(); |
state_machine_.OnBeginImplFrame(last_begin_impl_frame_args_); |
ProcessScheduledActions(); |
@@ -201,10 +204,10 @@ void Scheduler::BeginImplFrame(const BeginFrameArgs& args) { |
} else if (!settings_.deadline_scheduling_enabled) { |
// We emulate the old non-deadline scheduler here by posting the |
// deadline task without any delay. |
- PostBeginImplFrameDeadline(base::TimeTicks()); |
+ PostBeginImplFrameDeadline(gfx::FrameTime()); |
} else if (state_machine_.ShouldTriggerBeginImplFrameDeadlineEarly()) { |
// We are ready to draw a new active tree immediately. |
- PostBeginImplFrameDeadline(base::TimeTicks()); |
+ PostBeginImplFrameDeadline(gfx::FrameTime()); |
} else if (state_machine_.needs_redraw()) { |
// We have an animation or fast input path on the impl thread that wants |
// to draw, so don't wait too long for a new active tree. |
@@ -222,7 +225,7 @@ void Scheduler::BeginImplFrame(const BeginFrameArgs& args) { |
} |
} |
-void Scheduler::PostBeginImplFrameDeadline(base::TimeTicks deadline) { |
+void Scheduler::PostBeginImplFrameDeadline(gfx::FrameTime deadline) { |
begin_impl_frame_deadline_closure_.Cancel(); |
begin_impl_frame_deadline_closure_.Reset( |
base::Bind(&Scheduler::OnBeginImplFrameDeadline, |
@@ -337,7 +340,7 @@ void Scheduler::ProcessScheduledActions() { |
client_->DidAnticipatedDrawTimeChange(AnticipatedDrawTime()); |
if (state_machine_.ShouldTriggerBeginImplFrameDeadlineEarly()) |
- PostBeginImplFrameDeadline(base::TimeTicks()); |
+ PostBeginImplFrameDeadline(gfx::FrameTime()); |
} |
bool Scheduler::WillDrawIfNeeded() const { |