Index: cc/scheduler/delay_based_time_source.h |
diff --git a/cc/scheduler/delay_based_time_source.h b/cc/scheduler/delay_based_time_source.h |
index a5ea2fb129f251764ea27c3bbc5dc08d54f1ed80..18c8002f2925b746461572c5e31a12526d5ad8d4 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); |
}; |