summaryrefslogtreecommitdiffstats
path: root/cc/test/scheduler_test_common.h
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 19:40:56 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 19:40:56 +0000
commitc79f147c0474a311a83829a44b55aaffa42c6237 (patch)
tree8bb41fcb74068042828da31c279b0d53dd0844fa /cc/test/scheduler_test_common.h
parente62f2909e0aabf37131a65c7e50e85c1f07473f8 (diff)
downloadchromium_src-c79f147c0474a311a83829a44b55aaffa42c6237.zip
chromium_src-c79f147c0474a311a83829a44b55aaffa42c6237.tar.gz
chromium_src-c79f147c0474a311a83829a44b55aaffa42c6237.tar.bz2
[cc] Change cc_tests.gyp filenames to Chromium style
BUG=155413 Review URL: https://codereview.chromium.org/11108020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161642 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test/scheduler_test_common.h')
-rw-r--r--cc/test/scheduler_test_common.h130
1 files changed, 129 insertions, 1 deletions
diff --git a/cc/test/scheduler_test_common.h b/cc/test/scheduler_test_common.h
index 638cbb2..2f6660b 100644
--- a/cc/test/scheduler_test_common.h
+++ b/cc/test/scheduler_test_common.h
@@ -1,3 +1,131 @@
-// Copyright 2012 The Chromium Authors. All rights reserved.
+// Copyright 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+
+#ifndef CCSchedulerTestCommon_h
+#define CCSchedulerTestCommon_h
+
+#include "CCDelayBasedTimeSource.h"
+#include "CCFrameRateController.h"
+#include "CCThread.h"
+#include "base/threading/platform_thread.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include <wtf/OwnPtr.h>
+
+namespace WebKitTests {
+
+class FakeCCTimeSourceClient : public cc::CCTimeSourceClient {
+public:
+ FakeCCTimeSourceClient() { reset(); }
+ void reset() { m_tickCalled = false; }
+ bool tickCalled() const { return m_tickCalled; }
+
+ virtual void onTimerTick() OVERRIDE;
+
+protected:
+ bool m_tickCalled;
+};
+
+class FakeCCThread : public cc::CCThread {
+public:
+ FakeCCThread();
+ virtual ~FakeCCThread();
+
+ void reset()
+ {
+ m_pendingTaskDelay = 0;
+ m_pendingTask.clear();
+ m_runPendingTaskOnOverwrite = false;
+ }
+
+ void runPendingTaskOnOverwrite(bool enable)
+ {
+ m_runPendingTaskOnOverwrite = enable;
+ }
+
+ bool hasPendingTask() const { return m_pendingTask; }
+ void runPendingTask()
+ {
+ ASSERT(m_pendingTask);
+ OwnPtr<Task> task = m_pendingTask.release();
+ task->performTask();
+ }
+
+ long long pendingDelayMs() const
+ {
+ EXPECT_TRUE(hasPendingTask());
+ return m_pendingTaskDelay;
+ }
+
+ virtual void postTask(PassOwnPtr<Task>) OVERRIDE;
+ virtual void postDelayedTask(PassOwnPtr<Task> task, long long delay) OVERRIDE;
+ virtual base::PlatformThreadId threadID() const OVERRIDE;
+
+protected:
+ OwnPtr<Task> m_pendingTask;
+ long long m_pendingTaskDelay;
+ bool m_runPendingTaskOnOverwrite;
+};
+
+class FakeCCTimeSource : public cc::CCTimeSource {
+public:
+ FakeCCTimeSource()
+ : m_active(false)
+ , m_client(0)
+ {
+ turnOffVerifier();
+ }
+
+ virtual ~FakeCCTimeSource() { }
+
+ virtual void setClient(cc::CCTimeSourceClient* client) OVERRIDE;
+ virtual void setActive(bool b) OVERRIDE;
+ virtual bool active() const OVERRIDE;
+ virtual void setTimebaseAndInterval(base::TimeTicks timebase, base::TimeDelta interval) OVERRIDE { }
+ virtual base::TimeTicks lastTickTime() OVERRIDE;
+ virtual base::TimeTicks nextTickTime() OVERRIDE;
+
+ void tick()
+ {
+ ASSERT(m_active);
+ if (m_client)
+ m_client->onTimerTick();
+ }
+
+ void setNextTickTime(base::TimeTicks nextTickTime) { m_nextTickTime = nextTickTime; }
+
+protected:
+ bool m_active;
+ base::TimeTicks m_nextTickTime;
+ cc::CCTimeSourceClient* m_client;
+};
+
+class FakeCCDelayBasedTimeSource : public cc::CCDelayBasedTimeSource {
+public:
+ static PassRefPtr<FakeCCDelayBasedTimeSource> create(base::TimeDelta interval, cc::CCThread* thread)
+ {
+ return adoptRef(new FakeCCDelayBasedTimeSource(interval, thread));
+ }
+
+ void setNow(base::TimeTicks time) { m_now = time; }
+ virtual base::TimeTicks now() const OVERRIDE;
+
+protected:
+ FakeCCDelayBasedTimeSource(base::TimeDelta interval, cc::CCThread* thread)
+ : CCDelayBasedTimeSource(interval, thread)
+ {
+ }
+
+ base::TimeTicks m_now;
+};
+
+class FakeCCFrameRateController : public cc::CCFrameRateController {
+public:
+ FakeCCFrameRateController(PassRefPtr<cc::CCTimeSource> timer) : cc::CCFrameRateController(timer) { }
+
+ int numFramesPending() const { return m_numFramesPending; }
+};
+
+}
+
+#endif // CCSchedulerTestCommon_h