Index: cc/scheduler/scheduler_unittest.cc |
diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
index beeb767badaadc238728e9d2f94146be6c352ff3..29505e5a9b76197de307feae951fb44f0565c5c0 100644 |
--- a/cc/scheduler/scheduler_unittest.cc |
+++ b/cc/scheduler/scheduler_unittest.cc |
@@ -127,7 +127,10 @@ class FakeSchedulerClient : public SchedulerClient { |
PushAction("ScheduledActionDrawAndSwapForced"); |
return DRAW_SUCCESS; |
} |
- void ScheduledActionCommit() override { PushAction("ScheduledActionCommit"); } |
+ void ScheduledActionCommit() override { |
+ PushAction("ScheduledActionCommit"); |
+ scheduler_->DidCommit(); |
+ } |
void ScheduledActionActivateSyncTree() override { |
PushAction("ScheduledActionActivateSyncTree"); |
} |
@@ -136,6 +139,8 @@ class FakeSchedulerClient : public SchedulerClient { |
} |
void ScheduledActionPrepareTiles() override { |
PushAction("ScheduledActionPrepareTiles"); |
+ scheduler_->WillPrepareTiles(); |
+ scheduler_->DidPrepareTiles(); |
} |
void ScheduledActionInvalidateOutputSurface() override { |
actions_.push_back("ScheduledActionInvalidateOutputSurface"); |
@@ -450,12 +455,13 @@ TEST_F(SchedulerTest, SendBeginFramesToChildrenDeadlineNotAdjusted) { |
// Set up client with specified estimates. |
scheduler_settings_.use_external_begin_frame_source = true; |
SetUpScheduler(true); |
- fake_compositor_timing_history_->SetDrawDurationEstimate( |
- base::TimeDelta::FromMilliseconds(1)); |
+ |
fake_compositor_timing_history_->SetBeginMainFrameToCommitDurationEstimate( |
base::TimeDelta::FromMilliseconds(2)); |
- fake_compositor_timing_history_->SetCommitToActivateDurationEstimate( |
+ fake_compositor_timing_history_->SetCommitToReadyToActivateDurationEstimate( |
base::TimeDelta::FromMilliseconds(4)); |
+ fake_compositor_timing_history_->SetDrawDurationEstimate( |
+ base::TimeDelta::FromMilliseconds(1)); |
EXPECT_FALSE(client_->needs_begin_frames()); |
scheduler_->SetChildrenNeedBeginFrames(true); |
@@ -710,8 +716,6 @@ class SchedulerClientThatsetNeedsDrawInsideDraw : public FakeSchedulerClient { |
SchedulerClientThatsetNeedsDrawInsideDraw() |
: FakeSchedulerClient(), request_redraws_(false) {} |
- void ScheduledActionSendBeginMainFrame() override {} |
- |
void SetRequestRedrawsInsideDraw(bool enable) { request_redraws_ = enable; } |
DrawResult ScheduledActionDrawAndSwapIfPossible() override { |
@@ -727,8 +731,6 @@ class SchedulerClientThatsetNeedsDrawInsideDraw : public FakeSchedulerClient { |
return DRAW_SUCCESS; |
} |
- void ScheduledActionCommit() override {} |
- |
private: |
bool request_redraws_; |
}; |
@@ -823,7 +825,6 @@ class SchedulerClientThatSetNeedsCommitInsideDraw : public FakeSchedulerClient { |
SchedulerClientThatSetNeedsCommitInsideDraw() |
: set_needs_commit_on_next_draw_(false) {} |
- void ScheduledActionSendBeginMainFrame() override {} |
DrawResult ScheduledActionDrawAndSwapIfPossible() override { |
// Only SetNeedsCommit the first time this is called |
if (set_needs_commit_on_next_draw_) { |
@@ -838,8 +839,6 @@ class SchedulerClientThatSetNeedsCommitInsideDraw : public FakeSchedulerClient { |
return DRAW_SUCCESS; |
} |
- void ScheduledActionCommit() override {} |
- |
void SetNeedsCommitOnNextDraw() { set_needs_commit_on_next_draw_ = true; } |
private: |
@@ -1091,6 +1090,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
EXPECT_TRUE(scheduler_->BeginImplFrameDeadlinePending()); |
EXPECT_TRUE(scheduler_->PrepareTilesPending()); |
+ scheduler_->WillPrepareTiles(); |
scheduler_->DidPrepareTiles(); // An explicit PrepareTiles. |
EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
@@ -1122,10 +1122,10 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
EXPECT_FALSE(scheduler_->RedrawPending()); |
EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
- scheduler_->DidPrepareTiles(); // Corresponds to ScheduledActionPrepareTiles |
// If we get another DidPrepareTiles within the same frame, we should |
// not PrepareTiles on the next frame. |
+ scheduler_->WillPrepareTiles(); |
scheduler_->DidPrepareTiles(); // An explicit PrepareTiles. |
scheduler_->SetNeedsPrepareTiles(); |
scheduler_->SetNeedsRedraw(); |
@@ -1149,6 +1149,7 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
// frame. This verifies we don't alternate calling PrepareTiles once and |
// twice. |
EXPECT_TRUE(scheduler_->PrepareTilesPending()); |
+ scheduler_->WillPrepareTiles(); |
scheduler_->DidPrepareTiles(); // An explicit PrepareTiles. |
EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
scheduler_->SetNeedsPrepareTiles(); |
@@ -1188,7 +1189,6 @@ TEST_F(SchedulerTest, PrepareTilesOncePerFrame) { |
EXPECT_FALSE(scheduler_->RedrawPending()); |
EXPECT_FALSE(scheduler_->PrepareTilesPending()); |
EXPECT_FALSE(scheduler_->BeginImplFrameDeadlinePending()); |
- scheduler_->DidPrepareTiles(); // Corresponds to ScheduledActionPrepareTiles |
} |
TEST_F(SchedulerTest, TriggerBeginFrameDeadlineEarly) { |
@@ -1297,13 +1297,13 @@ void SchedulerTest::MainFrameInHighLatencyMode( |
scheduler_settings_.use_external_begin_frame_source = true; |
SetUpScheduler(true); |
- fake_compositor_timing_history_->SetDrawDurationEstimate( |
- base::TimeDelta::FromMilliseconds(1)); |
fake_compositor_timing_history_->SetBeginMainFrameToCommitDurationEstimate( |
base::TimeDelta::FromMilliseconds( |
begin_main_frame_to_commit_estimate_in_ms)); |
- fake_compositor_timing_history_->SetCommitToActivateDurationEstimate( |
+ fake_compositor_timing_history_->SetCommitToReadyToActivateDurationEstimate( |
base::TimeDelta::FromMilliseconds(commit_to_activate_estimate_in_ms)); |
+ fake_compositor_timing_history_->SetDrawDurationEstimate( |
+ base::TimeDelta::FromMilliseconds(1)); |
scheduler_->SetImplLatencyTakesPriority(impl_latency_takes_priority); |
@@ -1370,12 +1370,12 @@ TEST_F( |
scheduler_settings_.main_frame_while_swap_throttled_enabled = true; |
SetUpScheduler(true); |
- fake_compositor_timing_history_->SetDrawDurationEstimate( |
- base::TimeDelta::FromMilliseconds(1)); |
fake_compositor_timing_history_->SetBeginMainFrameToCommitDurationEstimate( |
base::TimeDelta::FromMilliseconds(32)); |
- fake_compositor_timing_history_->SetCommitToActivateDurationEstimate( |
+ fake_compositor_timing_history_->SetCommitToReadyToActivateDurationEstimate( |
base::TimeDelta::FromMilliseconds(32)); |
+ fake_compositor_timing_history_->SetDrawDurationEstimate( |
+ base::TimeDelta::FromMilliseconds(1)); |
// Disables automatic swap acks so this test can force swap ack throttling |
// to simulate a blocked Browser ui thread. |
@@ -1450,12 +1450,12 @@ TEST_F(SchedulerTest, |
scheduler_settings_.main_frame_before_activation_enabled = true; |
SetUpScheduler(true); |
- fake_compositor_timing_history_->SetDrawDurationEstimate( |
- base::TimeDelta::FromMilliseconds(1)); |
fake_compositor_timing_history_->SetBeginMainFrameToCommitDurationEstimate( |
base::TimeDelta::FromMilliseconds(32)); |
- fake_compositor_timing_history_->SetCommitToActivateDurationEstimate( |
+ fake_compositor_timing_history_->SetCommitToReadyToActivateDurationEstimate( |
base::TimeDelta::FromMilliseconds(32)); |
+ fake_compositor_timing_history_->SetDrawDurationEstimate( |
+ base::TimeDelta::FromMilliseconds(1)); |
// Disables automatic swap acks so this test can force swap ack throttling |
// to simulate a blocked Browser ui thread. |
@@ -1538,12 +1538,12 @@ TEST_F( |
scheduler_settings_.main_frame_before_activation_enabled = true; |
SetUpScheduler(true); |
- fake_compositor_timing_history_->SetDrawDurationEstimate( |
- base::TimeDelta::FromMilliseconds(1)); |
fake_compositor_timing_history_->SetBeginMainFrameToCommitDurationEstimate( |
base::TimeDelta::FromMilliseconds(32)); |
- fake_compositor_timing_history_->SetCommitToActivateDurationEstimate( |
+ fake_compositor_timing_history_->SetCommitToReadyToActivateDurationEstimate( |
base::TimeDelta::FromMilliseconds(32)); |
+ fake_compositor_timing_history_->SetDrawDurationEstimate( |
+ base::TimeDelta::FromMilliseconds(1)); |
// Disables automatic swap acks so this test can force swap ack throttling |
// to simulate a blocked Browser ui thread. |
@@ -2852,11 +2852,6 @@ class SchedulerClientSetNeedsPrepareTilesOnDraw : public FakeSchedulerClient { |
scheduler_->SetNeedsPrepareTiles(); |
return FakeSchedulerClient::ScheduledActionDrawAndSwapIfPossible(); |
} |
- |
- void ScheduledActionPrepareTiles() override { |
- FakeSchedulerClient::ScheduledActionPrepareTiles(); |
- scheduler_->DidPrepareTiles(); |
- } |
}; |
TEST_F(SchedulerTest, SynchronousCompositorPrepareTilesOnDraw) { |