Chromium Code Reviews| 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 417ee26fd078bedd0512ff845c0d3d2ce53fe4ab..14432ed4396e70963d22844095a834889d644124 100644 |
| --- a/cc/scheduler/delay_based_time_source.h |
| +++ b/cc/scheduler/delay_based_time_source.h |
| @@ -12,6 +12,7 @@ |
| #include "base/macros.h" |
| #include "base/memory/ptr_util.h" |
| #include "base/memory/weak_ptr.h" |
| +#include "base/time/tick_clock.h" |
| #include "base/values.h" |
| #include "cc/base/cc_export.h" |
| @@ -31,13 +32,13 @@ class CC_EXPORT DelayBasedTimeSourceClient { |
| virtual ~DelayBasedTimeSourceClient() {} |
| }; |
| -// 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. |
| +// Simple timer that keeps track of its last and next tick times can an use an |
| +// optional clock for timing. |
| class CC_EXPORT DelayBasedTimeSource { |
| public: |
| - explicit DelayBasedTimeSource(base::SingleThreadTaskRunner* task_runner); |
| - virtual ~DelayBasedTimeSource(); |
| + DelayBasedTimeSource(base::SingleThreadTaskRunner* task_runner, |
| + base::TickClock* clock); |
| + ~DelayBasedTimeSource(); |
| void SetClient(DelayBasedTimeSourceClient* client); |
| @@ -54,12 +55,7 @@ class CC_EXPORT DelayBasedTimeSource { |
| base::TimeTicks LastTickTime() const; |
| base::TimeTicks NextTickTime() const; |
| - virtual void AsValueInto(base::trace_event::TracedValue* dict) const; |
| - |
| - protected: |
| - // Virtual for testing. |
| - virtual base::TimeTicks Now() const; |
| - virtual std::string TypeString() const; |
| + void AsValueInto(base::trace_event::TracedValue* dict) const; |
| private: |
| void PostNextTickTask(base::TimeTicks now); |
| @@ -67,6 +63,10 @@ class CC_EXPORT DelayBasedTimeSource { |
| void OnTimerTick(); |
| + base::TimeTicks Now(); |
|
brianderson
2016/07/13 21:14:49
Should this just go away now that there's a tick c
|
| + |
| + base::SingleThreadTaskRunner* task_runner_; |
| + base::TickClock* clock_; |
| DelayBasedTimeSourceClient* client_; |
| bool active_; |
| @@ -78,9 +78,6 @@ class CC_EXPORT DelayBasedTimeSource { |
| base::TimeTicks next_tick_time_; |
| base::CancelableClosure tick_closure_; |
| - |
| - base::SingleThreadTaskRunner* task_runner_; |
| - |
| base::WeakPtrFactory<DelayBasedTimeSource> weak_factory_; |
| DISALLOW_COPY_AND_ASSIGN(DelayBasedTimeSource); |