diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 19:40:56 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 19:40:56 +0000 |
commit | c79f147c0474a311a83829a44b55aaffa42c6237 (patch) | |
tree | 8bb41fcb74068042828da31c279b0d53dd0844fa /cc/test/scheduler_test_common.h | |
parent | e62f2909e0aabf37131a65c7e50e85c1f07473f8 (diff) | |
download | chromium_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.h | 130 |
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 |