Chromium Code Reviews| Index: cc/scheduler/scheduler_unittest.cc |
| diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
| index d17f0ba87c4aa4e583c18564563fab1142b55e2f..388d425616cd5edce65a37ca91c5c616c2bf34b3 100644 |
| --- a/cc/scheduler/scheduler_unittest.cc |
| +++ b/cc/scheduler/scheduler_unittest.cc |
| @@ -148,12 +148,17 @@ class FakeSchedulerClient : public SchedulerClient { |
| if (log_anticipated_draw_time_change_) |
| PushAction("DidAnticipatedDrawTimeChange"); |
| } |
| - base::TimeDelta DrawDurationEstimate() override { return base::TimeDelta(); } |
| + |
| + // Use really long estimations by default so we don't inadvertently |
| + // test latency recovery logic unless a test explicitly wants to. |
| + base::TimeDelta DrawDurationEstimate() override { |
| + return base::TimeDelta::FromHours(1); |
| + } |
| base::TimeDelta BeginMainFrameToCommitDurationEstimate() override { |
| - return base::TimeDelta(); |
| + return base::TimeDelta::FromHours(1); |
| } |
| base::TimeDelta CommitToActivateDurationEstimate() override { |
| - return base::TimeDelta(); |
| + return base::TimeDelta::FromHours(1); |
| } |
| void DidBeginImplFrameDeadline() override {} |
| @@ -187,7 +192,7 @@ class FakeSchedulerClient : public SchedulerClient { |
| protected: |
| bool ImplFrameDeadlinePendingCallback(bool state) { |
| - return scheduler_->BeginImplFrameDeadlinePending() == state; |
| + return scheduler_->BeginImplFrameDeadlinePendingForTest() == state; |
| } |
| bool draw_will_happen_; |
| @@ -328,7 +333,7 @@ class SchedulerTest : public testing::Test { |
| scheduler_->DidCreateAndInitializeOutputSurface(); |
| scheduler_->SetNeedsCommit(); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| { |
| @@ -345,11 +350,11 @@ class SchedulerTest : public testing::Test { |
| scheduler_->OnDrawForOutputSurface(); |
| } else { |
| // Run the posted deadline task. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner_->RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| } |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| } |
| client_->Reset(); |
| @@ -361,11 +366,11 @@ class SchedulerTest : public testing::Test { |
| if (!scheduler_settings_.using_synchronous_renderer_compositor) { |
| // Run the posted deadline task. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner_->RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| } |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| } |
| EXPECT_FALSE(client_->needs_begin_frames()); |
| @@ -382,7 +387,7 @@ class SchedulerTest : public testing::Test { |
| // pending, ImplFrameDeadlinePending will return false straight away and we |
| // will run no tasks. |
| task_runner_->RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Send the next BeginFrame message if using an external source, otherwise |
| // it will be already in the task queue. |
| @@ -396,7 +401,7 @@ class SchedulerTest : public testing::Test { |
| // Then run tasks until new deadline is scheduled. |
| EXPECT_TRUE(task_runner_->RunTasksWhile( |
| client_->ImplFrameDeadlinePending(false))); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| } |
| } |
| @@ -418,6 +423,11 @@ class SchedulerTest : public testing::Test { |
| int64 commit_to_activate_estimate_in_ms, |
| bool impl_latency_takes_priority, |
| bool should_send_begin_main_frame); |
| + void ImplFrameInHighLatencyMode( |
| + int64 begin_main_frame_to_commit_estimate_in_ms, |
| + int64 commit_to_activate_estimate_in_ms, |
| + bool swap_ack_before_deadline, |
| + bool should_begin_impl_frame_in_high_latency); |
| void BeginFramesNotFromClient(bool use_external_begin_frame_source, |
| bool throttle_frame_production); |
| void BeginFramesNotFromClient_SwapThrottled( |
| @@ -462,7 +472,7 @@ TEST_F(SchedulerTest, SendBeginFramesToChildren) { |
| client_->Reset(); |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_TRUE(client_->begin_frame_is_sent_to_children()); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| @@ -518,13 +528,13 @@ TEST_F(SchedulerTest, VideoNeedsBeginFrames) { |
| client_->Reset(); |
| EXPECT_SCOPED(AdvanceFrame()); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // WillBeginImplFrame is responsible for sending BeginFrames to video. |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| client_->Reset(); |
| EXPECT_SCOPED(AdvanceFrame()); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| client_->Reset(); |
| @@ -533,7 +543,7 @@ TEST_F(SchedulerTest, VideoNeedsBeginFrames) { |
| client_->Reset(); |
| task_runner_->RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 0, 2); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 1, 2); |
| EXPECT_FALSE(client_->needs_begin_frames()); |
| @@ -551,14 +561,14 @@ TEST_F(SchedulerTest, RequestCommit) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| // If we don't swap on the deadline, we wait for the next BeginFrame. |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -573,14 +583,14 @@ TEST_F(SchedulerTest, RequestCommit) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| // BeginImplFrame deadline should draw. |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 1); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -588,7 +598,7 @@ TEST_F(SchedulerTest, RequestCommit) { |
| // to avoid excessive toggles. |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -621,7 +631,7 @@ TEST_F(SchedulerTest, RequestCommitAfterSetDeferCommit) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| } |
| TEST_F(SchedulerTest, DeferCommitWithRedraw) { |
| @@ -648,7 +658,7 @@ TEST_F(SchedulerTest, DeferCommitWithRedraw) { |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -668,7 +678,7 @@ TEST_F(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -682,12 +692,12 @@ TEST_F(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
| scheduler_->NotifyBeginMainFrameStarted(); |
| scheduler_->NotifyReadyToCommit(); |
| EXPECT_SINGLE_ACTION("ScheduledActionCommit", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Because we just swapped, the Scheduler should also request the next |
| // BeginImplFrame from the OutputSurface. |
| @@ -698,7 +708,7 @@ TEST_F(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Finishing the commit before the deadline should post a new deadline task |
| @@ -706,12 +716,12 @@ TEST_F(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
| scheduler_->NotifyBeginMainFrameStarted(); |
| scheduler_->NotifyReadyToCommit(); |
| EXPECT_SINGLE_ACTION("ScheduledActionCommit", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1015,7 +1025,7 @@ TEST_F(SchedulerTest, PrepareTiles) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // On the deadline, he actions should have occured in the right order. |
| client->Reset(); |
| @@ -1027,7 +1037,7 @@ TEST_F(SchedulerTest, PrepareTiles) { |
| client->ActionIndex("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Request a draw. We don't need a PrepareTiles yet. |
| client->Reset(); |
| @@ -1043,7 +1053,7 @@ TEST_F(SchedulerTest, PrepareTiles) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Draw. The draw will trigger SetNeedsPrepareTiles, and |
| // then the PrepareTiles action will be triggered after the Draw. |
| @@ -1057,18 +1067,18 @@ TEST_F(SchedulerTest, PrepareTiles) { |
| client->ActionIndex("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // We need a BeginImplFrame where we don't swap to go idle. |
| client->Reset(); |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 0, 2); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_EQ(0, client->num_draws()); |
| // Now trigger a PrepareTiles outside of a draw. We will then need |
| @@ -1084,13 +1094,13 @@ TEST_F(SchedulerTest, PrepareTiles) { |
| client->Reset(); |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_EQ(0, client->num_draws()); |
| EXPECT_FALSE(client->HasAction("ScheduledActionDrawAndSwapIfPossible")); |
| EXPECT_TRUE(client->HasAction("ScheduledActionPrepareTiles")); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| } |
| // Test that PrepareTiles only happens once per frame. If an external caller |
| @@ -1107,7 +1117,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(scheduler_->PrepareTilesPending()); |
| scheduler_->DidPrepareTiles(); // An explicit PrepareTiles. |
| @@ -1120,7 +1130,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_FALSE(client_->HasAction("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Next frame without DidPrepareTiles should PrepareTiles with draw. |
| scheduler_->SetNeedsPrepareTiles(); |
| @@ -1129,7 +1139,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -1140,7 +1150,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| client_->ActionIndex("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| scheduler_->DidPrepareTiles(); // Corresponds to ScheduledActionPrepareTiles |
| // If we get another DidPrepareTiles within the same frame, we should |
| @@ -1152,7 +1162,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(scheduler_->PrepareTilesPending()); |
| @@ -1162,7 +1172,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_TRUE(client_->HasAction("ScheduledActionDrawAndSwapIfPossible")); |
| EXPECT_FALSE(client_->HasAction("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // If we get another DidPrepareTiles, we should not PrepareTiles on the next |
| // frame. This verifies we don't alternate calling PrepareTiles once and |
| @@ -1176,7 +1186,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(scheduler_->PrepareTilesPending()); |
| @@ -1186,7 +1196,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_TRUE(client_->HasAction("ScheduledActionDrawAndSwapIfPossible")); |
| EXPECT_FALSE(client_->HasAction("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Next frame without DidPrepareTiles should PrepareTiles with draw. |
| scheduler_->SetNeedsPrepareTiles(); |
| @@ -1195,7 +1205,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -1206,7 +1216,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
| client_->ActionIndex("ScheduledActionPrepareTiles")); |
| EXPECT_FALSE(scheduler_->RedrawPending()); |
| EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| scheduler_->DidPrepareTiles(); // Corresponds to ScheduledActionPrepareTiles |
| } |
| @@ -1303,7 +1313,7 @@ TEST_F(SchedulerTest, WaitForReadyToDrawCancelledWhenLostOutputSurface) { |
| // Scheduler loses output surface, and stops waiting for ready to draw signal. |
| client_->Reset(); |
| scheduler_->DidLoseOutputSurface(); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionBeginOutputSurfaceCreation", client_, 0, 3); |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); |
| @@ -1334,6 +1344,7 @@ void SchedulerTest::MainFrameInHighLatencyMode( |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| + scheduler_->DidSwapBuffersComplete(); |
|
brianderson
2015/05/08 16:52:50
Needed to add these calls to DidSwapBuffersComplet
|
| EXPECT_TRUE(scheduler_->MainThreadIsInHighLatencyMode()); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| scheduler_->NotifyReadyToCommit(); |
| @@ -1346,6 +1357,7 @@ void SchedulerTest::MainFrameInHighLatencyMode( |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_TRUE(scheduler_->MainThreadIsInHighLatencyMode()); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| + scheduler_->DidSwapBuffersComplete(); |
| EXPECT_EQ(scheduler_->MainThreadIsInHighLatencyMode(), |
| should_send_begin_main_frame); |
| EXPECT_EQ(client->HasAction("ScheduledActionSendBeginMainFrame"), |
| @@ -1378,6 +1390,83 @@ TEST_F(SchedulerTest, NotSkipMainFrameInPreferImplLatencyMode) { |
| EXPECT_SCOPED(MainFrameInHighLatencyMode(1, 1, true, true)); |
| } |
| +void SchedulerTest::ImplFrameInHighLatencyMode( |
|
brianderson
2015/05/08 16:52:50
Hmm. I need to make a version of this test that te
|
| + int64 begin_main_frame_to_commit_estimate_in_ms, |
| + int64 commit_to_activate_estimate_in_ms, |
| + bool swap_ack_before_deadline, |
| + bool should_begin_impl_frame_in_high_latency) { |
| + // Set up client with specified estimates (draw duration is set to 1). |
| + SchedulerClientWithFixedEstimates* client = |
| + new SchedulerClientWithFixedEstimates( |
| + base::TimeDelta::FromMilliseconds(0), |
| + base::TimeDelta::FromMilliseconds( |
| + begin_main_frame_to_commit_estimate_in_ms), |
| + base::TimeDelta::FromMilliseconds(commit_to_activate_estimate_in_ms)); |
| + |
| + scheduler_settings_.use_external_begin_frame_source = true; |
| + SetUpScheduler(make_scoped_ptr(client).Pass(), true); |
| + EXPECT_FALSE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + |
| + // To get into a high latency state, this test disables automatic swap acks. |
| + scheduler_->SetMaxSwapsPending(1); |
| + client_->SetAutomaticSwapAck(false); |
| + |
| + // Draw and swap for first BeginFrame |
| + client->Reset(); |
| + scheduler_->SetNeedsRedraw(); |
| + EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| + EXPECT_FALSE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + EXPECT_SCOPED(AdvanceFrame()); |
| + EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| + EXPECT_FALSE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + task_runner().RunPendingTasks(); // Run posted deadline. |
| + EXPECT_TRUE(client->HasAction("ScheduledActionDrawAndSwapIfPossible")); |
| + |
| + // Not calling scheduler_->DidSwapBuffersComplete() until after next frame |
| + // puts impl thread in high latency mode. |
| + client->Reset(); |
| + scheduler_->SetNeedsRedraw(); |
| + EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| + EXPECT_FALSE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + EXPECT_SCOPED(AdvanceFrame()); |
| + EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| + EXPECT_FALSE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + if (swap_ack_before_deadline) { |
| + scheduler_->DidSwapBuffersComplete(); |
| + EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| + EXPECT_TRUE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + } |
| + task_runner().RunPendingTasks(); // Run posted deadline. |
| + EXPECT_TRUE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + |
| + // Now that we are in a high latency mode, test if we recover or not. |
| + client->Reset(); |
| + scheduler_->SetNeedsRedraw(); |
| + EXPECT_FALSE(scheduler_->MainThreadIsInHighLatencyMode()); |
| + EXPECT_TRUE(scheduler_->ImplThreadIsLikelyInHighLatencyMode()); |
| + SendNextBeginFrame(); |
| + EXPECT_EQ(should_begin_impl_frame_in_high_latency, |
| + client->HasAction("WillBeginImplFrame")); |
| +} |
| + |
| +TEST_F(SchedulerTest, SkipImplFrameIfHighLatencyAndCanDrawBeforeDeadline) { |
| + // Set up client so that estimates indicate that we can commit and activate |
| + // before the deadline (~8ms by default). |
| + EXPECT_SCOPED(ImplFrameInHighLatencyMode(1, 1, true, false)); |
| +} |
| + |
| +TEST_F(SchedulerTest, NotSkipImplFrameIfHighLatencyAndCanCommitTooLong) { |
| + // Set up client so that estimates indicate that the commit cannot finish |
| + // before the deadline (~8ms by default). |
| + EXPECT_SCOPED(ImplFrameInHighLatencyMode(10, 1, true, true)); |
| +} |
| + |
| +TEST_F(SchedulerTest, NotSkipImplFrameIfHighLatencyAndCanActivateTooLong) { |
| + // Set up client so that estimates indicate that the activate cannot finish |
| + // before the deadline (~8ms by default). |
| + EXPECT_SCOPED(ImplFrameInHighLatencyMode(1, 10, false, true)); |
| +} |
| + |
| TEST_F(SchedulerTest, PollForCommitCompletion) { |
| // Since we are simulating a long commit, set up a client with draw duration |
| // estimates that prevent skipping main frames to get to low latency mode. |
| @@ -1404,9 +1493,9 @@ TEST_F(SchedulerTest, PollForCommitCompletion) { |
| // Draw and swap the frame, but don't ack the swap to simulate the Browser |
| // blocking on the renderer. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| scheduler_->DidSwapBuffers(); |
| // Spin the event loop a few times and make sure we get more |
| @@ -1456,7 +1545,7 @@ TEST_F(SchedulerTest, BeginRetroFrame) { |
| fake_external_begin_frame_source()->TestOnBeginFrame(args); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1469,7 +1558,7 @@ TEST_F(SchedulerTest, BeginRetroFrame) { |
| // If we don't swap on the deadline, we wait for the next BeginImplFrame. |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1484,14 +1573,14 @@ TEST_F(SchedulerTest, BeginRetroFrame) { |
| task_runner().RunPendingTasks(); // Run posted BeginRetroFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| // BeginImplFrame deadline should draw. |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 1); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1499,7 +1588,7 @@ TEST_F(SchedulerTest, BeginRetroFrame) { |
| // to avoid excessive toggles. |
| task_runner().RunPendingTasks(); // Run posted BeginRetroFrame. |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -1527,14 +1616,14 @@ TEST_F(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| // Queue BeginFrame while we are still handling the previous BeginFrame. |
| SendNextBeginFrame(); |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1550,7 +1639,7 @@ TEST_F(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1562,7 +1651,7 @@ TEST_F(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(false)); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -1571,19 +1660,19 @@ TEST_F(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
| now_src()->AdvanceNow(BeginFrameArgs::DefaultInterval() - |
| base::TimeDelta::FromMicroseconds(1)); |
| task_runner().RunUntilTime(now_src()->Now()); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Take us out of a swap throttled state. |
| scheduler_->DidSwapBuffersComplete(); |
| EXPECT_SINGLE_ACTION("ScheduledActionSendBeginMainFrame", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| // Verify that the deadline was rescheduled. |
| task_runner().RunUntilTime(now_src()->Now()); |
| EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| } |
| @@ -1600,7 +1689,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooEarly) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -1610,7 +1699,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooEarly) { |
| // This BeginFrame is queued up as a retro frame. |
| EXPECT_NO_ACTION(client_); |
| // The previous deadline is still pending. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // This commit should schedule the (previous) deadline to trigger immediately. |
| @@ -1619,7 +1708,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooEarly) { |
| client_->Reset(); |
| // The deadline task should trigger causing a draw. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| @@ -1639,12 +1728,12 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooEarly) { |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(false)); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // This is an immediate deadline case. |
| client_->Reset(); |
| task_runner().RunPendingTasks(); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); |
| } |
| @@ -1660,7 +1749,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooLate) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -1670,7 +1759,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooLate) { |
| // This BeginFrame is queued up as a retro frame. |
| EXPECT_NO_ACTION(client_); |
| // The previous deadline is still pending. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // This commit should schedule the (previous) deadline to trigger immediately. |
| @@ -1679,7 +1768,7 @@ TEST_F(SchedulerTest, RetroFrameDoesNotExpireTooLate) { |
| client_->Reset(); |
| // The deadline task should trigger causing a draw. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| @@ -1717,13 +1806,13 @@ void SchedulerTest::BeginFramesNotFromClient( |
| task_runner().RunPendingTasks(); // Run posted BeginFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // If we don't swap on the deadline, we wait for the next BeginFrame. |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // NotifyReadyToCommit should trigger the commit. |
| @@ -1736,20 +1825,20 @@ void SchedulerTest::BeginFramesNotFromClient( |
| task_runner().RunPendingTasks(); // Run posted BeginFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // BeginImplFrame deadline should draw. |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 1); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // The following BeginImplFrame deadline should SetNeedsBeginFrame(false) |
| // to avoid excessive toggles. |
| task_runner().RunPendingTasks(); // Run posted BeginFrame. |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Make sure SetNeedsBeginFrame isn't called on the client |
| @@ -1804,7 +1893,7 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled( |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // NotifyReadyToCommit should trigger the pending commit and draw. |
| @@ -1818,7 +1907,7 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled( |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // While swap throttled, BeginFrames should trigger BeginImplFrames, |
| @@ -1828,7 +1917,7 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled( |
| EXPECT_SCOPED(AdvanceFrame()); // Run posted BeginFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Let time pass sufficiently beyond the regular deadline but not beyond the |
| @@ -1836,12 +1925,12 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled( |
| now_src()->AdvanceNow(BeginFrameArgs::DefaultInterval() - |
| base::TimeDelta::FromMicroseconds(1)); |
| task_runner().RunUntilTime(now_src()->Now()); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // Take us out of a swap throttled state. |
| scheduler_->DidSwapBuffersComplete(); |
| EXPECT_SINGLE_ACTION("ScheduledActionSendBeginMainFrame", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Verify that the deadline was rescheduled. |
| @@ -1851,7 +1940,7 @@ void SchedulerTest::BeginFramesNotFromClient_SwapThrottled( |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| base::TimeTicks after_deadline = now_src()->Now(); |
| EXPECT_EQ(after_deadline, before_deadline); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| } |
| @@ -1906,7 +1995,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceAfterBeginFrameStarted) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->DidLoseOutputSurface(); |
| @@ -1939,7 +2028,7 @@ void SchedulerTest::DidLoseOutputSurfaceAfterBeginFrameStartedWithHighLatency( |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->DidLoseOutputSurface(); |
| @@ -1948,20 +2037,20 @@ void SchedulerTest::DidLoseOutputSurfaceAfterBeginFrameStartedWithHighLatency( |
| client_->Reset(); |
| // Run posted deadline. |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| // OnBeginImplFrameDeadline didn't schedule output surface creation because |
| // main frame is not yet completed. |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 0, 2); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| // BeginImplFrame is not started. |
| client_->Reset(); |
| task_runner().RunUntilTime(now_src()->Now() + |
| base::TimeDelta::FromMilliseconds(10)); |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -2002,7 +2091,7 @@ void SchedulerTest::DidLoseOutputSurfaceAfterReadyToCommit( |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -2046,7 +2135,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceAfterSetNeedsPrepareTiles) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->DidLoseOutputSurface(); |
| @@ -2078,7 +2167,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceAfterBeginRetroFramePosted) { |
| fake_external_begin_frame_source()->TestOnBeginFrame(args); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| // Queue BeginFrames while we are still handling the previous BeginFrame. |
| @@ -2091,7 +2180,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceAfterBeginRetroFramePosted) { |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| // NotifyReadyToCommit should trigger the commit. |
| @@ -2132,7 +2221,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceDuringBeginRetroFrameRunning) { |
| fake_external_begin_frame_source()->TestOnBeginFrame(args); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| // Queue BeginFrames while we are still handling the previous BeginFrame. |
| @@ -2145,7 +2234,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceDuringBeginRetroFrameRunning) { |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_NO_ACTION(client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| // NotifyReadyToCommit should trigger the commit. |
| @@ -2160,7 +2249,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceDuringBeginRetroFrameRunning) { |
| task_runner().RunPendingTasks(); // Run posted BeginRetroFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -2175,7 +2264,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceDuringBeginRetroFrameRunning) { |
| EXPECT_ACTION("ScheduledActionBeginOutputSurfaceCreation", client_, 0, 3); |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_FALSE(client_->needs_begin_frames()); |
| // No more BeginRetroFrame because BeginRetroFrame queue is cleared. |
| @@ -2196,7 +2285,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceWithSyntheticBeginFrameSource) { |
| AdvanceFrame(); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(scheduler_->frame_source().NeedsBeginFrames()); |
| // NotifyReadyToCommit should trigger the commit. |
| @@ -2231,7 +2320,7 @@ TEST_F(SchedulerTest, DidLoseOutputSurfaceWhenIdle) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -2264,13 +2353,13 @@ TEST_F(SchedulerTest, ScheduledActionActivateAfterBecomingInvisible) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| scheduler_->NotifyReadyToCommit(); |
| EXPECT_SINGLE_ACTION("ScheduledActionCommit", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->SetVisible(false); |
| @@ -2295,7 +2384,7 @@ TEST_F(SchedulerTest, SwitchFrameSourceToUnthrottled) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -2310,13 +2399,13 @@ TEST_F(SchedulerTest, SwitchFrameSourceToUnthrottled) { |
| task_runner().RunPendingTasks(); // Run posted BeginFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // If we don't swap on the deadline, we wait for the next BeginFrame. |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 1); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| } |
| @@ -2339,7 +2428,7 @@ TEST_F(SchedulerTest, SwitchFrameSourceToUnthrottledBeforeDeadline) { |
| scheduler_->SetThrottleFrameProduction(false); |
| client_->Reset(); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| @@ -2353,7 +2442,7 @@ TEST_F(SchedulerTest, SwitchFrameSourceToUnthrottledBeforeDeadline) { |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| } |
| @@ -2371,12 +2460,12 @@ TEST_F(SchedulerTest, SwitchFrameSourceToThrottled) { |
| task_runner().RunPendingTasks(); // Run posted BeginFrame. |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 0, 1); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Switch to a throttled frame source. |
| @@ -2392,7 +2481,7 @@ TEST_F(SchedulerTest, SwitchFrameSourceToThrottled) { |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 2); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| EXPECT_TRUE(client_->needs_begin_frames()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -2425,7 +2514,7 @@ TEST_F(SchedulerTest, SendBeginMainFrameNotExpectedSoon) { |
| // and send a SendBeginMainFrameNotExpectedSoon. |
| EXPECT_SCOPED(AdvanceFrame()); |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| - EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| task_runner().RunPendingTasks(); // Run posted deadline. |
| @@ -2449,7 +2538,7 @@ TEST_F(SchedulerTest, SynchronousCompositorAnimation) { |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); |
| EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Continue with animation. |
| @@ -2460,7 +2549,7 @@ TEST_F(SchedulerTest, SynchronousCompositorAnimation) { |
| scheduler_->SetNeedsRedraw(); |
| scheduler_->OnDrawForOutputSurface(); |
| EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Next vsync. |
| @@ -2468,14 +2557,14 @@ TEST_F(SchedulerTest, SynchronousCompositorAnimation) { |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); |
| EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Android onDraw. |
| scheduler_->SetNeedsRedraw(); |
| scheduler_->OnDrawForOutputSurface(); |
| EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Idle on next vsync. |
| @@ -2483,7 +2572,7 @@ TEST_F(SchedulerTest, SynchronousCompositorAnimation) { |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| } |
| @@ -2498,7 +2587,7 @@ TEST_F(SchedulerTest, SynchronousCompositorOnDrawDuringIdle) { |
| EXPECT_ACTION("SetNeedsBeginFrames(true)", client_, 0, 3); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); |
| EXPECT_ACTION("ScheduledActionDrawAndSwapIfPossible", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Idle on next vsync. |
| @@ -2506,7 +2595,7 @@ TEST_F(SchedulerTest, SynchronousCompositorOnDrawDuringIdle) { |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| } |
| @@ -2524,7 +2613,7 @@ TEST_F(SchedulerTest, SynchronousCompositorCommit) { |
| AdvanceFrame(); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -2533,7 +2622,7 @@ TEST_F(SchedulerTest, SynchronousCompositorCommit) { |
| // Next vsync. |
| AdvanceFrame(); |
| EXPECT_SINGLE_ACTION("WillBeginImplFrame", client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyReadyToCommit(); |
| @@ -2549,14 +2638,14 @@ TEST_F(SchedulerTest, SynchronousCompositorCommit) { |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 3); |
| EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Android onDraw. |
| scheduler_->SetNeedsRedraw(); |
| scheduler_->OnDrawForOutputSurface(); |
| EXPECT_SINGLE_ACTION("ScheduledActionDrawAndSwapIfPossible", client_); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| // Idle on next vsync. |
| @@ -2564,7 +2653,7 @@ TEST_F(SchedulerTest, SynchronousCompositorCommit) { |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 3); |
| EXPECT_ACTION("SetNeedsBeginFrames(false)", client_, 1, 3); |
| EXPECT_ACTION("SendBeginMainFrameNotExpectedSoon", client_, 2, 3); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| } |
| @@ -2582,7 +2671,7 @@ TEST_F(SchedulerTest, SynchronousCompositorDoubleCommitWithoutDraw) { |
| AdvanceFrame(); |
| EXPECT_ACTION("WillBeginImplFrame", client_, 0, 2); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 1, 2); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |
| @@ -2604,7 +2693,7 @@ TEST_F(SchedulerTest, SynchronousCompositorDoubleCommitWithoutDraw) { |
| EXPECT_ACTION("ScheduledActionAnimate", client_, 1, 4); |
| EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client_, 2, 4); |
| EXPECT_ACTION("ScheduledActionInvalidateOutputSurface", client_, 3, 4); |
| - EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
| + EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePendingForTest()); |
| client_->Reset(); |
| scheduler_->NotifyBeginMainFrameStarted(); |