Index: cc/scheduler/scheduler_unittest.cc |
diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
index 3fc5c062dac2c871096d08609064883b14892e76..995c47d94612a4d3ce7a29cb5b0ca7ba5212b317 100644 |
--- a/cc/scheduler/scheduler_unittest.cc |
+++ b/cc/scheduler/scheduler_unittest.cc |
@@ -3003,5 +3003,38 @@ TEST_F(SchedulerTest, AuthoritativeVSyncInterval) { |
EXPECT_EQ(authoritative_interval, scheduler_->BeginImplFrameInterval()); |
} |
+TEST_F(SchedulerTest, ImplLatencyTakesPriority) { |
+ SetUpScheduler(true); |
+ scheduler_->SetImplLatencyTakesPriority(true); |
+ EXPECT_TRUE(scheduler_->ImplLatencyTakesPriority()); |
+ |
+ scheduler_->SetImplLatencyTakesPriority(false); |
+ EXPECT_FALSE(scheduler_->ImplLatencyTakesPriority()); |
+} |
+ |
+TEST_F(SchedulerTest, BeginFrameArgs_OnCriticalPath) { |
+ scheduler_settings_.use_external_begin_frame_source = true; |
+ SetUpScheduler(true); |
+ |
+ scheduler_->SetImplLatencyTakesPriority(false); |
+ scheduler_->SetChildrenNeedBeginFrames(true); |
+ |
+ EXPECT_SCOPED(AdvanceFrame()); |
+ EXPECT_TRUE(client_->begin_frame_is_sent_to_children()); |
+ EXPECT_TRUE(client_->begin_frame_args_sent_to_children().on_critical_path); |
+} |
+ |
+TEST_F(SchedulerTest, BeginFrameArgs_NotOnCriticalPath) { |
+ scheduler_settings_.use_external_begin_frame_source = true; |
+ SetUpScheduler(true); |
+ |
+ scheduler_->SetImplLatencyTakesPriority(true); |
+ scheduler_->SetChildrenNeedBeginFrames(true); |
+ |
+ EXPECT_SCOPED(AdvanceFrame()); |
+ EXPECT_TRUE(client_->begin_frame_is_sent_to_children()); |
+ EXPECT_FALSE(client_->begin_frame_args_sent_to_children().on_critical_path); |
+} |
+ |
} // namespace |
} // namespace cc |