diff options
-rw-r--r-- | cc/cc.gyp | 1 | ||||
-rw-r--r-- | cc/scheduler/delay_based_time_source.h | 25 | ||||
-rw-r--r-- | cc/scheduler/time_source.h | 51 |
3 files changed, 17 insertions, 60 deletions
@@ -439,7 +439,6 @@ 'scheduler/scheduler_settings.h', 'scheduler/scheduler_state_machine.cc', 'scheduler/scheduler_state_machine.h', - 'scheduler/time_source.h', 'trees/blocking_task_runner.cc', 'trees/blocking_task_runner.h', 'trees/damage_tracker.cc', diff --git a/cc/scheduler/delay_based_time_source.h b/cc/scheduler/delay_based_time_source.h index a5ea2fb..18c8002 100644 --- a/cc/scheduler/delay_based_time_source.h +++ b/cc/scheduler/delay_based_time_source.h @@ -10,33 +10,41 @@ #include "base/memory/weak_ptr.h" #include "base/values.h" #include "cc/base/cc_export.h" -#include "cc/scheduler/time_source.h" namespace base { class SingleThreadTaskRunner; } namespace cc { +class CC_EXPORT TimeSourceClient { + public: + virtual void OnTimerTick() = 0; + + protected: + virtual ~TimeSourceClient() {} +}; + // This timer implements a time source that achieves the specified interval // in face of millisecond-precision delayed callbacks and random queueing // delays. DelayBasedTimeSource uses base::TimeTicks::Now as its timebase. -class CC_EXPORT DelayBasedTimeSource : public TimeSource { +class CC_EXPORT DelayBasedTimeSource + : public base::RefCounted<DelayBasedTimeSource> { public: static scoped_refptr<DelayBasedTimeSource> Create( base::TimeDelta interval, base::SingleThreadTaskRunner* task_runner); - virtual void SetClient(TimeSourceClient* client) OVERRIDE; + virtual void SetClient(TimeSourceClient* client); // TimeSource implementation virtual void SetTimebaseAndInterval(base::TimeTicks timebase, - base::TimeDelta interval) OVERRIDE; + base::TimeDelta interval); - virtual base::TimeTicks SetActive(bool active) OVERRIDE; - virtual bool Active() const OVERRIDE; + virtual base::TimeTicks SetActive(bool active); + virtual bool Active() const; // Get the last and next tick times. NextTickTime() returns null when // inactive. - virtual base::TimeTicks LastTickTime() const OVERRIDE; - virtual base::TimeTicks NextTickTime() const OVERRIDE; + virtual base::TimeTicks LastTickTime() const; + virtual base::TimeTicks NextTickTime() const; // Virtual for testing. virtual base::TimeTicks Now() const; @@ -77,6 +85,7 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource { base::WeakPtrFactory<DelayBasedTimeSource> weak_factory_; private: + friend class base::RefCounted<DelayBasedTimeSource>; DISALLOW_COPY_AND_ASSIGN(DelayBasedTimeSource); }; diff --git a/cc/scheduler/time_source.h b/cc/scheduler/time_source.h deleted file mode 100644 index ba2fce0..0000000 --- a/cc/scheduler/time_source.h +++ /dev/null @@ -1,51 +0,0 @@ -// 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 CC_SCHEDULER_TIME_SOURCE_H_ -#define CC_SCHEDULER_TIME_SOURCE_H_ - -#include "base/memory/ref_counted.h" -#include "base/time/time.h" -#include "cc/base/cc_export.h" - -namespace cc { - -class CC_EXPORT TimeSourceClient { - public: - virtual void OnTimerTick() = 0; - - protected: - virtual ~TimeSourceClient() {} -}; - -// An generic interface for getting a reliably-ticking timesource of -// a specified rate. -// -// Be sure to call SetActive(false) before releasing your reference to the -// timer, or it will keep on ticking! -class CC_EXPORT TimeSource : public base::RefCounted<TimeSource> { - public: - virtual void SetClient(TimeSourceClient* client) = 0; - - // If transitioning from not active to active, SetActive will return the - // timestamp of the most recenly missed tick that did not have OnTimerTick - // called. - virtual base::TimeTicks SetActive(bool active) = 0; - - virtual bool Active() const = 0; - virtual void SetTimebaseAndInterval(base::TimeTicks timebase, - base::TimeDelta interval) = 0; - virtual base::TimeTicks LastTickTime() const = 0; - virtual base::TimeTicks NextTickTime() const = 0; - - protected: - virtual ~TimeSource() {} - - private: - friend class base::RefCounted<TimeSource>; -}; - -} // namespace cc - -#endif // CC_SCHEDULER_TIME_SOURCE_H_ |