summaryrefslogtreecommitdiffstats
path: root/chromium/base/task/sequence_manager/task_queue_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/task/sequence_manager/task_queue_impl.cc')
-rw-r--r--chromium/base/task/sequence_manager/task_queue_impl.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/chromium/base/task/sequence_manager/task_queue_impl.cc b/chromium/base/task/sequence_manager/task_queue_impl.cc
index d109f915ded..7c22f9c1121 100644
--- a/chromium/base/task/sequence_manager/task_queue_impl.cc
+++ b/chromium/base/task/sequence_manager/task_queue_impl.cc
@@ -78,16 +78,18 @@ TaskQueueImpl::TaskRunner::~TaskRunner() {}
bool TaskQueueImpl::TaskRunner::PostDelayedTask(const Location& location,
OnceClosure callback,
TimeDelta delay) {
- return task_poster_->PostTask(PostedTask(std::move(callback), location, delay,
- Nestable::kNestable, task_type_));
+ return task_poster_->PostTask(PostedTask(this, std::move(callback), location,
+ delay, Nestable::kNestable,
+ task_type_));
}
bool TaskQueueImpl::TaskRunner::PostNonNestableDelayedTask(
const Location& location,
OnceClosure callback,
TimeDelta delay) {
- return task_poster_->PostTask(PostedTask(std::move(callback), location, delay,
- Nestable::kNonNestable, task_type_));
+ return task_poster_->PostTask(PostedTask(this, std::move(callback), location,
+ delay, Nestable::kNonNestable,
+ task_type_));
}
bool TaskQueueImpl::TaskRunner::RunsTasksInCurrentSequence() const {
@@ -423,8 +425,10 @@ void TaskQueueImpl::PushOntoDelayedIncomingQueue(Task pending_task) {
#endif
// TODO(altimin): Add a copy method to Task to capture metadata here.
+ auto task_runner = pending_task.task_runner;
PostImmediateTaskImpl(
- PostedTask(BindOnce(&TaskQueueImpl::ScheduleDelayedWorkTask,
+ PostedTask(std::move(task_runner),
+ BindOnce(&TaskQueueImpl::ScheduleDelayedWorkTask,
Unretained(this), std::move(pending_task)),
FROM_HERE, TimeDelta(), Nestable::kNonNestable,
pending_task.task_type),