Index: cc/scheduler/frame_rate_controller.cc |
diff --git a/cc/scheduler/frame_rate_controller.cc b/cc/scheduler/frame_rate_controller.cc |
index 4844b16faee8771bd080cf3fc4c54f5146710e63..e9e32782c4b57f09b4b55be65abf25bd75fedf72 100644 |
--- a/cc/scheduler/frame_rate_controller.cc |
+++ b/cc/scheduler/frame_rate_controller.cc |
@@ -86,7 +86,10 @@ BeginFrameArgs FrameRateController::SetActive(bool active) { |
// TODO(brianderson): Use an adaptive parent compositor deadline. |
base::TimeTicks frame_time = NextTickTime() - interval_; |
base::TimeTicks deadline = NextTickTime(); |
- return BeginFrameArgs::Create(frame_time, deadline, interval_); |
+ BeginFrameArgs args = |
+ BeginFrameArgs::Create(frame_time, deadline, interval_); |
+ args.AdjustDeadline(deadline_adjustment_); |
+ return args; |
} |
return BeginFrameArgs(); |
} |
@@ -98,6 +101,7 @@ void FrameRateController::SetMaxSwapsPending(int max_swaps_pending) { |
void FrameRateController::SetTimebaseAndInterval(base::TimeTicks timebase, |
base::TimeDelta interval) { |
+ timebase = base::TimeTicks(); |
brianderson
2013/07/18 02:02:49
This is a hack to keep the phase from changing eve
|
interval_ = interval; |
if (is_time_source_throttling_) |
time_source_->SetTimebaseAndInterval(timebase, interval); |
@@ -119,10 +123,11 @@ void FrameRateController::OnTimerTick() { |
if (client_) { |
// TODO(brianderson): Use an adaptive parent compositor deadline. |
base::TimeTicks frame_time = LastTickTime(); |
- base::TimeTicks deadline = NextTickTime() + deadline_adjustment_; |
- client_->FrameRateControllerTick( |
- throttled, |
- BeginFrameArgs::Create(frame_time, deadline, interval_)); |
+ base::TimeTicks deadline = NextTickTime(); |
+ BeginFrameArgs args = |
+ BeginFrameArgs::Create(frame_time, deadline, interval_); |
+ args.AdjustDeadline(deadline_adjustment_); |
+ client_->FrameRateControllerTick(throttled, args); |
} |
if (!is_time_source_throttling_ && !throttled) |