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 /cc/scheduler/delay_based_time_source.cc | |
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 'cc/scheduler/delay_based_time_source.cc')
-rw-r--r-- | cc/scheduler/delay_based_time_source.cc | 25 |
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_; |