Chromium Code Reviews| Index: cc/test/ordered_simple_task_runner.cc |
| diff --git a/cc/test/ordered_simple_task_runner.cc b/cc/test/ordered_simple_task_runner.cc |
| index 4bf97837371973ccbb2821c922e4ea4add8cf18d..f698c0f02db03abf2d1d11afa624e4f999a62dff 100644 |
| --- a/cc/test/ordered_simple_task_runner.cc |
| +++ b/cc/test/ordered_simple_task_runner.cc |
| @@ -75,15 +75,8 @@ void TestOrderablePendingTask::AsValueInto( |
| state->SetString("posted_from", location.ToString()); |
| } |
| -OrderedSimpleTaskRunner::OrderedSimpleTaskRunner() |
| - : advance_now_(true), |
| - now_src_(TestNowSource::Create(0)), |
| - max_tasks_(kAbsoluteMaxTasks), |
| - inside_run_tasks_until_(false) { |
| -} |
| - |
| OrderedSimpleTaskRunner::OrderedSimpleTaskRunner( |
| - scoped_refptr<TestNowSource> now_src, |
| + base::SimpleTestTickClock* now_src, |
| bool advance_now) |
| : advance_now_(advance_now), |
| now_src_(now_src), |
| @@ -93,14 +86,19 @@ OrderedSimpleTaskRunner::OrderedSimpleTaskRunner( |
| OrderedSimpleTaskRunner::~OrderedSimpleTaskRunner() {} |
| +base::TimeTicks OrderedSimpleTaskRunner::AbsoluteMaxNow() { |
| + return base::TimeTicks::FromInternalValue( |
| + std::numeric_limits<int64_t>::max()); |
| +} |
| + |
| // base::TestSimpleTaskRunner implementation |
| bool OrderedSimpleTaskRunner::PostDelayedTask( |
| const tracked_objects::Location& from_here, |
| const base::Closure& task, |
| base::TimeDelta delay) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - TestOrderablePendingTask pt( |
| - from_here, task, now_src_->Now(), delay, base::TestPendingTask::NESTABLE); |
| + TestOrderablePendingTask pt(from_here, task, now_src_->NowTicks(), delay, |
| + base::TestPendingTask::NESTABLE); |
| TRACE_TASK("OrderedSimpleTaskRunner::PostDelayedTask", pt); |
| pending_tasks_.insert(pt); |
| @@ -112,10 +110,7 @@ bool OrderedSimpleTaskRunner::PostNonNestableDelayedTask( |
| const base::Closure& task, |
| base::TimeDelta delay) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - TestOrderablePendingTask pt(from_here, |
| - task, |
| - now_src_->Now(), |
| - delay, |
| + TestOrderablePendingTask pt(from_here, task, now_src_->NowTicks(), delay, |
| base::TestPendingTask::NON_NESTABLE); |
| TRACE_TASK("OrderedSimpleTaskRunner::PostNonNestableDelayedTask", pt); |
| @@ -138,7 +133,7 @@ bool OrderedSimpleTaskRunner::HasPendingTasks() const { |
| base::TimeTicks OrderedSimpleTaskRunner::NextTaskTime() { |
| if (pending_tasks_.size() <= 0) { |
| - return TestNowSource::kAbsoluteMaxNow; |
| + return AbsoluteMaxNow(); |
| } |
| return pending_tasks_.begin()->GetTimeToRun(); |
| @@ -148,10 +143,10 @@ base::TimeDelta OrderedSimpleTaskRunner::DelayToNextTaskTime() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| if (pending_tasks_.size() <= 0) { |
| - return TestNowSource::kAbsoluteMaxNow - base::TimeTicks(); |
| + return AbsoluteMaxNow() - base::TimeTicks(); |
| } |
| - base::TimeDelta delay = NextTaskTime() - now_src_->Now(); |
| + base::TimeDelta delay = NextTaskTime() - now_src_->NowTicks(); |
| if (delay > base::TimeDelta()) |
| return delay; |
| return base::TimeDelta(); |
| @@ -192,7 +187,7 @@ bool OrderedSimpleTaskRunner::RunTasksWhile( |
| // If to advance now or not |
| if (!advance_now_) { |
| - modifiable_conditions.push_back(NowBefore(now_src_->Now())); |
| + modifiable_conditions.push_back(NowBefore(now_src_->NowTicks())); |
| } else { |
| modifiable_conditions.push_back(AdvanceNow()); |
| } |
| @@ -241,23 +236,23 @@ bool OrderedSimpleTaskRunner::RunUntilIdle() { |
| bool OrderedSimpleTaskRunner::RunUntilTime(base::TimeTicks time) { |
| // If we are not auto advancing, force now forward to the time. |
| - if (!advance_now_ && now_src_->Now() < time) |
| - now_src_->SetNow(time); |
| + if (!advance_now_ && now_src_->NowTicks() < time) |
| + now_src_->Advance(time - now_src_->NowTicks()); |
| // Run tasks |
| bool result = RunTasksWhile(NowBefore(time)); |
| // If the next task is after the stopping time and auto-advancing now, then |
| // force time to be the stopping time. |
| - if (!result && advance_now_ && now_src_->Now() < time) { |
| - now_src_->SetNow(time); |
| + if (!result && advance_now_ && now_src_->NowTicks() < time) { |
| + now_src_->Advance(time - now_src_->NowTicks()); |
| } |
| return result; |
| } |
| bool OrderedSimpleTaskRunner::RunForPeriod(base::TimeDelta period) { |
| - return RunUntilTime(now_src_->Now() + period); |
| + return RunUntilTime(now_src_->NowTicks() + period); |
| } |
| // base::trace_event tracing functionality |
| @@ -285,7 +280,8 @@ void OrderedSimpleTaskRunner::AsValueInto( |
| state->EndArray(); |
| state->BeginDictionary("now_src"); |
| - now_src_->AsValueInto(state); |
| + state->SetInteger("now_in_microseconds", |
|
Sami
2015/06/08 13:59:02
The internal value is not really defined to be in
Ankur Verma
2015/06/09 07:53:47
This was replayed from TestNowSource.
base::TimeTi
Sami
2015/06/09 10:16:02
Oh right, with TimeTicks we usually do this:
Ankur Verma
2015/06/09 13:53:43
Done.
|
| + (now_src_->NowTicks()).ToInternalValue()); |
| state->EndDictionary(); |
| state->SetBoolean("advance_now", advance_now_); |
| @@ -334,8 +330,8 @@ base::Callback<bool(void)> OrderedSimpleTaskRunner::AdvanceNow() { |
| bool OrderedSimpleTaskRunner::AdvanceNowCallback() { |
| base::TimeTicks next_task_time = NextTaskTime(); |
| - if (now_src_->Now() < next_task_time) { |
| - now_src_->SetNow(next_task_time); |
| + if (now_src_->NowTicks() < next_task_time) { |
| + now_src_->Advance(next_task_time - now_src_->NowTicks()); |
| } |
| return true; |
| } |