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

Unified Diff: cc/test/ordered_simple_task_runner.cc

Issue 2122543002: Replace Closure in TaskRunner::PostTask with OneShotCallback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@07_oneshot
Patch Set: fix Created 4 years, 3 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 a3d66ee6d3a58510e49557842b0498955f17fc83..397e2d1ce933e37a5a20dd8dda2ca21a38f21237 100644
--- a/cc/test/ordered_simple_task_runner.cc
+++ b/cc/test/ordered_simple_task_runner.cc
@@ -33,15 +33,21 @@ TestOrderablePendingTask::TestOrderablePendingTask()
task_id_(TestOrderablePendingTask::task_id_counter++) {
}
+TestOrderablePendingTask::TestOrderablePendingTask(TestOrderablePendingTask&&) =
+ default;
+
TestOrderablePendingTask::TestOrderablePendingTask(
const tracked_objects::Location& location,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeTicks post_time,
base::TimeDelta delay,
TestNestability nestability)
- : base::TestPendingTask(location, task, post_time, delay, nestability),
- task_id_(TestOrderablePendingTask::task_id_counter++) {
-}
+ : base::TestPendingTask(location,
+ std::move(task),
+ post_time,
+ delay,
+ nestability),
+ task_id_(TestOrderablePendingTask::task_id_counter++) {}
size_t TestOrderablePendingTask::task_id_counter = 0;
@@ -99,27 +105,27 @@ base::TimeTicks OrderedSimpleTaskRunner::AbsoluteMaxNow() {
// base::TestSimpleTaskRunner implementation
bool OrderedSimpleTaskRunner::PostDelayedTask(
const tracked_objects::Location& from_here,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeDelta delay) {
DCHECK(thread_checker_.CalledOnValidThread());
- TestOrderablePendingTask pt(from_here, task, now_src_->NowTicks(), delay,
- base::TestPendingTask::NESTABLE);
+ TestOrderablePendingTask pt(from_here, std::move(task), now_src_->NowTicks(),
+ delay, base::TestPendingTask::NESTABLE);
TRACE_TASK("OrderedSimpleTaskRunner::PostDelayedTask", pt);
- pending_tasks_.insert(pt);
+ pending_tasks_.insert(std::move(pt));
return true;
}
bool OrderedSimpleTaskRunner::PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeDelta delay) {
DCHECK(thread_checker_.CalledOnValidThread());
- TestOrderablePendingTask pt(from_here, task, now_src_->NowTicks(), delay,
- base::TestPendingTask::NON_NESTABLE);
+ TestOrderablePendingTask pt(from_here, std::move(task), now_src_->NowTicks(),
+ delay, base::TestPendingTask::NON_NESTABLE);
TRACE_TASK("OrderedSimpleTaskRunner::PostNonNestableDelayedTask", pt);
- pending_tasks_.insert(pt);
+ pending_tasks_.insert(std::move(pt));
return true;
}
@@ -222,7 +228,7 @@ bool OrderedSimpleTaskRunner::RunTasksWhile(
"OrderedSimpleTaskRunner::RunPendingTasks running",
"task",
task_to_run->AsValue());
- task_to_run->task.Run();
+ std::move(task_to_run->task).Run();
}
pending_tasks_.erase(task_to_run);
@@ -309,14 +315,18 @@ bool OrderedSimpleTaskRunner::TaskRunCountBelowCallback(size_t max_tasks,
base::Callback<bool(void)> OrderedSimpleTaskRunner::TaskExistedInitially() {
// base::Bind takes a copy of pending_tasks_
+ std::set<size_t> pending_task_ids;
+ for (const auto& pending_task : pending_tasks_)
+ pending_task_ids.insert(pending_task.task_id());
+
return base::Bind(&OrderedSimpleTaskRunner::TaskExistedInitiallyCallback,
- base::Unretained(this),
- pending_tasks_);
+ base::Unretained(this), std::move(pending_task_ids));
}
bool OrderedSimpleTaskRunner::TaskExistedInitiallyCallback(
- const std::set<TestOrderablePendingTask>& existing_tasks) {
- return existing_tasks.find(*pending_tasks_.begin()) != existing_tasks.end();
+ const std::set<size_t>& existing_tasks) {
+ return existing_tasks.find(pending_tasks_.begin()->task_id()) !=
+ existing_tasks.end();
}
base::Callback<bool(void)> OrderedSimpleTaskRunner::NowBefore(
« 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