Index: cc/scheduler/scheduler_unittest.cc |
diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
index 921b94af19f0d2e605434276663c7a8aab70d998..39a782144021da709e226984db55cc9076bc4275 100644 |
--- a/cc/scheduler/scheduler_unittest.cc |
+++ b/cc/scheduler/scheduler_unittest.cc |
@@ -34,12 +34,31 @@ namespace { |
class FakeSchedulerClient; |
-void InitializeOutputSurfaceAndFirstCommit(Scheduler* scheduler, |
- FakeSchedulerClient* client); |
+class FakeFrameSource : public BaseFrameSource { |
+ public: |
+ FakeSchedulerClient* fake_client_; |
+ |
+ explicit FakeFrameSource(FakeSchedulerClient* fake_client) |
+ : BaseFrameSource(0), fake_client_(fake_client) {} |
+ |
+ virtual void SetNeedsBeginFrame(bool needs_begin_frame) OVERRIDE; |
+ virtual void SetTimeBaseAndInterval(base::TimeTicks timebase, |
+ base::TimeDelta interval) OVERRIDE {} |
+ virtual inline std::string FrameSourceType() const OVERRIDE { |
+ return "FakeFrameSource"; |
+ } |
+ |
+ void TestBeginFrame(BeginFrameArgs args) { |
+ BaseFrameSource::SendBeginFrame(args); |
+ } |
+}; |
class FakeSchedulerClient : public SchedulerClient { |
public: |
- FakeSchedulerClient() : needs_begin_frame_(false), automatic_swap_ack_(true) { |
+ FakeSchedulerClient() |
+ : needs_begin_frame_(false), |
+ automatic_swap_ack_(true), |
+ frame_source_(this) { |
Reset(); |
} |
@@ -54,7 +73,12 @@ class FakeSchedulerClient : public SchedulerClient { |
Scheduler* CreateScheduler(const SchedulerSettings& settings) { |
task_runner_ = new base::TestSimpleTaskRunner; |
- scheduler_ = Scheduler::Create(this, settings, 0, task_runner_); |
+ |
+ scheduler_ = Scheduler::Create(this, |
+ settings, |
+ 0, |
+ static_cast<FrameSource*>(&frame_source_), |
+ task_runner_); |
return scheduler_.get(); |
} |
@@ -96,11 +120,6 @@ class FakeSchedulerClient : public SchedulerClient { |
} |
// SchedulerClient implementation. |
- virtual void SetNeedsBeginFrame(bool enable) OVERRIDE { |
- actions_.push_back("SetNeedsBeginFrame"); |
- states_.push_back(scheduler_->StateAsValue().release()); |
- needs_begin_frame_ = enable; |
- } |
virtual void WillBeginImplFrame(const BeginFrameArgs& args) OVERRIDE { |
actions_.push_back("WillBeginImplFrame"); |
states_.push_back(scheduler_->StateAsValue().release()); |
@@ -187,6 +206,8 @@ class FakeSchedulerClient : public SchedulerClient { |
virtual void DidBeginImplFrameDeadline() OVERRIDE {} |
+ FakeFrameSource& frame_source() { return frame_source_; } |
+ |
protected: |
bool needs_begin_frame_; |
bool draw_will_happen_; |
@@ -199,8 +220,18 @@ class FakeSchedulerClient : public SchedulerClient { |
ScopedVector<base::Value> states_; |
scoped_ptr<Scheduler> scheduler_; |
scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
+ |
+ friend FakeFrameSource; |
+ FakeFrameSource frame_source_; |
}; |
+void FakeFrameSource::SetNeedsBeginFrame(bool needs_begin_frame) { |
+ fake_client_->actions_.push_back("SetNeedsBeginFrame"); |
+ fake_client_->states_.push_back( |
+ fake_client_->scheduler_->StateAsValue().release()); |
+ fake_client_->needs_begin_frame_ = needs_begin_frame; |
+} |
+ |
void InitializeOutputSurfaceAndFirstCommit(Scheduler* scheduler, |
FakeSchedulerClient* client) { |
bool client_initiates_begin_frame = |
@@ -213,7 +244,7 @@ void InitializeOutputSurfaceAndFirstCommit(Scheduler* scheduler, |
scheduler->NotifyReadyToCommit(); |
// Go through the motions to draw the commit. |
if (client_initiates_begin_frame) |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client->frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
else |
client->task_runner().RunPendingTasks(); // Run posted BeginFrame. |
@@ -225,7 +256,7 @@ void InitializeOutputSurfaceAndFirstCommit(Scheduler* scheduler, |
// We need another BeginImplFrame so Scheduler calls |
// SetNeedsBeginFrame(false). |
if (client_initiates_begin_frame) |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client->frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
else |
client->task_runner().RunPendingTasks(); // Run posted BeginFrame. |
@@ -267,7 +298,7 @@ TEST(SchedulerTest, RequestCommit) { |
EXPECT_SINGLE_ACTION("SetNeedsBeginFrame", client); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -289,7 +320,7 @@ TEST(SchedulerTest, RequestCommit) { |
client.Reset(); |
// BeginImplFrame should prepare the draw. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -305,7 +336,7 @@ TEST(SchedulerTest, RequestCommit) { |
// The following BeginImplFrame deadline should SetNeedsBeginFrame(false) |
// to avoid excessive toggles. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_SINGLE_ACTION("WillBeginImplFrame", client); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
client.Reset(); |
@@ -333,7 +364,7 @@ TEST(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
EXPECT_SINGLE_ACTION("SetNeedsBeginFrame", client); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -363,7 +394,7 @@ TEST(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
client.Reset(); |
// Since another commit is needed, the next BeginImplFrame should initiate |
// the second commit. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -385,7 +416,7 @@ TEST(SchedulerTest, RequestCommitAfterBeginMainFrameSent) { |
// On the next BeginImplFrame, verify we go back to a quiescent state and |
// no longer request BeginImplFrames. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_FALSE(client.needs_begin_frame()); |
client.Reset(); |
@@ -434,13 +465,13 @@ TEST(SchedulerTest, RequestRedrawInsideDraw) { |
EXPECT_TRUE(client.needs_begin_frame()); |
EXPECT_EQ(0, client.num_draws()); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(1, client.num_draws()); |
EXPECT_TRUE(scheduler->RedrawPending()); |
EXPECT_TRUE(client.needs_begin_frame()); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
EXPECT_FALSE(scheduler->RedrawPending()); |
@@ -448,7 +479,7 @@ TEST(SchedulerTest, RequestRedrawInsideDraw) { |
// We stop requesting BeginImplFrames after a BeginImplFrame where we don't |
// swap. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
EXPECT_FALSE(scheduler->RedrawPending()); |
@@ -474,7 +505,7 @@ TEST(SchedulerTest, RequestRedrawInsideFailedDraw) { |
EXPECT_EQ(0, client.num_draws()); |
// Fail the draw. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(1, client.num_draws()); |
@@ -485,7 +516,7 @@ TEST(SchedulerTest, RequestRedrawInsideFailedDraw) { |
EXPECT_TRUE(client.needs_begin_frame()); |
// Fail the draw again. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
EXPECT_TRUE(scheduler->CommitPending()); |
@@ -494,7 +525,7 @@ TEST(SchedulerTest, RequestRedrawInsideFailedDraw) { |
// Draw successfully. |
client.SetDrawWillHappen(true); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(3, client.num_draws()); |
EXPECT_TRUE(scheduler->CommitPending()); |
@@ -555,7 +586,7 @@ TEST(SchedulerTest, RequestCommitInsideDraw) { |
EXPECT_TRUE(client.needs_begin_frame()); |
client.SetNeedsCommitOnNextDraw(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.SetNeedsCommitOnNextDraw(); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(1, client.num_draws()); |
@@ -564,7 +595,7 @@ TEST(SchedulerTest, RequestCommitInsideDraw) { |
scheduler->NotifyBeginMainFrameStarted(); |
scheduler->NotifyReadyToCommit(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
@@ -574,7 +605,7 @@ TEST(SchedulerTest, RequestCommitInsideDraw) { |
// We stop requesting BeginImplFrames after a BeginImplFrame where we don't |
// swap. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
EXPECT_FALSE(scheduler->RedrawPending()); |
@@ -601,7 +632,7 @@ TEST(SchedulerTest, RequestCommitInsideFailedDraw) { |
EXPECT_EQ(0, client.num_draws()); |
// Fail the draw. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(1, client.num_draws()); |
@@ -612,7 +643,7 @@ TEST(SchedulerTest, RequestCommitInsideFailedDraw) { |
EXPECT_TRUE(client.needs_begin_frame()); |
// Fail the draw again. |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
@@ -622,7 +653,7 @@ TEST(SchedulerTest, RequestCommitInsideFailedDraw) { |
// Draw successfully. |
client.SetDrawWillHappen(true); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(3, client.num_draws()); |
EXPECT_TRUE(scheduler->CommitPending()); |
@@ -647,7 +678,7 @@ TEST(SchedulerTest, NoSwapWhenDrawFails) { |
// Draw successfully, this starts a new frame. |
client.SetNeedsCommitOnNextDraw(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(1, client.num_draws()); |
@@ -658,7 +689,7 @@ TEST(SchedulerTest, NoSwapWhenDrawFails) { |
// Fail to draw, this should not start a frame. |
client.SetDrawWillHappen(false); |
client.SetNeedsCommitOnNextDraw(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(2, client.num_draws()); |
} |
@@ -744,7 +775,7 @@ TEST(SchedulerTest, ManageTiles) { |
// We have no immediate actions to perform, so the BeginImplFrame should post |
// the deadline task. |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -772,7 +803,7 @@ TEST(SchedulerTest, ManageTiles) { |
// We have no immediate actions to perform, so the BeginImplFrame should post |
// the deadline task. |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -793,7 +824,7 @@ TEST(SchedulerTest, ManageTiles) { |
// We need a BeginImplFrame where we don't swap to go idle. |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_SINGLE_ACTION("WillBeginImplFrame", client); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
client.Reset(); |
@@ -814,7 +845,7 @@ TEST(SchedulerTest, ManageTiles) { |
// BeginImplFrame. There will be no draw, only ManageTiles. |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_SINGLE_ACTION("WillBeginImplFrame", client); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
client.Reset(); |
@@ -840,7 +871,7 @@ TEST(SchedulerTest, ManageTilesOncePerFrame) { |
scheduler->SetNeedsManageTiles(); |
scheduler->SetNeedsRedraw(); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -862,7 +893,7 @@ TEST(SchedulerTest, ManageTilesOncePerFrame) { |
scheduler->SetNeedsManageTiles(); |
scheduler->SetNeedsRedraw(); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -885,7 +916,7 @@ TEST(SchedulerTest, ManageTilesOncePerFrame) { |
scheduler->SetNeedsManageTiles(); |
scheduler->SetNeedsRedraw(); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -908,7 +939,7 @@ TEST(SchedulerTest, ManageTilesOncePerFrame) { |
scheduler->SetNeedsManageTiles(); |
scheduler->SetNeedsRedraw(); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -927,7 +958,7 @@ TEST(SchedulerTest, ManageTilesOncePerFrame) { |
scheduler->SetNeedsManageTiles(); |
scheduler->SetNeedsRedraw(); |
client.Reset(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionAnimate", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -956,7 +987,7 @@ TEST(SchedulerTest, TriggerBeginFrameDeadlineEarly) { |
client.Reset(); |
scheduler->SetNeedsRedraw(); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
// The deadline should be zero since there is no work other than drawing |
// pending. |
@@ -1012,7 +1043,7 @@ void MainFrameInHighLatencyMode(int64 begin_main_frame_to_commit_estimate_in_ms, |
client.Reset(); |
scheduler->SetNeedsCommit(); |
EXPECT_FALSE(scheduler->MainThreadIsInHighLatencyMode()); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_FALSE(scheduler->MainThreadIsInHighLatencyMode()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode()); |
@@ -1024,7 +1055,7 @@ void MainFrameInHighLatencyMode(int64 begin_main_frame_to_commit_estimate_in_ms, |
client.Reset(); |
scheduler->SetNeedsCommit(); |
EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode()); |
- scheduler->BeginFrame(BeginFrameArgs::CreateForTesting()); |
+ client.frame_source().TestBeginFrame(BeginFrameArgs::CreateForTesting()); |
EXPECT_TRUE(scheduler->MainThreadIsInHighLatencyMode()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
EXPECT_EQ(scheduler->MainThreadIsInHighLatencyMode(), |
@@ -1083,7 +1114,7 @@ TEST(SchedulerTest, PollForCommitCompletion) { |
BeginFrameArgs frame_args = BeginFrameArgs::CreateForTesting(); |
frame_args.interval = base::TimeDelta::FromMilliseconds(1000); |
- scheduler->BeginFrame(frame_args); |
+ client.frame_source().TestBeginFrame(frame_args); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
@@ -1096,7 +1127,7 @@ TEST(SchedulerTest, PollForCommitCompletion) { |
// the NotifyReadyToCommit for now. |
EXPECT_FALSE(scheduler->CommitPending()); |
scheduler->SetNeedsCommit(); |
- scheduler->BeginFrame(frame_args); |
+ client.frame_source().TestBeginFrame(frame_args); |
EXPECT_TRUE(scheduler->CommitPending()); |
// Draw and swap the frame, but don't ack the swap to simulate the Browser |
@@ -1156,7 +1187,7 @@ TEST(SchedulerTest, BeginRetroFrame) { |
// This is the first BeginFrame, which will be handled immediately. |
BeginFrameArgs args = BeginFrameArgs::CreateForTesting(); |
args.deadline += base::TimeDelta::FromHours(1); |
- scheduler->BeginFrame(args); |
+ client.frame_source().TestBeginFrame(args); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -1165,9 +1196,9 @@ TEST(SchedulerTest, BeginRetroFrame) { |
// Queue BeginFrames while we are still handling the previous BeginFrame. |
args.frame_time += base::TimeDelta::FromSeconds(1); |
- scheduler->BeginFrame(args); |
+ client.frame_source().TestBeginFrame(args); |
args.frame_time += base::TimeDelta::FromSeconds(1); |
- scheduler->BeginFrame(args); |
+ client.frame_source().TestBeginFrame(args); |
// If we don't swap on the deadline, we wait for the next BeginImplFrame. |
client.task_runner().RunPendingTasks(); // Run posted deadline. |
@@ -1235,7 +1266,7 @@ TEST(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
// This is the first BeginFrame, which will be handled immediately. |
BeginFrameArgs args = BeginFrameArgs::CreateForTesting(); |
args.deadline += base::TimeDelta::FromHours(1); |
- scheduler->BeginFrame(args); |
+ client.frame_source().TestBeginFrame(args); |
EXPECT_ACTION("WillBeginImplFrame", client, 0, 2); |
EXPECT_ACTION("ScheduledActionSendBeginMainFrame", client, 1, 2); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
@@ -1245,7 +1276,7 @@ TEST(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
// Queue BeginFrame while we are still handling the previous BeginFrame. |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
args.frame_time += base::TimeDelta::FromSeconds(1); |
- scheduler->BeginFrame(args); |
+ client.frame_source().TestBeginFrame(args); |
EXPECT_EQ(0, client.num_actions_()); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
client.Reset(); |
@@ -1276,7 +1307,7 @@ TEST(SchedulerTest, BeginRetroFrame_SwapThrottled) { |
// Queue BeginFrame while we are still handling the previous BeginFrame. |
args.frame_time += base::TimeDelta::FromSeconds(1); |
- scheduler->BeginFrame(args); |
+ client.frame_source().TestBeginFrame(args); |
EXPECT_EQ(0, client.num_actions_()); |
EXPECT_TRUE(scheduler->BeginImplFrameDeadlinePending()); |
EXPECT_TRUE(client.needs_begin_frame()); |