| Index: base/task_scheduler/task.h | 
| diff --git a/base/task_scheduler/task.h b/base/task_scheduler/task.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..d5aa35d84d31ade6b3c6464cd819385bcf7b30ec | 
| --- /dev/null | 
| +++ b/base/task_scheduler/task.h | 
| @@ -0,0 +1,39 @@ | 
| +// 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_TASK_H_ | 
| +#define BASE_TASK_SCHEDULER_TASK_H_ | 
| + | 
| +#include "base/base_export.h" | 
| +#include "base/callback_forward.h" | 
| +#include "base/location.h" | 
| +#include "base/pending_task.h" | 
| +#include "base/task_scheduler/task_traits.h" | 
| +#include "base/time/time.h" | 
| + | 
| +namespace base { | 
| +namespace task_scheduler { | 
| + | 
| +// A task is a unit of work inside the task scheduler. | 
| +struct BASE_EXPORT Task : public PendingTask { | 
| +  Task(); | 
| +  Task(const tracked_objects::Location& posted_from, | 
| +       const Closure& task, | 
| +       const TaskTraits& traits, | 
| +       const TimeTicks& post_time); | 
| +  ~Task(); | 
| + | 
| +  // The traits describing where, when and how the task should run. | 
| +  TaskTraits traits; | 
| + | 
| +  // The time at which the task was posted. For a delayed task, this is the time | 
| +  // at which the task was inserted in its sequence after its delay expired; not | 
| +  // the time at which it was initially sent to a task scheduler. | 
| +  TimeTicks post_time; | 
| +}; | 
| + | 
| +}  // namespace task_scheduler | 
| +}  // namespace base | 
| + | 
| +#endif  // BASE_TASK_SCHEDULER_TASK_H_ | 
|  |