| Index: cc/scheduler/scheduler_state_machine.cc
|
| diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
|
| index a6904ae2c6781341ced4067120f2089a43d740f1..6a412dcaca2d0412321360a18c833aa7e653195f 100644
|
| --- a/cc/scheduler/scheduler_state_machine.cc
|
| +++ b/cc/scheduler/scheduler_state_machine.cc
|
| @@ -47,7 +47,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(
|
| @@ -236,6 +237,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();
|
| }
|
|
|
| @@ -871,6 +874,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;
|
| }
|
|
|
|
|