Index: cc/scheduler/scheduler_state_machine_unittest.cc |
diff --git a/cc/scheduler/scheduler_state_machine_unittest.cc b/cc/scheduler/scheduler_state_machine_unittest.cc |
index d7fde5317184fac4784d759af19b1058b91af98b..7b332a3fbf3572563a88f60044d4903173656a62 100644 |
--- a/cc/scheduler/scheduler_state_machine_unittest.cc |
+++ b/cc/scheduler/scheduler_state_machine_unittest.cc |
@@ -171,12 +171,6 @@ TEST(SchedulerStateMachineTest, BeginFrameNeeded) { |
state.SetNeedsAnimateForTest(false); |
EXPECT_FALSE(state.BeginFrameNeeded()); |
- // Background tick for animations. |
- state.SetVisible(false); |
- state.SetNeedsRedraw(false); |
- state.SetNeedsAnimateForTest(true); |
- EXPECT_TRUE(state.BeginFrameNeeded()); |
- |
// Proactively request BeginFrames when commit is pending. |
state.SetVisible(true); |
state.SetNeedsRedraw(false); |
@@ -1585,6 +1579,25 @@ TEST(SchedulerStateMachineTest, |
EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_DRAW_AND_SWAP_ABORT); |
} |
+TEST(SchedulerStateMachineTest, TestNoBeginFrameNeededWhenInvisible) { |
+ SchedulerSettings default_scheduler_settings; |
+ StateMachine state(default_scheduler_settings); |
+ state.SetCanStart(); |
+ state.UpdateState(state.NextAction()); |
+ state.CreateAndInitializeOutputSurfaceWithActivatedCommit(); |
+ state.SetVisible(true); |
+ |
+ EXPECT_FALSE(state.BeginFrameNeeded()); |
+ state.SetNeedsRedraw(true); |
+ EXPECT_TRUE(state.BeginFrameNeeded()); |
+ |
+ state.SetVisible(false); |
+ EXPECT_FALSE(state.BeginFrameNeeded()); |
+ |
+ state.SetVisible(true); |
+ EXPECT_TRUE(state.BeginFrameNeeded()); |
+} |
+ |
TEST(SchedulerStateMachineTest, TestNoBeginMainFrameWhenInvisible) { |
SchedulerSettings default_scheduler_settings; |
StateMachine state(default_scheduler_settings); |
@@ -1594,6 +1607,14 @@ TEST(SchedulerStateMachineTest, TestNoBeginMainFrameWhenInvisible) { |
state.SetVisible(false); |
state.SetNeedsCommit(); |
EXPECT_ACTION(SchedulerStateMachine::ACTION_NONE); |
+ EXPECT_FALSE(state.BeginFrameNeeded()); |
+ |
+ // When become visible again, the needs commit should still be pending. |
+ state.SetVisible(true); |
+ EXPECT_TRUE(state.BeginFrameNeeded()); |
+ state.OnBeginImplFrame(); |
+ EXPECT_ACTION_UPDATE_STATE( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME); |
} |
TEST(SchedulerStateMachineTest, TestFinishCommitWhenCommitInProgress) { |