| Index: cc/test/scheduler_test_common.cc
|
| diff --git a/cc/test/scheduler_test_common.cc b/cc/test/scheduler_test_common.cc
|
| index 7001b59ddeadd00e0c4563aa4acdb5f4fceed335..8a7fa6adc75b9732c50f0d53c2f58da70241a365 100644
|
| --- a/cc/test/scheduler_test_common.cc
|
| +++ b/cc/test/scheduler_test_common.cc
|
| @@ -34,6 +34,45 @@ std::string TestDelayBasedTimeSource::TypeString() const {
|
| TestDelayBasedTimeSource::~TestDelayBasedTimeSource() {
|
| }
|
|
|
| +bool FakeBeginFrameSource::NeedsBeginFrames() const {
|
| + return needs_begin_frames_;
|
| +}
|
| +void FakeBeginFrameSource::SetNeedsBeginFrames(bool needs_begin_frames) {
|
| + needs_begin_frames_ = needs_begin_frames;
|
| +}
|
| +void FakeBeginFrameSource::DidFinishFrame(size_t remaining_frames) {
|
| + remaining_frames_ = remaining_frames;
|
| +}
|
| +void FakeBeginFrameSource::AsValueInto(base::debug::TracedValue* dict) const {
|
| + dict->SetString("type", "FakeBeginFrameSource");
|
| + BeginFrameSource::AsValueInto(dict);
|
| +}
|
| +
|
| +TestBackToBackBeginFrameSource::TestBackToBackBeginFrameSource(
|
| + scoped_refptr<TestNowSource> now_src,
|
| + base::SingleThreadTaskRunner* task_runner)
|
| + : BackToBackBeginFrameSource(task_runner), now_src_(now_src) {
|
| +}
|
| +
|
| +TestBackToBackBeginFrameSource::~TestBackToBackBeginFrameSource() {
|
| +}
|
| +
|
| +base::TimeTicks TestBackToBackBeginFrameSource::Now() {
|
| + return now_src_->Now();
|
| +}
|
| +
|
| +TestSyntheticBeginFrameSource::TestSyntheticBeginFrameSource(
|
| + scoped_refptr<DelayBasedTimeSource> time_source,
|
| + base::TimeTicks initial_timebase,
|
| + base::TimeDelta initial_interval)
|
| + : SyntheticBeginFrameSource(time_source,
|
| + initial_timebase,
|
| + initial_interval) {
|
| +}
|
| +
|
| +TestSyntheticBeginFrameSource::~TestSyntheticBeginFrameSource() {
|
| +}
|
| +
|
| TestScheduler::TestScheduler(
|
| scoped_refptr<TestNowSource> now_src,
|
| SchedulerClient* client,
|
| @@ -46,13 +85,25 @@ TestScheduler::TestScheduler(
|
| test_task_runner),
|
| now_src_(now_src),
|
| test_task_runner_(test_task_runner.get()) {
|
| - if (!settings_.begin_frame_scheduling_enabled) {
|
| - scoped_refptr<DelayBasedTimeSource> time_source =
|
| - TestDelayBasedTimeSource::Create(
|
| - now_src, VSyncInterval(), test_task_runner_);
|
| - synthetic_begin_frame_source_.reset(
|
| - new SyntheticBeginFrameSource(this, time_source));
|
| +}
|
| +
|
| +BeginFrameSource* TestScheduler::GetPrimaryBeginFrameSource() {
|
| + if (!settings_.throttle_frame_production) {
|
| + primary_frame_source_internal_ =
|
| + TestBackToBackBeginFrameSource::Create(now_src_, task_runner_.get());
|
| + return primary_frame_source_internal_.get();
|
| + } else if (!settings_.begin_frame_scheduling_enabled) {
|
| + primary_frame_source_internal_ = TestSyntheticBeginFrameSource::Create(
|
| + now_src_, test_task_runner_, BeginFrameArgs::DefaultInterval());
|
| + return primary_frame_source_internal_.get();
|
| }
|
| + return Scheduler::GetPrimaryBeginFrameSource();
|
| +}
|
| +
|
| +BeginFrameSource* TestScheduler::GetBackgroundBeginFrameSource() {
|
| + background_frame_source_internal_ = TestSyntheticBeginFrameSource::Create(
|
| + now_src_, test_task_runner_, base::TimeDelta::FromSeconds(1));
|
| + return background_frame_source_internal_.get();
|
| }
|
|
|
| base::TimeTicks TestScheduler::Now() const {
|
|
|