Chromium Code Reviews| Index: cc/raster/tile_task.h |
| diff --git a/cc/raster/tile_task.h b/cc/raster/tile_task.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..76c033ae9932204ccae897c39a592dee9e7ac510 |
| --- /dev/null |
| +++ b/cc/raster/tile_task.h |
| @@ -0,0 +1,57 @@ |
| +// Copyright 2014 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 CC_RASTER_TILE_TASK_H_ |
| +#define CC_RASTER_TILE_TASK_H_ |
| + |
| +#include <stdint.h> |
|
ericrk
2016/04/20 00:22:29
is anything using stdint.h? Same for other include
prashant.n
2016/04/20 02:04:48
Yes I'll remove callback/resource_format after che
|
| + |
| +#include <vector> |
| + |
| +#include "base/callback.h" |
| +#include "cc/raster/raster_buffer.h" |
| +#include "cc/raster/task.h" |
| +#include "cc/resources/resource_format.h" |
| + |
| +namespace cc { |
| + |
| +class CC_EXPORT TileTask : public Task { |
| + public: |
| + typedef std::vector<scoped_refptr<TileTask>> Vector; |
| + |
| + const TileTask::Vector& dependencies() const { return dependencies_; } |
| + |
| + // Indicates whether this TileTask can be run at the same time as other tasks |
| + // in the task graph. If false, this task will be scheduled with |
| + // TASK_CATEGORY_NONCONCURRENT_FOREGROUND. The base implementation always |
|
ericrk
2016/04/20 00:22:29
nit: remove the comment "The base implementation a
|
| + // returns true. |
| + bool SupportsConcurrentExecution() const { |
|
ericrk
2016/04/20 00:22:29
Per David's comment on crrev.com/1890903002, pleas
prashant.n
2016/04/20 02:04:48
Now I understand why few functions do not use came
|
| + return supports_concurrent_execution_; |
| + } |
| + |
| + virtual void ScheduleOnOriginThread(RasterBufferProvider* provider) = 0; |
| + virtual void CompleteOnOriginThread(RasterBufferProvider* provider) = 0; |
| + |
| + void WillSchedule(); |
| + void DidSchedule(); |
| + bool HasBeenScheduled() const; |
| + |
| + void WillComplete(); |
| + void DidComplete(); |
| + bool HasCompleted() const; |
| + |
| + protected: |
| + explicit TileTask(bool supports_concurrent_execution); |
| + TileTask(bool supports_concurrent_execution, TileTask::Vector* dependencies); |
| + ~TileTask() override; |
| + |
| + const bool supports_concurrent_execution_; |
| + TileTask::Vector dependencies_; |
| + bool did_schedule_; |
| + bool did_complete_; |
| +}; |
| + |
| +} // namespace cc |
| + |
| +#endif // CC_RASTER_TILE_TASK_H_ |