Chromium Code Reviews| Index: cc/scheduler/scheduler_unittest.cc |
| diff --git a/cc/scheduler/scheduler_unittest.cc b/cc/scheduler/scheduler_unittest.cc |
| index d515648bdb476bfd0417e739a7e55ec769c517c1..af8bda884320dace3ea17ae178dad5ca61b9e6c3 100644 |
| --- a/cc/scheduler/scheduler_unittest.cc |
| +++ b/cc/scheduler/scheduler_unittest.cc |
| @@ -256,9 +256,20 @@ class SchedulerTest : public testing::Test { |
| protected: |
| TestScheduler* CreateScheduler() { |
| - if (scheduler_settings_.use_external_begin_frame_source) { |
| + BeginFrameSource* frame_source; |
| + if (!scheduler_settings_.throttle_frame_production) { |
| + unthrottled_frame_source_ = TestBackToBackBeginFrameSource::Create( |
| + now_src_.get(), task_runner_.get()); |
| + frame_source = unthrottled_frame_source_.get(); |
| + } else if (scheduler_settings_.use_external_begin_frame_source) { |
|
sunnyps
2016/03/09 00:14:56
use_external_begin_frame_source doesn't need to be
enne (OOO)
2016/03/09 01:17:04
It's a little bit more involved. There's a layer
|
| fake_external_begin_frame_source_.reset( |
| new FakeExternalBeginFrameSource(client_.get())); |
| + frame_source = fake_external_begin_frame_source_.get(); |
| + } else { |
| + synthetic_frame_source_ = TestSyntheticBeginFrameSource::Create( |
| + now_src_.get(), task_runner_.get(), |
| + BeginFrameArgs::DefaultInterval()); |
| + frame_source = synthetic_frame_source_.get(); |
| } |
| scoped_ptr<FakeCompositorTimingHistory> fake_compositor_timing_history = |
| @@ -266,10 +277,10 @@ class SchedulerTest : public testing::Test { |
| scheduler_settings_.using_synchronous_renderer_compositor); |
| fake_compositor_timing_history_ = fake_compositor_timing_history.get(); |
| - scheduler_ = TestScheduler::Create( |
| - now_src_.get(), client_.get(), scheduler_settings_, 0, |
| - task_runner_.get(), fake_external_begin_frame_source_.get(), |
| - std::move(fake_compositor_timing_history)); |
| + scheduler_.reset( |
| + new TestScheduler(now_src_.get(), client_.get(), scheduler_settings_, 0, |
| + task_runner_.get(), frame_source, |
| + std::move(fake_compositor_timing_history))); |
| DCHECK(scheduler_); |
| client_->set_scheduler(scheduler_.get()); |
| @@ -429,6 +440,8 @@ class SchedulerTest : public testing::Test { |
| scoped_ptr<base::SimpleTestTickClock> now_src_; |
| scoped_refptr<OrderedSimpleTaskRunner> task_runner_; |
| scoped_ptr<FakeExternalBeginFrameSource> fake_external_begin_frame_source_; |
| + scoped_ptr<TestSyntheticBeginFrameSource> synthetic_frame_source_; |
| + scoped_ptr<TestBackToBackBeginFrameSource> unthrottled_frame_source_; |
| SchedulerSettings scheduler_settings_; |
| scoped_ptr<FakeSchedulerClient> client_; |
| scoped_ptr<TestScheduler> scheduler_; |
| @@ -3446,7 +3459,9 @@ TEST_F(SchedulerTest, AuthoritativeVSyncInterval) { |
| scheduler_->NotifyReadyToActivate(); |
| task_runner().RunTasksWhile(client_->ImplFrameDeadlinePending(true)); |
| - scheduler_->SetAuthoritativeVSyncInterval(authoritative_interval); |
| + // Test changing the interval on the frame source external to the scheduler. |
| + synthetic_frame_source_->OnUpdateVSyncParameters(now_src_->NowTicks(), |
| + authoritative_interval); |
| EXPECT_SCOPED(AdvanceFrame()); |