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; |