| 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 67925a059b39b2295b977f9cacb5cc28ed487ba5..4fbc224088e5579a4abf69ef16254a9bb395c121 100644
|
| --- a/cc/scheduler/scheduler_state_machine_unittest.cc
|
| +++ b/cc/scheduler/scheduler_state_machine_unittest.cc
|
| @@ -198,7 +198,8 @@ TEST(SchedulerStateMachineTest,
|
| EXPECT_FALSE(state.CommitPending());
|
|
|
| // Failing the draw makes us require a commit.
|
| - state.DidDrawIfPossibleCompleted(false);
|
| + state.DidDrawIfPossibleCompleted(
|
| + DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS);
|
| state.OnBeginImplFrame(BeginFrameArgs::CreateForTesting());
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME);
|
| @@ -235,8 +236,9 @@ TEST(SchedulerStateMachineTest,
|
| state.SetNeedsRedraw(true);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
|
|
| - // Failing the draw makes us require a commit.
|
| - state.DidDrawIfPossibleCompleted(false);
|
| + // Failing the draw for animation checkerboards makes us require a commit.
|
| + state.DidDrawIfPossibleCompleted(
|
| + DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS);
|
| state.OnBeginImplFrame(BeginFrameArgs::CreateForTesting());
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME);
|
| @@ -277,7 +279,8 @@ void TestFailedDrawsWillEventuallyForceADrawAfterTheNextCommit(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
|
|
| // Fail the draw.
|
| - state.DidDrawIfPossibleCompleted(false);
|
| + state.DidDrawIfPossibleCompleted(
|
| + DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
| EXPECT_TRUE(state.BeginImplFrameNeeded());
|
| EXPECT_TRUE(state.RedrawPending());
|
| @@ -316,9 +319,9 @@ TEST(SchedulerStateMachineTest,
|
| void TestFailedDrawsDoNotRestartForcedDraw(
|
| bool deadline_scheduling_enabled) {
|
| SchedulerSettings scheduler_settings;
|
| - int drawLimit = 1;
|
| + int draw_limit = 1;
|
| scheduler_settings.maximum_number_of_failed_draws_before_draw_is_forced_ =
|
| - drawLimit;
|
| + draw_limit;
|
| scheduler_settings.deadline_scheduling_enabled = deadline_scheduling_enabled;
|
| scheduler_settings.impl_side_painting = true;
|
| StateMachine state(scheduler_settings);
|
| @@ -351,9 +354,10 @@ void TestFailedDrawsDoNotRestartForcedDraw(
|
|
|
| // Fail the draw enough times to force a redraw,
|
| // then once more for good measure.
|
| - for (int i = 0; i < drawLimit; ++i)
|
| - state.DidDrawIfPossibleCompleted(false);
|
| - state.DidDrawIfPossibleCompleted(false);
|
| + for (int i = 0; i < draw_limit + 1; ++i) {
|
| + state.DidDrawIfPossibleCompleted(
|
| + DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS);
|
| + }
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
| EXPECT_TRUE(state.BeginImplFrameNeeded());
|
| EXPECT_TRUE(state.RedrawPending());
|
| @@ -374,9 +378,10 @@ void TestFailedDrawsDoNotRestartForcedDraw(
|
|
|
| // After failing additional draws, we should still be in a forced
|
| // redraw, but not back in WAITING_FOR_COMMIT.
|
| - for (int i = 0; i < drawLimit; ++i)
|
| - state.DidDrawIfPossibleCompleted(false);
|
| - state.DidDrawIfPossibleCompleted(false);
|
| + for (int i = 0; i < draw_limit + 1; ++i) {
|
| + state.DidDrawIfPossibleCompleted(
|
| + DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS);
|
| + }
|
| EXPECT_TRUE(state.RedrawPending());
|
| EXPECT_TRUE(state.ForcedRedrawState() ==
|
| SchedulerStateMachine::FORCED_REDRAW_STATE_WAITING_FOR_ACTIVATION);
|
| @@ -415,8 +420,9 @@ TEST(SchedulerStateMachineTest, TestFailedDrawIsRetriedInNextBeginImplFrame) {
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
|
|
| - // Fail the draw
|
| - state.DidDrawIfPossibleCompleted(false);
|
| + // Failing the draw for animation checkerboards makes us require a commit.
|
| + state.DidDrawIfPossibleCompleted(
|
| + DrawSwapReadbackResult::DRAW_ABORTED_CHECKERBOARD_ANIMATIONS);
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
| @@ -453,7 +459,7 @@ TEST(SchedulerStateMachineTest, TestDoestDrawTwiceInSameFrame) {
|
| state.OnBeginImplFrameDeadline();
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
|
|
| // Before the next BeginImplFrame, set needs redraw again.
|
| @@ -470,7 +476,7 @@ TEST(SchedulerStateMachineTest, TestDoestDrawTwiceInSameFrame) {
|
| state.OnBeginImplFrameDeadline();
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
|
|
| // We just swapped, so we should proactively request another BeginImplFrame.
|
| @@ -715,7 +721,7 @@ TEST(SchedulerStateMachineTest, TestsetNeedsCommitIsNotLost) {
|
| state.CommitState());
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
|
|
| // Verify that another commit will start immediately after draw.
|
| EXPECT_ACTION_UPDATE_STATE(
|
| @@ -762,7 +768,7 @@ TEST(SchedulerStateMachineTest, TestFullCycle) {
|
| state.OnBeginImplFrameDeadline();
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
|
|
| // Should be synchronized, no draw needed, no action needed.
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
| @@ -813,7 +819,7 @@ TEST(SchedulerStateMachineTest, TestFullCycleWithCommitRequestInbetween) {
|
| state.OnBeginImplFrameDeadline();
|
| EXPECT_ACTION_UPDATE_STATE(
|
| SchedulerStateMachine::ACTION_DRAW_AND_SWAP_IF_POSSIBLE);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
|
|
| // Should be synchronized, no draw needed, no action needed.
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
| @@ -1449,7 +1455,7 @@ TEST(SchedulerStateMachineTest, TestImmediateFinishCommit) {
|
| state.CommitState());
|
|
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_DRAW_AND_READBACK);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
|
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
|
|
| @@ -1492,7 +1498,7 @@ void TestImmediateFinishCommitDuringCommit(bool deadline_scheduling_enabled) {
|
| state.CommitState());
|
|
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_DRAW_AND_READBACK);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
|
|
| // Should be waiting for the normal BeginMainFrame.
|
| @@ -1546,7 +1552,7 @@ void ImmediateBeginMainFrameAbortedWhileInvisible(
|
| state.CommitState());
|
|
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_DRAW_AND_READBACK);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
|
|
| // Should be waiting for BeginMainFrame.
|
| @@ -1602,7 +1608,7 @@ TEST(SchedulerStateMachineTest, ImmediateFinishCommitWhileCantDraw) {
|
| state.CommitState());
|
|
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_DRAW_AND_READBACK);
|
| - state.DidDrawIfPossibleCompleted(true);
|
| + state.DidDrawIfPossibleCompleted(DrawSwapReadbackResult::DRAW_SUCCESS);
|
| EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
|
| }
|
|
|
|
|