diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-18 17:39:51 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-18 17:39:51 +0000 |
commit | dfd15d1a2facf6a47473ee9da97993dbfd075b4d (patch) | |
tree | e76aa995dde441e89025d2b7c15c2065a6d2f261 /base | |
parent | bed29f042d424c95bad10263358bd65a36491c20 (diff) | |
download | chromium_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 'base')
-rw-r--r-- | base/test/test_simple_task_runner.cc | 10 | ||||
-rw-r--r-- | base/test/test_simple_task_runner.h | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/base/test/test_simple_task_runner.cc b/base/test/test_simple_task_runner.cc index 440d6a1..cc39fab 100644 --- a/base/test/test_simple_task_runner.cc +++ b/base/test/test_simple_task_runner.cc @@ -47,6 +47,16 @@ TestSimpleTaskRunner::GetPendingTasks() const { return pending_tasks_; } +bool TestSimpleTaskRunner::HasPendingTask() const { + DCHECK(thread_checker_.CalledOnValidThread()); + return !pending_tasks_.empty(); +} + +base::TimeDelta TestSimpleTaskRunner::NextPendingTaskDelay() const { + DCHECK(thread_checker_.CalledOnValidThread()); + return pending_tasks_.front().GetTimeToRun() - base::TimeTicks(); +} + void TestSimpleTaskRunner::ClearPendingTasks() { DCHECK(thread_checker_.CalledOnValidThread()); pending_tasks_.clear(); diff --git a/base/test/test_simple_task_runner.h b/base/test/test_simple_task_runner.h index 88113be..c011ea5 100644 --- a/base/test/test_simple_task_runner.h +++ b/base/test/test_simple_task_runner.h @@ -15,6 +15,8 @@ namespace base { +class TimeDelta; + // TestSimpleTaskRunner is a simple TaskRunner implementation that can // be used for testing. It implements SingleThreadTaskRunner as that // interface implements SequencedTaskRunner, which in turn implements @@ -56,6 +58,8 @@ class TestSimpleTaskRunner : public SingleThreadTaskRunner { virtual bool RunsTasksOnCurrentThread() const OVERRIDE; const std::deque<TestPendingTask>& GetPendingTasks() const; + bool HasPendingTask() const; + base::TimeDelta NextPendingTaskDelay() const; // Clears the queue of pending tasks without running them. void ClearPendingTasks(); |