| 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(
|
|
|