| Index: base/task_scheduler/utils.h
 | 
| diff --git a/base/task_scheduler/utils.h b/base/task_scheduler/utils.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..54725f93853a3c260eaea3bed62808f273ffa5d7
 | 
| --- /dev/null
 | 
| +++ b/base/task_scheduler/utils.h
 | 
| @@ -0,0 +1,45 @@
 | 
| +// Copyright 2016 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.
 | 
| +
 | 
| +#ifndef BASE_TASK_SCHEDULER_UTILS_H_
 | 
| +#define BASE_TASK_SCHEDULER_UTILS_H_
 | 
| +
 | 
| +#include "base/base_export.h"
 | 
| +#include "base/memory/ref_counted.h"
 | 
| +#include "base/memory/scoped_ptr.h"
 | 
| +#include "base/task_scheduler/sequence.h"
 | 
| +#include "base/task_scheduler/task.h"
 | 
| +
 | 
| +namespace base {
 | 
| +namespace task_scheduler {
 | 
| +
 | 
| +class DelayedTaskManager;
 | 
| +class PriorityQueue;
 | 
| +class ShutdownManager;
 | 
| +
 | 
| +// Name used to annotate tasks posted to the task scheduler.
 | 
| +// See task_annotator.h for more details.
 | 
| +extern const char kQueueFunctionName[];
 | 
| +
 | 
| +// Adds |task| to |delayed_task_manager| if it has a delayed run time.
 | 
| +// Otherwise, calls PostTaskNowHelper().
 | 
| +void BASE_EXPORT PostTaskHelper(const Task& task,
 | 
| +                                scoped_refptr<Sequence> sequence,
 | 
| +                                PriorityQueue* priority_queue,
 | 
| +                                ShutdownManager* shutdown_manager,
 | 
| +                                DelayedTaskManager* delayed_task_manager);
 | 
| +
 | 
| +// Inserts |task| into |sequence|. Then, inserts |sequence| into
 | 
| +// |priority_queue| if it was empty before |task| was inserted into it.
 | 
| +// |shutdown_manager| is consulted to determine whether it is too late to post
 | 
| +// the task.
 | 
| +void BASE_EXPORT PostTaskNowHelper(const Task& task,
 | 
| +                                   scoped_refptr<Sequence> sequence,
 | 
| +                                   PriorityQueue* priority_queue,
 | 
| +                                   ShutdownManager* shutdown_manager);
 | 
| +
 | 
| +}  // namespace task_scheduler
 | 
| +}  // namespace base
 | 
| +
 | 
| +#endif  // BASE_TASK_SCHEDULER_UTILS_H_
 | 
| 
 |