summaryrefslogtreecommitdiff
path: root/chromium/cc/scheduler/delay_based_time_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/scheduler/delay_based_time_source.h')
-rw-r--r--chromium/cc/scheduler/delay_based_time_source.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/chromium/cc/scheduler/delay_based_time_source.h b/chromium/cc/scheduler/delay_based_time_source.h
index 55aac5a97fb..1dc4d6fff11 100644
--- a/chromium/cc/scheduler/delay_based_time_source.h
+++ b/chromium/cc/scheduler/delay_based_time_source.h
@@ -27,7 +27,7 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource {
virtual void SetTimebaseAndInterval(base::TimeTicks timebase,
base::TimeDelta interval) OVERRIDE;
- virtual base::TimeTicks SetActive(bool active) OVERRIDE;
+ virtual void SetActive(bool active) OVERRIDE;
virtual bool Active() const OVERRIDE;
// Get the last and next tick times. nextTimeTime() returns null when
@@ -47,6 +47,12 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource {
void PostNextTickTask(base::TimeTicks now);
void OnTimerFired();
+ enum State {
+ STATE_INACTIVE,
+ STATE_STARTING,
+ STATE_ACTIVE,
+ };
+
struct Parameters {
Parameters(base::TimeDelta interval, base::TimeTicks tick_target)
: interval(interval), tick_target(tick_target) {}
@@ -55,6 +61,7 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource {
};
TimeSourceClient* client_;
+ bool has_tick_target_;
base::TimeTicks last_tick_time_;
// current_parameters_ should only be written by PostNextTickTask.
@@ -64,7 +71,7 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource {
Parameters current_parameters_;
Parameters next_parameters_;
- bool active_;
+ State state_;
base::SingleThreadTaskRunner* task_runner_;
base::WeakPtrFactory<DelayBasedTimeSource> weak_factory_;