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 1f377b5a1ca182404c3ca15aa90f604b024b96aa..56ecc8f38a3cc5a8076e6f272ec4e209326c10e6 100644 |
--- a/cc/scheduler/scheduler_state_machine_unittest.cc |
+++ b/cc/scheduler/scheduler_state_machine_unittest.cc |
@@ -1929,5 +1929,32 @@ TEST(SchedulerStateMachineTest, TestForwardBeginFramesToChildren) { |
EXPECT_TRUE(state.BeginFrameNeeded()); |
} |
+TEST(SchedulerStateMachineTest, TestDeferCommit) { |
+ SchedulerSettings settings; |
+ StateMachine state(settings); |
+ state.SetCanStart(); |
+ state.UpdateState(state.NextAction()); |
+ state.CreateAndInitializeOutputSurfaceWithActivatedCommit(); |
+ state.SetVisible(true); |
+ state.SetCanDraw(true); |
+ |
+ state.SetDeferCommits(true); |
+ |
+ state.SetNeedsCommit(); |
+ EXPECT_TRUE(state.BeginFrameNeeded()); |
+ EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
+ |
+ state.OnBeginImplFrame(CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE)); |
+ EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
+ |
+ state.OnBeginImplFrameDeadline(); |
+ EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
+ |
+ state.SetDeferCommits(false); |
+ state.OnBeginImplFrame(CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE)); |
+ EXPECT_ACTION_UPDATE_STATE( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME); |
+} |
+ |
} // namespace |
} // namespace cc |