cc: Add test for triggering deadline early when output surface is lost

R=brianderson@chromium.org
BUG=376463
TEST=SchedulerTest.TestTriggerDeadlineEarlyForLoseOutputSurface

Review URL: https://codereview.chromium.org/294473014

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272459 0039d316-1c4b-4281-b951-d872f2087c98
parent 358221fc
...@@ -1749,6 +1749,29 @@ TEST(SchedulerStateMachineTest, TestTriggerDeadlineEarlyForSmoothness) { ...@@ -1749,6 +1749,29 @@ TEST(SchedulerStateMachineTest, TestTriggerDeadlineEarlyForSmoothness) {
EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineEarly()); EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineEarly());
} }
TEST(SchedulerStateMachineTest, TestTriggerDeadlineEarlyOnLostOutputSurface) {
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);
EXPECT_FALSE(state.ShouldTriggerBeginImplFrameDeadlineEarly());
state.DidLoseOutputSurface();
EXPECT_ACTION_UPDATE_STATE(SchedulerStateMachine::ACTION_NONE);
// The deadline should be triggered immediately when output surface is lost.
EXPECT_TRUE(state.ShouldTriggerBeginImplFrameDeadlineEarly());
}
TEST(SchedulerStateMachineTest, TestSetNeedsAnimate) { TEST(SchedulerStateMachineTest, TestSetNeedsAnimate) {
SchedulerSettings settings; SchedulerSettings settings;
settings.impl_side_painting = true; settings.impl_side_painting = true;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment