summaryrefslogtreecommitdiffstats
path: root/cc/scheduler/delay_based_time_source.cc
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.cc
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.cc')
-rw-r--r--cc/scheduler/delay_based_time_source.cc25
1 files changed, 13 insertions, 12 deletions
diff --git a/cc/scheduler/delay_based_time_source.cc b/cc/scheduler/delay_based_time_source.cc
index 7966668..5d2f20b 100644
--- a/cc/scheduler/delay_based_time_source.cc
+++ b/cc/scheduler/delay_based_time_source.cc
@@ -9,8 +9,7 @@
#include "base/debug/trace_event.h"
#include "base/logging.h"
-#include "base/message_loop.h"
-#include "cc/base/thread.h"
+#include "base/single_thread_task_runner.h"
namespace cc {
@@ -34,18 +33,18 @@ static const double kPhaseChangeThreshold = 0.25;
scoped_refptr<DelayBasedTimeSource> DelayBasedTimeSource::Create(
base::TimeDelta interval,
- Thread* thread) {
- return make_scoped_refptr(new DelayBasedTimeSource(interval, thread));
+ base::SingleThreadTaskRunner* task_runner) {
+ return make_scoped_refptr(new DelayBasedTimeSource(interval, task_runner));
}
-DelayBasedTimeSource::DelayBasedTimeSource(base::TimeDelta interval,
- Thread* thread)
+DelayBasedTimeSource::DelayBasedTimeSource(
+ base::TimeDelta interval, base::SingleThreadTaskRunner* task_runner)
: client_(NULL),
has_tick_target_(false),
current_parameters_(interval, base::TimeTicks()),
next_parameters_(interval, base::TimeTicks()),
state_(STATE_INACTIVE),
- thread_(thread),
+ task_runner_(task_runner),
weak_factory_(this) {}
DelayBasedTimeSource::~DelayBasedTimeSource() {}
@@ -66,8 +65,9 @@ void DelayBasedTimeSource::SetActive(bool active) {
// When it runs, we use that to establish the timebase, become truly
// active, and fire the first tick.
state_ = STATE_STARTING;
- thread_->PostTask(base::Bind(&DelayBasedTimeSource::OnTimerFired,
- weak_factory_.GetWeakPtr()));
+ task_runner_->PostTask(FROM_HERE,
+ base::Bind(&DelayBasedTimeSource::OnTimerFired,
+ weak_factory_.GetWeakPtr()));
return;
}
@@ -238,9 +238,10 @@ void DelayBasedTimeSource::PostNextTickTask(base::TimeTicks now) {
DCHECK(delay.InMillisecondsF() <=
next_parameters_.interval.InMillisecondsF() *
(1.0 + kDoubleTickThreshold));
- thread_->PostDelayedTask(base::Bind(&DelayBasedTimeSource::OnTimerFired,
- weak_factory_.GetWeakPtr()),
- delay);
+ task_runner_->PostDelayedTask(FROM_HERE,
+ base::Bind(&DelayBasedTimeSource::OnTimerFired,
+ weak_factory_.GetWeakPtr()),
+ delay);
next_parameters_.tick_target = new_tick_target;
current_parameters_ = next_parameters_;