| Index: cc/scheduler/scheduler_state_machine.cc
|
| diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
|
| index 74a4f0679f1adb7710278ef4a0bf32171e3db05a..e61d36db63edd32736caa191b4b33090ab4c12a2 100644
|
| --- a/cc/scheduler/scheduler_state_machine.cc
|
| +++ b/cc/scheduler/scheduler_state_machine.cc
|
| @@ -48,7 +48,8 @@ SchedulerStateMachine::SchedulerStateMachine(const SchedulerSettings& settings)
|
| impl_latency_takes_priority_(false),
|
| skip_next_begin_main_frame_to_reduce_latency_(false),
|
| skip_begin_main_frame_to_reduce_latency_(false),
|
| - continuous_painting_(false) {
|
| + continuous_painting_(false),
|
| + impl_latency_takes_priority_on_battery_(false) {
|
| }
|
|
|
| const char* SchedulerStateMachine::OutputSurfaceStateToString(
|
| @@ -238,6 +239,8 @@ void SchedulerStateMachine::AsValueInto(base::debug::TracedValue* state,
|
| state->SetBoolean("skip_next_begin_main_frame_to_reduce_latency",
|
| skip_next_begin_main_frame_to_reduce_latency_);
|
| state->SetBoolean("continuous_painting", continuous_painting_);
|
| + state->SetBoolean("impl_latency_takes_priority_on_battery",
|
| + impl_latency_takes_priority_on_battery_);
|
| state->EndDictionary();
|
| }
|
|
|
| @@ -879,6 +882,11 @@ bool SchedulerStateMachine::ShouldTriggerBeginImplFrameDeadlineEarly() const {
|
| if (impl_latency_takes_priority_)
|
| return true;
|
|
|
| + // If we are on battery power and want to prioritize impl latency because
|
| + // we don't trust deadline tasks to execute at the right time.
|
| + if (impl_latency_takes_priority_on_battery_)
|
| + return true;
|
| +
|
| return false;
|
| }
|
|
|
|
|