Chromium Code Reviews| 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 299a1fd748a0d5b2a3ed79978afd583a379ea20d..6dc739b46ee10bf6d41b7f5de2dbed1e335054fe 100644 |
| --- a/cc/scheduler/scheduler_state_machine_unittest.cc |
| +++ b/cc/scheduler/scheduler_state_machine_unittest.cc |
| @@ -1749,6 +1749,28 @@ TEST(SchedulerStateMachineTest, TestTriggerDeadlineEarlyForSmoothness) { |
| EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineEarly()); |
| } |
| +TEST(SchedulerStateMachineTest, TestTriggerDeadlineEarlyForLoseOutputSurface) { |
|
brianderson
2014/05/22 17:45:18
TestTriggerDeadlineEarlyOnLostOutputSurface
simonhong
2014/05/22 20:28:52
Done.
|
| + SchedulerSettings default_scheduler_settings; |
| + StateMachine state(default_scheduler_settings); |
| + state.SetCanStart(); |
| + state.UpdateState(state.NextAction()); |
| + state.CreateAndInitializeOutputSurfaceWithActivatedCommit(); |
| + state.SetVisible(true); |
| + state.SetCanDraw(true); |
| + |
| + state.SetNeedsCommit(); |
| + |
| + state.OnBeginImplFrame(CreateBeginFrameArgsForTesting()); |
| + EXPECT_ACTION_UPDATE_STATE( |
| + SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME); |
| + EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
| + |
| + state.DidLoseOutputSurface(); |
| + EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
| + // The deadline should be triggered immediately when output surface is lost. |
| + EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineEarly()); |
|
brianderson
2014/05/22 17:45:18
Can you verify this is false before the output sur
simonhong
2014/05/22 20:28:52
Done.
|
| +} |
| + |
| TEST(SchedulerStateMachineTest, TestSetNeedsAnimate) { |
| SchedulerSettings settings; |
| settings.impl_side_painting = true; |