Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / cc / test / scheduler_test_common.cc
index 3b35a54..7001b59 100644 (file)
@@ -4,6 +4,8 @@
 
 #include "cc/test/scheduler_test_common.h"
 
+#include <string>
+
 #include "base/logging.h"
 
 namespace cc {
@@ -14,4 +16,50 @@ void FakeTimeSourceClient::OnTimerTick() {
 
 base::TimeTicks FakeDelayBasedTimeSource::Now() const { return now_; }
 
+TestDelayBasedTimeSource::TestDelayBasedTimeSource(
+    scoped_refptr<TestNowSource> now_src,
+    base::TimeDelta interval,
+    OrderedSimpleTaskRunner* task_runner)
+    : DelayBasedTimeSource(interval, task_runner), now_src_(now_src) {
+}
+
+base::TimeTicks TestDelayBasedTimeSource::Now() const {
+  return now_src_->Now();
+}
+
+std::string TestDelayBasedTimeSource::TypeString() const {
+  return "TestDelayBasedTimeSource";
+}
+
+TestDelayBasedTimeSource::~TestDelayBasedTimeSource() {
+}
+
+TestScheduler::TestScheduler(
+    scoped_refptr<TestNowSource> now_src,
+    SchedulerClient* client,
+    const SchedulerSettings& scheduler_settings,
+    int layer_tree_host_id,
+    const scoped_refptr<OrderedSimpleTaskRunner>& test_task_runner)
+    : Scheduler(client,
+                scheduler_settings,
+                layer_tree_host_id,
+                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));
+  }
+}
+
+base::TimeTicks TestScheduler::Now() const {
+  return now_src_->Now();
+}
+
+TestScheduler::~TestScheduler() {
+}
+
 }  // namespace cc