|  | // 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" | 
|  | #include "base/task/sequence_manager/task_queue_proxy.h" | 
|  |  | 
|  | namespace base { | 
|  | namespace sequence_manager { | 
|  | namespace internal { | 
|  |  | 
|  | TaskQueueTaskRunner::TaskQueueTaskRunner( | 
|  | scoped_refptr<TaskQueueProxy> task_queue_proxy, | 
|  | int task_type) | 
|  | : task_queue_proxy_(std::move(task_queue_proxy)), task_type_(task_type) {} | 
|  |  | 
|  | TaskQueueTaskRunner::~TaskQueueTaskRunner() {} | 
|  |  | 
|  | bool TaskQueueTaskRunner::PostDelayedTask(const Location& location, | 
|  | OnceClosure callback, | 
|  | TimeDelta delay) { | 
|  | return task_queue_proxy_->PostTask(PostedTask( | 
|  | std::move(callback), location, delay, Nestable::kNestable, task_type_)); | 
|  | } | 
|  |  | 
|  | bool TaskQueueTaskRunner::PostNonNestableDelayedTask(const Location& location, | 
|  | OnceClosure callback, | 
|  | TimeDelta delay) { | 
|  | return task_queue_proxy_->PostTask(PostedTask(std::move(callback), location, | 
|  | delay, Nestable::kNonNestable, | 
|  | task_type_)); | 
|  | } | 
|  |  | 
|  | bool TaskQueueTaskRunner::RunsTasksInCurrentSequence() const { | 
|  | return task_queue_proxy_->RunsTasksInCurrentSequence(); | 
|  | } | 
|  |  | 
|  | }  // namespace internal | 
|  | }  // namespace sequence_manager | 
|  | }  // namespace base |