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); |
} |