| Index: cc/test/scheduler_test_common.h
|
| diff --git a/cc/test/scheduler_test_common.h b/cc/test/scheduler_test_common.h
|
| index 596358a205877ad26517cbcd54182ab602348254..34e6b9a05fb772e84c18107c147a231e9c893ce6 100644
|
| --- a/cc/test/scheduler_test_common.h
|
| +++ b/cc/test/scheduler_test_common.h
|
| @@ -9,6 +9,8 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/time/time.h"
|
| #include "cc/scheduler/delay_based_time_source.h"
|
| +#include "cc/scheduler/scheduler.h"
|
| +#include "cc/test/ordered_simple_task_runner.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace cc {
|
| @@ -46,6 +48,73 @@ class FakeDelayBasedTimeSource : public DelayBasedTimeSource {
|
| base::TimeTicks now_;
|
| };
|
|
|
| +class TestDelayBasedTimeSource : public DelayBasedTimeSource {
|
| + public:
|
| + static scoped_refptr<TestDelayBasedTimeSource> Create(
|
| + base::TimeDelta interval,
|
| + OrderedSimpleTaskRunner* task_runner) {
|
| + return make_scoped_refptr(
|
| + new TestDelayBasedTimeSource(interval, task_runner));
|
| + }
|
| +
|
| + // Overridden from DelayBasedTimeSource
|
| + virtual base::TimeTicks Now() const OVERRIDE;
|
| +
|
| + // Extra test helper functionality
|
| + void SetNow(base::TimeTicks time);
|
| + OrderedSimpleTaskRunner& task_runner() { return *test_task_runner_; }
|
| +
|
| + protected:
|
| + TestDelayBasedTimeSource(base::TimeDelta interval,
|
| + OrderedSimpleTaskRunner* task_runner)
|
| + : DelayBasedTimeSource(interval, task_runner),
|
| + test_task_runner_(task_runner) {}
|
| + virtual ~TestDelayBasedTimeSource() {}
|
| +
|
| + virtual std::string TypeString() const OVERRIDE;
|
| +
|
| + OrderedSimpleTaskRunner* test_task_runner_;
|
| +};
|
| +
|
| +class TestScheduler : public Scheduler {
|
| + public:
|
| + static scoped_ptr<TestScheduler> Create(
|
| + SchedulerClient* client,
|
| + const SchedulerSettings& scheduler_settings,
|
| + int layer_tree_host_id) {
|
| + scoped_refptr<OrderedSimpleTaskRunner> test_task_runner =
|
| + new OrderedSimpleTaskRunner;
|
| +
|
| + return make_scoped_ptr(new TestScheduler(
|
| + client, scheduler_settings, layer_tree_host_id, test_task_runner));
|
| + }
|
| +
|
| + virtual ~TestScheduler() {}
|
| +
|
| + // Overridden from Scheduler.
|
| + virtual base::TimeTicks Now() const OVERRIDE;
|
| +
|
| + // Extra test helper functionality
|
| + bool IsBeginRetroFrameArgsEmpty() const {
|
| + return begin_retro_frame_args_.empty();
|
| + }
|
| +
|
| + bool IsSyntheticBeginFrameSourceActive() const {
|
| + return synthetic_begin_frame_source_->IsActive();
|
| + }
|
| +
|
| + void SetNow(base::TimeTicks time);
|
| + OrderedSimpleTaskRunner& task_runner() { return *test_task_runner_; }
|
| +
|
| + private:
|
| + TestScheduler(SchedulerClient* client,
|
| + const SchedulerSettings& scheduler_settings,
|
| + int layer_tree_host_id,
|
| + const scoped_refptr<OrderedSimpleTaskRunner>& test_task_runner);
|
| +
|
| + OrderedSimpleTaskRunner* test_task_runner_;
|
| +};
|
| +
|
| } // namespace cc
|
|
|
| #endif // CC_TEST_SCHEDULER_TEST_COMMON_H_
|
|
|