| Index: cc/scheduler/scheduler_unittest.cc
|
| diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc
|
| index 256acd5bd8f6a211637b8d72b24e295485d0db86..0a08c5b7c038ead360affb5c676168584ad1ee3d 100644
|
| --- a/cc/scheduler/scheduler_unittest.cc
|
| +++ b/cc/scheduler/scheduler_unittest.cc
|
| @@ -1909,5 +1909,39 @@ TEST(SchedulerTest,
|
| EXPECT_FALSE(scheduler->IsSyntheticBeginFrameSourceActive());
|
| }
|
|
|
| +TEST(SchedulerTest, ScheduledActionActivateAfterBecomingInvisible) {
|
| + FakeSchedulerClient client;
|
| + SchedulerSettings scheduler_settings;
|
| + scheduler_settings.impl_side_painting = true;
|
| + TestScheduler* scheduler = client.CreateScheduler(scheduler_settings);
|
| + scheduler->SetCanStart();
|
| + scheduler->SetVisible(true);
|
| + scheduler->SetCanDraw(true);
|
| +
|
| + EXPECT_SINGLE_ACTION("ScheduledActionBeginOutputSurfaceCreation", client);
|
| + InitializeOutputSurfaceAndFirstCommit(scheduler, &client);
|
| +
|
| + // SetNeedsCommit should begin the frame.
|
| + client.Reset();
|
| + scheduler->SetNeedsCommit();
|
| + EXPECT_SINGLE_ACTION("SetNeedsBeginFrame", client);
|
| +
|
| + client.Reset();
|
| + client.AdvanceFrame();
|
| + EXPECT_ACTION("WillBeginImplFrame", client, 0, 2);
|
| + EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client, 1, 2);
|
| + EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending());
|
| +
|
| + client.Reset();
|
| + scheduler->NotifyBeginMainFrameStarted();
|
| + scheduler->NotifyReadyToCommit();
|
| + EXPECT_SINGLE_ACTION("ScheduledActionCommit", client);
|
| +
|
| + client.Reset();
|
| + scheduler->SetVisible(false);
|
| + // Sync tree should be forced to activate.
|
| + EXPECT_SINGLE_ACTION("ScheduledActionActivateSyncTree", client);
|
| +}
|
| +
|
| } // namespace
|
| } // namespace cc
|
|
|