OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/test/scheduler_test_common.h" | 5 #include "cc/test/scheduler_test_common.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 | 10 |
(...skipping 16 matching lines...) Expand all Loading... |
27 return now_src_->Now(); | 27 return now_src_->Now(); |
28 } | 28 } |
29 | 29 |
30 std::string TestDelayBasedTimeSource::TypeString() const { | 30 std::string TestDelayBasedTimeSource::TypeString() const { |
31 return "TestDelayBasedTimeSource"; | 31 return "TestDelayBasedTimeSource"; |
32 } | 32 } |
33 | 33 |
34 TestDelayBasedTimeSource::~TestDelayBasedTimeSource() { | 34 TestDelayBasedTimeSource::~TestDelayBasedTimeSource() { |
35 } | 35 } |
36 | 36 |
| 37 bool FakeBeginFrameSource::NeedsBeginFrames() const { |
| 38 return needs_begin_frames_; |
| 39 } |
| 40 void FakeBeginFrameSource::SetNeedsBeginFrames(bool needs_begin_frames) { |
| 41 needs_begin_frames_ = needs_begin_frames; |
| 42 } |
| 43 void FakeBeginFrameSource::DidFinishFrame(size_t remaining_frames) { |
| 44 remaining_frames_ = remaining_frames; |
| 45 } |
| 46 void FakeBeginFrameSource::AsValueInto(base::debug::TracedValue* dict) const { |
| 47 dict->SetString("type", "FakeBeginFrameSource"); |
| 48 BeginFrameSource::AsValueInto(dict); |
| 49 } |
| 50 |
| 51 TestBackToBackBeginFrameSource::TestBackToBackBeginFrameSource( |
| 52 scoped_refptr<TestNowSource> now_src, |
| 53 base::SingleThreadTaskRunner* task_runner) |
| 54 : BackToBackBeginFrameSource(task_runner), now_src_(now_src) { |
| 55 } |
| 56 |
| 57 TestBackToBackBeginFrameSource::~TestBackToBackBeginFrameSource() { |
| 58 } |
| 59 |
| 60 base::TimeTicks TestBackToBackBeginFrameSource::Now() { |
| 61 return now_src_->Now(); |
| 62 } |
| 63 |
| 64 TestSyntheticBeginFrameSource::TestSyntheticBeginFrameSource( |
| 65 scoped_refptr<DelayBasedTimeSource> time_source, |
| 66 base::TimeTicks initial_timebase, |
| 67 base::TimeDelta initial_interval) |
| 68 : SyntheticBeginFrameSource(time_source, |
| 69 initial_timebase, |
| 70 initial_interval) { |
| 71 } |
| 72 |
| 73 TestSyntheticBeginFrameSource::~TestSyntheticBeginFrameSource() { |
| 74 } |
| 75 |
37 TestScheduler::TestScheduler( | 76 TestScheduler::TestScheduler( |
38 scoped_refptr<TestNowSource> now_src, | 77 scoped_refptr<TestNowSource> now_src, |
39 SchedulerClient* client, | 78 SchedulerClient* client, |
40 const SchedulerSettings& scheduler_settings, | 79 const SchedulerSettings& scheduler_settings, |
41 int layer_tree_host_id, | 80 int layer_tree_host_id, |
42 const scoped_refptr<OrderedSimpleTaskRunner>& test_task_runner) | 81 const scoped_refptr<OrderedSimpleTaskRunner>& test_task_runner) |
43 : Scheduler(client, | 82 : Scheduler(client, |
44 scheduler_settings, | 83 scheduler_settings, |
45 layer_tree_host_id, | 84 layer_tree_host_id, |
46 test_task_runner), | 85 test_task_runner), |
47 now_src_(now_src), | 86 now_src_(now_src), |
48 test_task_runner_(test_task_runner.get()) { | 87 test_task_runner_(test_task_runner.get()) { |
49 if (!settings_.begin_frame_scheduling_enabled) { | 88 } |
50 scoped_refptr<DelayBasedTimeSource> time_source = | 89 |
51 TestDelayBasedTimeSource::Create( | 90 BeginFrameSource* TestScheduler::GetPrimaryBeginFrameSource() { |
52 now_src, VSyncInterval(), test_task_runner_); | 91 if (!settings_.throttle_frame_production) { |
53 synthetic_begin_frame_source_.reset( | 92 primary_frame_source_internal_ = |
54 new SyntheticBeginFrameSource(this, time_source)); | 93 TestBackToBackBeginFrameSource::Create(now_src_, task_runner_.get()); |
| 94 return primary_frame_source_internal_.get(); |
| 95 } else if (!settings_.begin_frame_scheduling_enabled) { |
| 96 primary_frame_source_internal_ = TestSyntheticBeginFrameSource::Create( |
| 97 now_src_, test_task_runner_, BeginFrameArgs::DefaultInterval()); |
| 98 return primary_frame_source_internal_.get(); |
55 } | 99 } |
| 100 return Scheduler::GetPrimaryBeginFrameSource(); |
| 101 } |
| 102 |
| 103 BeginFrameSource* TestScheduler::GetBackgroundBeginFrameSource() { |
| 104 background_frame_source_internal_ = TestSyntheticBeginFrameSource::Create( |
| 105 now_src_, test_task_runner_, base::TimeDelta::FromSeconds(1)); |
| 106 return background_frame_source_internal_.get(); |
56 } | 107 } |
57 | 108 |
58 base::TimeTicks TestScheduler::Now() const { | 109 base::TimeTicks TestScheduler::Now() const { |
59 return now_src_->Now(); | 110 return now_src_->Now(); |
60 } | 111 } |
61 | 112 |
62 TestScheduler::~TestScheduler() { | 113 TestScheduler::~TestScheduler() { |
63 } | 114 } |
64 | 115 |
65 } // namespace cc | 116 } // namespace cc |
OLD | NEW |