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