| 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..a50233653410836c44189d5d53381dfaf0d6d3b3 100644
|
| --- a/cc/test/scheduler_test_common.h
|
| +++ b/cc/test/scheduler_test_common.h
|
| @@ -5,10 +5,14 @@
|
| #ifndef CC_TEST_SCHEDULER_TEST_COMMON_H_
|
| #define CC_TEST_SCHEDULER_TEST_COMMON_H_
|
|
|
| +#include <string>
|
| +
|
| #include "base/basictypes.h"
|
| #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 +50,76 @@ class FakeDelayBasedTimeSource : public DelayBasedTimeSource {
|
| base::TimeTicks now_;
|
| };
|
|
|
| +class TestDelayBasedTimeSource : public DelayBasedTimeSource {
|
| + public:
|
| + static scoped_refptr<TestDelayBasedTimeSource> Create(
|
| + scoped_refptr<TestNowSource> now_src,
|
| + base::TimeDelta interval,
|
| + OrderedSimpleTaskRunner* task_runner) {
|
| + return make_scoped_refptr(
|
| + new TestDelayBasedTimeSource(now_src, interval, task_runner));
|
| + }
|
| +
|
| + protected:
|
| + TestDelayBasedTimeSource(scoped_refptr<TestNowSource> now_src,
|
| + base::TimeDelta interval,
|
| + OrderedSimpleTaskRunner* task_runner);
|
| +
|
| + // Overridden from DelayBasedTimeSource
|
| + virtual ~TestDelayBasedTimeSource();
|
| + virtual base::TimeTicks Now() const OVERRIDE;
|
| + virtual std::string TypeString() const OVERRIDE;
|
| +
|
| + scoped_refptr<TestNowSource> now_src_;
|
| +};
|
| +
|
| +class TestScheduler : public Scheduler {
|
| + public:
|
| + static scoped_ptr<TestScheduler> Create(
|
| + scoped_refptr<TestNowSource> now_src,
|
| + SchedulerClient* client,
|
| + const SchedulerSettings& scheduler_settings,
|
| + int layer_tree_host_id) {
|
| + // A bunch of tests require Now() to be > BeginFrameArgs::DefaultInterval()
|
| + now_src->AdvanceNow(base::TimeDelta::FromMilliseconds(100));
|
| +
|
| + scoped_refptr<OrderedSimpleTaskRunner> test_task_runner =
|
| + new OrderedSimpleTaskRunner(now_src, true);
|
| + return make_scoped_ptr(new TestScheduler(now_src,
|
| + client,
|
| + scheduler_settings,
|
| + layer_tree_host_id,
|
| + test_task_runner));
|
| + }
|
| +
|
| + // Extra test helper functionality
|
| + bool IsBeginRetroFrameArgsEmpty() const {
|
| + return begin_retro_frame_args_.empty();
|
| + }
|
| +
|
| + bool IsSyntheticBeginFrameSourceActive() const {
|
| + return synthetic_begin_frame_source_->IsActive();
|
| + }
|
| +
|
| + OrderedSimpleTaskRunner& task_runner() { return *test_task_runner_; }
|
| +
|
| + virtual ~TestScheduler();
|
| +
|
| + protected:
|
| + // Overridden from Scheduler.
|
| + virtual base::TimeTicks Now() const OVERRIDE;
|
| +
|
| + private:
|
| + TestScheduler(scoped_refptr<TestNowSource> now_src,
|
| + SchedulerClient* client,
|
| + const SchedulerSettings& scheduler_settings,
|
| + int layer_tree_host_id,
|
| + const scoped_refptr<OrderedSimpleTaskRunner>& test_task_runner);
|
| +
|
| + scoped_refptr<TestNowSource> now_src_;
|
| + OrderedSimpleTaskRunner* test_task_runner_;
|
| +};
|
| +
|
| } // namespace cc
|
|
|
| #endif // CC_TEST_SCHEDULER_TEST_COMMON_H_
|
|
|