summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/cc.gyp1
-rw-r--r--cc/scheduler/delay_based_time_source.h25
-rw-r--r--cc/scheduler/time_source.h51
3 files changed, 17 insertions, 60 deletions
diff --git a/cc/cc.gyp b/cc/cc.gyp
index e385e08..7e33f42 100644
--- a/cc/cc.gyp
+++ b/cc/cc.gyp
@@ -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_