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); |