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 3fc4a29c8e41098982e201b8703f5cdbeac77da5..d7fde5317184fac4784d759af19b1058b91af98b 100644 |
--- a/cc/scheduler/scheduler_state_machine_unittest.cc |
+++ b/cc/scheduler/scheduler_state_machine_unittest.cc |
@@ -1791,6 +1791,25 @@ TEST(SchedulerStateMachineTest, |
EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineImmediately()); |
} |
+TEST(SchedulerStateMachineTest, TestTriggerDeadlineImmediatelyWhenInvisible) { |
+ SchedulerSettings settings; |
+ settings.impl_side_painting = true; |
+ StateMachine state(settings); |
+ SET_UP_STATE(state) |
+ |
+ state.SetNeedsCommit(); |
+ |
+ state.OnBeginImplFrame(); |
+ EXPECT_ACTION_UPDATE_STATE( |
+ SchedulerStateMachine::ACTION_SEND_BEGIN_MAIN_FRAME); |
+ EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
+ EXPECT_FALSE(state.ShouldTriggerBeginImplFrameDeadlineImmediately()); |
+ |
+ state.SetVisible(false); |
+ EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE); |
+ EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineImmediately()); |
+} |
+ |
TEST(SchedulerStateMachineTest, TestSetNeedsAnimate) { |
SchedulerSettings settings; |
settings.impl_side_painting = true; |