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

Unified Diff: third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.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
Index: third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
diff --git a/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc b/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
index 7a8da55f6de9817fac85eedcd6f3e781f0885529..fcc7134e9eb1521b5388bbc1d8a7e92b1c7fdcbe 100644
--- a/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
+++ b/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
@@ -51,7 +51,7 @@ TaskQueueImpl::~TaskQueueImpl() {
TaskQueueImpl::Task::Task()
: PendingTask(tracked_objects::Location(),
- base::Closure(),
+ base::OnceClosure(),
base::TimeTicks(),
true),
#ifndef NDEBUG
@@ -62,11 +62,11 @@ TaskQueueImpl::Task::Task()
}
TaskQueueImpl::Task::Task(const tracked_objects::Location& posted_from,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeTicks desired_run_time,
EnqueueOrder sequence_number,
bool nestable)
- : PendingTask(posted_from, task, desired_run_time, nestable),
+ : PendingTask(posted_from, std::move(task), desired_run_time, nestable),
#ifndef NDEBUG
enqueue_order_set_(false),
#endif
@@ -75,12 +75,12 @@ TaskQueueImpl::Task::Task(const tracked_objects::Location& posted_from,
}
TaskQueueImpl::Task::Task(const tracked_objects::Location& posted_from,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeTicks desired_run_time,
EnqueueOrder sequence_number,
bool nestable,
EnqueueOrder enqueue_order)
- : PendingTask(posted_from, task, desired_run_time, nestable),
+ : PendingTask(posted_from, std::move(task), desired_run_time, nestable),
#ifndef NDEBUG
enqueue_order_set_(true),
#endif
@@ -134,27 +134,31 @@ bool TaskQueueImpl::RunsTasksOnCurrentThread() const {
bool TaskQueueImpl::PostDelayedTask(const tracked_objects::Location& from_here,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeDelta delay) {
if (delay.is_zero())
- return PostImmediateTaskImpl(from_here, task, TaskType::NORMAL);
+ return PostImmediateTaskImpl(from_here, std::move(task), TaskType::NORMAL);
- return PostDelayedTaskImpl(from_here, task, delay, TaskType::NORMAL);
+ return PostDelayedTaskImpl(
+ from_here, std::move(task), delay, TaskType::NORMAL);
}
bool TaskQueueImpl::PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeDelta delay) {
- if (delay.is_zero())
- return PostImmediateTaskImpl(from_here, task, TaskType::NON_NESTABLE);
+ if (delay.is_zero()) {
+ return PostImmediateTaskImpl(
+ from_here, std::move(task), TaskType::NON_NESTABLE);
+ }
- return PostDelayedTaskImpl(from_here, task, delay, TaskType::NON_NESTABLE);
+ return PostDelayedTaskImpl(
+ from_here, std::move(task), delay, TaskType::NON_NESTABLE);
}
bool TaskQueueImpl::PostImmediateTaskImpl(
const tracked_objects::Location& from_here,
- const base::Closure& task,
+ base::OnceClosure task,
TaskType task_type) {
base::AutoLock lock(any_thread_lock_);
if (!any_thread().task_queue_manager)
@@ -165,7 +169,7 @@ bool TaskQueueImpl::PostImmediateTaskImpl(
PushOntoImmediateIncomingQueueLocked(
from_here,
- task,
+ std::move(task),
base::TimeTicks(),
sequence_number,
task_type != TaskType::NON_NESTABLE);
@@ -174,7 +178,7 @@ bool TaskQueueImpl::PostImmediateTaskImpl(
bool TaskQueueImpl::PostDelayedTaskImpl(
const tracked_objects::Location& from_here,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeDelta delay,
TaskType task_type) {
DCHECK_GT(delay, base::TimeDelta());
@@ -189,7 +193,7 @@ bool TaskQueueImpl::PostDelayedTaskImpl(
base::TimeTicks time_domain_now = main_thread_only().time_domain->Now();
base::TimeTicks time_domain_delayed_run_time = time_domain_now + delay;
PushOntoDelayedIncomingQueueFromMainThread(
- Task(from_here, task, time_domain_delayed_run_time, sequence_number,
+ Task(from_here, std::move(task), time_domain_delayed_run_time, sequence_number,
task_type != TaskType::NON_NESTABLE),
time_domain_now);
} else {
@@ -207,8 +211,8 @@ bool TaskQueueImpl::PostDelayedTaskImpl(
base::TimeTicks time_domain_now = any_thread().time_domain->Now();
base::TimeTicks time_domain_delayed_run_time = time_domain_now + delay;
PushOntoDelayedIncomingQueueLocked(
- Task(from_here, task, time_domain_delayed_run_time, sequence_number,
- task_type != TaskType::NON_NESTABLE));
+ Task(from_here, std::move(task), time_domain_delayed_run_time,
+ sequence_number, task_type != TaskType::NON_NESTABLE));
}
return true;
}
@@ -241,7 +245,7 @@ void TaskQueueImpl::PushOntoDelayedIncomingQueueLocked(Task pending_task) {
void TaskQueueImpl::PushOntoImmediateIncomingQueueLocked(
const tracked_objects::Location& posted_from,
- const base::Closure& task,
+ base::OnceClosure task,
base::TimeTicks desired_run_time,
EnqueueOrder sequence_number,
bool nestable) {
@@ -260,7 +264,7 @@ void TaskQueueImpl::PushOntoImmediateIncomingQueueLocked(
}
}
any_thread().immediate_incoming_queue.emplace(
- posted_from, task, desired_run_time, sequence_number, nestable, sequence_number);
+ posted_from, std::move(task), desired_run_time, sequence_number, nestable, sequence_number);
any_thread().task_queue_manager->DidQueueTask( any_thread().immediate_incoming_queue.back());
TraceQueueSize(true);
}

Powered by Google App Engine
This is Rietveld 408576698