| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/task/sequence_manager/task_queue_task_runner.h" |
| |
| #include "base/task/sequence_manager/task_queue.h" |
| |
| namespace base { |
| namespace sequence_manager { |
| namespace internal { |
| |
| TaskQueueTaskRunner::TaskQueueTaskRunner(scoped_refptr<TaskQueue> task_queue, |
| int task_type) |
| : task_queue_(task_queue), task_type_(task_type) {} |
| |
| TaskQueueTaskRunner::~TaskQueueTaskRunner() {} |
| |
| bool TaskQueueTaskRunner::PostDelayedTask(const Location& location, |
| OnceClosure callback, |
| TimeDelta delay) { |
| return task_queue_->PostTaskWithMetadata(TaskQueue::PostedTask( |
| std::move(callback), location, delay, Nestable::kNestable, task_type_)); |
| } |
| |
| bool TaskQueueTaskRunner::PostNonNestableDelayedTask(const Location& location, |
| OnceClosure callback, |
| TimeDelta delay) { |
| return task_queue_->PostTaskWithMetadata( |
| TaskQueue::PostedTask(std::move(callback), location, delay, |
| Nestable::kNonNestable, task_type_)); |
| } |
| |
| bool TaskQueueTaskRunner::RunsTasksInCurrentSequence() const { |
| return task_queue_->RunsTasksInCurrentSequence(); |
| } |
| |
| } // namespace internal |
| } // namespace sequence_manager |
| } // namespace base |