Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(643)

Unified Diff: cc/scheduler/scheduler_unittest.cc

Issue 267783004: Refactoring the way begin frame sources inside scheduler work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Scheduler now uses frame sources, working on scheduler_unittests. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698