summaryrefslogtreecommitdiffstats
path: root/cc/scheduler/delay_based_time_source.h
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-18 17:39:51 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-18 17:39:51 +0000
commitdfd15d1a2facf6a47473ee9da97993dbfd075b4d (patch)
treee76aa995dde441e89025d2b7c15c2065a6d2f261 /cc/scheduler/delay_based_time_source.h
parentbed29f042d424c95bad10263358bd65a36491c20 (diff)
downloadchromium_src-dfd15d1a2facf6a47473ee9da97993dbfd075b4d.zip
chromium_src-dfd15d1a2facf6a47473ee9da97993dbfd075b4d.tar.gz
chromium_src-dfd15d1a2facf6a47473ee9da97993dbfd075b4d.tar.bz2
cc: Remove FakeThread, use SingleThreadTaskRunner in scheduling classes.
This changes from using cc::Thread to base::SingleThreadTaskRunner in FrameRateController, DelayBasedTimeSource, and ResourceUpdateController. Then all unit tests for these classes are switched from using cc::FakeThread to base::TestSimpleTaskRunner. This is a step toward deleting cc::Thread and moving to using MessageLoopProxy directly in cc. R=piman BUG=251134 Review URL: https://chromiumcodereview.appspot.com/17362002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@207027 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/scheduler/delay_based_time_source.h')
-rw-r--r--cc/scheduler/delay_based_time_source.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/cc/scheduler/delay_based_time_source.h b/cc/scheduler/delay_based_time_source.h
index 06a4ee7..1dc4d6f 100644
--- a/cc/scheduler/delay_based_time_source.h
+++ b/cc/scheduler/delay_based_time_source.h
@@ -9,17 +9,17 @@
#include "cc/base/cc_export.h"
#include "cc/scheduler/time_source.h"
-namespace cc {
+namespace base { class SingleThreadTaskRunner; }
-class Thread;
+namespace cc {
// This timer implements a time source that achieves the specified interval
// in face of millisecond-precision delayed callbacks and random queueing
// delays.
class CC_EXPORT DelayBasedTimeSource : public TimeSource {
public:
- static scoped_refptr<DelayBasedTimeSource> Create(base::TimeDelta interval,
- Thread* thread);
+ static scoped_refptr<DelayBasedTimeSource> Create(
+ base::TimeDelta interval, base::SingleThreadTaskRunner* task_runner);
virtual void SetClient(TimeSourceClient* client) OVERRIDE;
@@ -39,7 +39,8 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource {
virtual base::TimeTicks Now() const;
protected:
- DelayBasedTimeSource(base::TimeDelta interval, Thread* thread);
+ DelayBasedTimeSource(base::TimeDelta interval,
+ base::SingleThreadTaskRunner* task_runner);
virtual ~DelayBasedTimeSource();
base::TimeTicks NextTickTarget(base::TimeTicks now);
@@ -72,8 +73,10 @@ class CC_EXPORT DelayBasedTimeSource : public TimeSource {
State state_;
- Thread* thread_;
+ base::SingleThreadTaskRunner* task_runner_;
base::WeakPtrFactory<DelayBasedTimeSource> weak_factory_;
+
+ private:
DISALLOW_COPY_AND_ASSIGN(DelayBasedTimeSource);
};