diff options
author | reveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-17 01:40:30 +0000 |
---|---|---|
committer | reveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-17 01:40:30 +0000 |
commit | 6820d79c2f8a865afdd48e51ea67691ebb7db816 (patch) | |
tree | 0fe808bc93d4faf22ae75c763cd8e55c6e032f35 /cc/test/scheduler_test_common.h | |
parent | 875b7f7f612335372e4dfc0493d18d5df3b5c45a (diff) | |
download | chromium_src-6820d79c2f8a865afdd48e51ea67691ebb7db816.zip chromium_src-6820d79c2f8a865afdd48e51ea67691ebb7db816.tar.gz chromium_src-6820d79c2f8a865afdd48e51ea67691ebb7db816.tar.bz2 |
Revert 206020 "cc: Emulate BeginFrame in OutputSurfaces that don..."
This is causing pre-rendered pages to not load on android: crbug.com/249806
> cc: Emulate BeginFrame in OutputSurfaces that don't support it natively
>
> This includes two small fixes for the original version of this
> patch that broke software compositing and WebView.
>
> This will allow us to avoid having two different code paths
> in the Scheduler. It also allows us to more easily remove the
> VSyncTimeSource and FrameRateController from the Scheduler.
>
> This patch instantiates the FrameRateController inside of
> OutputSurface for now, but the FrameRateController could be
> removed in future patches.
>
> BUG=245920
> BUG=243497
> TBR=nduca@chromium.org,sievers@chromium.org,kbr@chromium.org
>
> Review URL: https://chromiumcodereview.appspot.com/16833003
TBR=brianderson@chromium.org
Review URL: https://codereview.chromium.org/17204002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206655 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/test/scheduler_test_common.h')
-rw-r--r-- | cc/test/scheduler_test_common.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/cc/test/scheduler_test_common.h b/cc/test/scheduler_test_common.h index 8834e62..b3b2c2d 100644 --- a/cc/test/scheduler_test_common.h +++ b/cc/test/scheduler_test_common.h @@ -62,6 +62,36 @@ class FakeThread : public cc::Thread { bool run_pending_task_on_overwrite_; }; +class FakeTimeSource : public cc::TimeSource { + public: + FakeTimeSource() : active_(false), client_(0) {} + + virtual void SetClient(cc::TimeSourceClient* 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_TRUE(active_); + if (client_) + client_->OnTimerTick(); + } + + void SetNextTickTime(base::TimeTicks next_tick_time) { + next_tick_time_ = next_tick_time; + } + + protected: + virtual ~FakeTimeSource() {} + + bool active_; + base::TimeTicks next_tick_time_; + cc::TimeSourceClient* client_; +}; + class FakeDelayBasedTimeSource : public cc::DelayBasedTimeSource { public: static scoped_refptr<FakeDelayBasedTimeSource> Create( |