Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(656)

Unified Diff: cc/test/ordered_simple_task_runner.cc

Issue 1132753008: Replaced TestNowSource with SimpleTestTickClock. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/test/ordered_simple_task_runner.h ('k') | cc/test/ordered_simple_task_runner_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4853c47ef1701fd4b7ed74fbb1938ef24a3110bb..3e0864c32a7c8fa78de1991ea8232bd7cb98ec7f 100644
--- a/cc/test/ordered_simple_task_runner.cc
+++ b/cc/test/ordered_simple_task_runner.cc
@@ -76,15 +76,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),
@@ -94,14 +87,20 @@ OrderedSimpleTaskRunner::OrderedSimpleTaskRunner(
OrderedSimpleTaskRunner::~OrderedSimpleTaskRunner() {}
+// static
+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);
@@ -113,10 +112,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);
@@ -139,7 +135,7 @@ bool OrderedSimpleTaskRunner::HasPendingTasks() const {
base::TimeTicks OrderedSimpleTaskRunner::NextTaskTime() {
if (pending_tasks_.size() <= 0) {
- return TestNowSource::kAbsoluteMaxNow;
+ return AbsoluteMaxNow();
}
return pending_tasks_.begin()->GetTimeToRun();
@@ -149,10 +145,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();
@@ -193,7 +189,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());
}
@@ -242,23 +238,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
@@ -287,7 +283,8 @@ void OrderedSimpleTaskRunner::AsValueInto(
state->EndArray();
state->BeginDictionary("now_src");
- now_src_->AsValueInto(state);
+ state->SetDouble("now_in_ms", (now_src_->NowTicks() - base::TimeTicks())
+ .InMillisecondsF());
state->EndDictionary();
state->SetBoolean("advance_now", advance_now_);
@@ -336,8 +333,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;
}
« no previous file with comments | « cc/test/ordered_simple_task_runner.h ('k') | cc/test/ordered_simple_task_runner_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698