Chromium Code Reviews| Index: cc/scheduler/scheduler_unittest.cc |
| diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
| index c03c79b05b8f0c7ce1f4b708036dfe5371aa8ad4..ba4251a893da82f3ce0f2b56917c633b56c2b34f 100644 |
| --- a/cc/scheduler/scheduler_unittest.cc |
| +++ b/cc/scheduler/scheduler_unittest.cc |
| @@ -49,7 +49,6 @@ class FakeSchedulerClient : public SchedulerClient { |
| public: |
| FakeSchedulerClient() |
| : automatic_swap_ack_(true), |
| - begin_frame_is_sent_to_children_(false), |
| scheduler_(nullptr) { |
| Reset(); |
| } |
| @@ -61,7 +60,7 @@ class FakeSchedulerClient : public SchedulerClient { |
| swap_will_happen_if_draw_happens_ = true; |
| num_draws_ = 0; |
| log_anticipated_draw_time_change_ = false; |
| - begin_frame_is_sent_to_children_ = false; |
| + begin_frame_args_sent_to_children_ = BeginFrameArgs(); |
| } |
| void set_scheduler(TestScheduler* scheduler) { scheduler_ = scheduler; } |
| @@ -160,7 +159,7 @@ class FakeSchedulerClient : public SchedulerClient { |
| void DidBeginImplFrameDeadline() override {} |
| void SendBeginFramesToChildren(const BeginFrameArgs& args) override { |
| - begin_frame_is_sent_to_children_ = true; |
| + begin_frame_args_sent_to_children_ = args; |
| } |
| void SendBeginMainFrameNotExpectedSoon() override { |
| @@ -174,7 +173,11 @@ class FakeSchedulerClient : public SchedulerClient { |
| } |
| bool begin_frame_is_sent_to_children() const { |
| - return begin_frame_is_sent_to_children_; |
| + return begin_frame_args_sent_to_children_.IsValid(); |
| + } |
| + |
| + const BeginFrameArgs& begin_frame_args_sent_to_children() const { |
| + return begin_frame_args_sent_to_children_; |
| } |
| void PushAction(const char* description) { |
| @@ -192,7 +195,7 @@ class FakeSchedulerClient : public SchedulerClient { |
| bool automatic_swap_ack_; |
| int num_draws_; |
| bool log_anticipated_draw_time_change_; |
| - bool begin_frame_is_sent_to_children_; |
| + BeginFrameArgs begin_frame_args_sent_to_children_; |
| base::TimeTicks posted_begin_impl_frame_deadline_; |
| std::vector<const char*> actions_; |
| std::vector<scoped_refptr<base::trace_event::ConvertableToTraceFormat>> |
| @@ -454,6 +457,26 @@ TEST_F(SchedulerTest, SendBeginFramesToChildrenWithoutCommit) { |
| EXPECT_TRUE(client_->begin_frame_is_sent_to_children()); |
| } |
| +TEST_F(SchedulerTest, SendBeginFramesToChildrenDeadlineNotAdjusted) { |
| + scheduler_settings_.use_external_begin_frame_source = true; |
| + SetUpScheduler(true); |
| + |
| + EXPECT_FALSE(client_->needs_begin_frames()); |
| + scheduler_->SetChildrenNeedBeginFrames(true); |
| + EXPECT_SINGLE_ACTION("SetNeedsBeginFrames(true)", client_); |
| + EXPECT_TRUE(client_->needs_begin_frames()); |
| + |
| + client_->Reset(); |
| + |
| + BeginFrameArgs frame_args = |
| + CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, now_src()); |
| + fake_external_begin_frame_source()->TestOnBeginFrame(frame_args); |
| + |
| + EXPECT_TRUE(client_->begin_frame_is_sent_to_children()); |
| + EXPECT_EQ(client_->begin_frame_args_sent_to_children().deadline, |
|
sunnyps
2015/05/05 01:00:42
I don't think this is test works. This would hold
brianderson
2015/05/05 01:53:29
Good catch. It didn't fail without this patch. I c
|
| + frame_args.deadline); |
| +} |
| + |
| TEST_F(SchedulerTest, VideoNeedsBeginFrames) { |
| scheduler_settings_.use_external_begin_frame_source = true; |
| SetUpScheduler(true); |