| Index: cc/scheduler/scheduler_state_machine.cc
|
| diff --git a/cc/scheduler/scheduler_state_machine.cc b/cc/scheduler/scheduler_state_machine.cc
|
| index 6446e8dcbb7a9b181676c62e84605a85ee1d2630..e7f6799f5bbe5a15d3050105ed85c2316fd1a310 100644
|
| --- a/cc/scheduler/scheduler_state_machine.cc
|
| +++ b/cc/scheduler/scheduler_state_machine.cc
|
| @@ -364,12 +364,13 @@ bool SchedulerStateMachine::BeginFrameNeededToDrawByImplThread() const {
|
| }
|
|
|
| bool SchedulerStateMachine::ProactiveBeginFrameWantedByImplThread() const {
|
| - // We should proactively request a BeginFrame if a commit is pending.
|
| - if (needs_commit_ || needs_forced_commit_ ||
|
| - commit_state_ != COMMIT_STATE_IDLE)
|
| - return true;
|
| + // Do not be proactive when invisible.
|
| + if (!visible_ || output_surface_state_ != OUTPUT_SURFACE_ACTIVE)
|
| + return false;
|
|
|
| - return false;
|
| + // We should proactively request a BeginFrame if a commit is pending.
|
| + return (needs_commit_ || needs_forced_commit_ ||
|
| + commit_state_ != COMMIT_STATE_IDLE);
|
| }
|
|
|
| void SchedulerStateMachine::DidEnterBeginFrame(const BeginFrameArgs& args) {
|
|
|