| Index: cc/raster/task_graph_runner.h
|
| diff --git a/cc/raster/task_graph_runner.h b/cc/raster/task_graph_runner.h
|
| index 23094ef5a7ef3c81a6cae0fbde931c57c11efe98..c81e7241bb571c39a31d24495b93fc49f7863478 100644
|
| --- a/cc/raster/task_graph_runner.h
|
| +++ b/cc/raster/task_graph_runner.h
|
| @@ -16,37 +16,12 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "cc/base/cc_export.h"
|
| +#include "cc/raster/dependency_task.h"
|
|
|
| namespace cc {
|
|
|
| class TaskGraphRunner;
|
|
|
| -// A task which can be run by a TaskGraphRunner. To run a Task, it should be
|
| -// inserted into a TaskGraph, which can then be scheduled on the
|
| -// TaskGraphRunner.
|
| -class CC_EXPORT Task : public base::RefCountedThreadSafe<Task> {
|
| - public:
|
| - typedef std::vector<scoped_refptr<Task>> Vector;
|
| -
|
| - // Subclasses should implement this method. RunOnWorkerThread may be called
|
| - // on any thread, and subclasses are responsible for locking and thread
|
| - // safety.
|
| - virtual void RunOnWorkerThread() = 0;
|
| -
|
| - void WillRun();
|
| - void DidRun();
|
| - bool HasFinishedRunning() const;
|
| -
|
| - protected:
|
| - friend class base::RefCountedThreadSafe<Task>;
|
| -
|
| - Task();
|
| - virtual ~Task();
|
| -
|
| - bool will_run_;
|
| - bool did_run_;
|
| -};
|
| -
|
| // A task dependency graph describes the order in which to execute a set
|
| // of tasks. Dependencies are represented as edges. Each node is assigned
|
| // a category, a priority and a run count that matches the number of
|
| @@ -59,7 +34,7 @@ struct CC_EXPORT TaskGraph {
|
| struct Node {
|
| typedef std::vector<Node> Vector;
|
|
|
| - Node(Task* task,
|
| + Node(DependencyTask* task,
|
| uint16_t category,
|
| uint16_t priority,
|
| uint32_t dependencies)
|
| @@ -68,7 +43,7 @@ struct CC_EXPORT TaskGraph {
|
| priority(priority),
|
| dependencies(dependencies) {}
|
|
|
| - Task* task;
|
| + DependencyTask* task;
|
| uint16_t category;
|
| uint16_t priority;
|
| uint32_t dependencies;
|
| @@ -77,11 +52,11 @@ struct CC_EXPORT TaskGraph {
|
| struct Edge {
|
| typedef std::vector<Edge> Vector;
|
|
|
| - Edge(const Task* task, Task* dependent)
|
| + Edge(const DependencyTask* task, DependencyTask* dependent)
|
| : task(task), dependent(dependent) {}
|
|
|
| - const Task* task;
|
| - Task* dependent;
|
| + const DependencyTask* task;
|
| + DependencyTask* dependent;
|
| };
|
|
|
| TaskGraph();
|
| @@ -159,8 +134,9 @@ class CC_EXPORT TaskGraphRunner {
|
| virtual void WaitForTasksToFinishRunning(NamespaceToken token) = 0;
|
|
|
| // Collect all completed tasks in |completed_tasks|.
|
| - virtual void CollectCompletedTasks(NamespaceToken token,
|
| - Task::Vector* completed_tasks) = 0;
|
| + virtual void CollectCompletedTasks(
|
| + NamespaceToken token,
|
| + DependencyTask::Vector* completed_tasks) = 0;
|
|
|
| protected:
|
| virtual ~TaskGraphRunner() {}
|
| @@ -169,7 +145,7 @@ class CC_EXPORT TaskGraphRunner {
|
| // Helper class for iterating over all dependents of a task.
|
| class DependentIterator {
|
| public:
|
| - DependentIterator(TaskGraph* graph, const Task* task)
|
| + DependentIterator(TaskGraph* graph, const DependencyTask* task)
|
| : graph_(graph),
|
| task_(task),
|
| current_index_(static_cast<size_t>(-1)),
|
| @@ -216,7 +192,7 @@ class DependentIterator {
|
|
|
| private:
|
| TaskGraph* graph_;
|
| - const Task* task_;
|
| + const DependencyTask* task_;
|
| size_t current_index_;
|
| TaskGraph::Node* current_node_;
|
| };
|
|
|