Index: cc/resources/pixel_buffer_raster_worker_pool.h |
diff --git a/cc/resources/pixel_buffer_raster_worker_pool.h b/cc/resources/pixel_buffer_raster_worker_pool.h |
index 1eb4fdfaa9ba66caeb7957770a1907c23d307448..d9c7412848863e7350c29235060d615cf4cda37b 100644 |
--- a/cc/resources/pixel_buffer_raster_worker_pool.h |
+++ b/cc/resources/pixel_buffer_raster_worker_pool.h |
@@ -13,8 +13,8 @@ |
#if defined(COMPILER_GCC) |
namespace BASE_HASH_NAMESPACE { |
template <> |
-struct hash<cc::internal::WorkerPoolTask*> { |
- size_t operator()(cc::internal::WorkerPoolTask* ptr) const { |
+struct hash<cc::internal::RasterWorkerPoolTask*> { |
+ size_t operator()(cc::internal::RasterWorkerPoolTask* ptr) const { |
return hash<size_t>()(reinterpret_cast<size_t>(ptr)); |
} |
}; |
@@ -39,10 +39,12 @@ |
virtual void CheckForCompletedTasks() OVERRIDE; |
// Overridden from internal::WorkerPoolTaskClient: |
- virtual SkCanvas* AcquireCanvasForRaster(internal::WorkerPoolTask* task, |
- const Resource* resource) OVERRIDE; |
- virtual void ReleaseCanvasForRaster(internal::WorkerPoolTask* task, |
- const Resource* resource) OVERRIDE; |
+ virtual SkCanvas* AcquireCanvasForRaster(internal::RasterWorkerPoolTask* task) |
+ OVERRIDE; |
+ virtual void OnRasterCompleted(internal::RasterWorkerPoolTask* task, |
+ const PicturePileImpl::Analysis& analysis) |
+ OVERRIDE; |
+ virtual void OnImageDecodeCompleted(internal::WorkerPoolTask* task) OVERRIDE; |
protected: |
PixelBufferRasterWorkerPool(internal::TaskGraphRunner* task_graph_runner, |
@@ -50,12 +52,10 @@ |
size_t max_transfer_buffer_usage_bytes); |
private: |
- struct RasterTaskState { |
- RasterTaskState() : type(UNSCHEDULED), resource(NULL) {} |
- enum { UNSCHEDULED, SCHEDULED, UPLOADING, COMPLETED } type; |
- const Resource* resource; |
- }; |
- typedef internal::WorkerPoolTask* RasterTaskMapKey; |
+ enum RasterTaskState { UNSCHEDULED, SCHEDULED, UPLOADING, COMPLETED }; |
+ typedef std::deque<scoped_refptr<internal::RasterWorkerPoolTask> > |
+ RasterTaskDeque; |
+ typedef internal::RasterWorkerPoolTask* RasterTaskMapKey; |
typedef base::hash_set<RasterTaskMapKey> RasterTaskSet; |
typedef base::hash_map<RasterTaskMapKey, RasterTaskState> RasterTaskStateMap; |
@@ -73,7 +73,8 @@ |
bool HasPendingTasks() const; |
bool HasPendingTasksRequiredForActivation() const; |
void CheckForCompletedWorkerPoolTasks(); |
- bool IsRasterTaskRequiredForActivation(internal::WorkerPoolTask* task) const; |
+ bool IsRasterTaskRequiredForActivation(internal::RasterWorkerPoolTask* task) |
+ const; |
const char* StateName() const; |
scoped_ptr<base::Value> StateAsValue() const; |
@@ -84,8 +85,8 @@ |
RasterTaskQueue raster_tasks_; |
RasterTaskSet raster_tasks_required_for_activation_; |
RasterTaskStateMap raster_task_states_; |
- TaskDeque raster_tasks_with_pending_upload_; |
- TaskDeque completed_raster_tasks_; |
+ RasterTaskDeque raster_tasks_with_pending_upload_; |
+ RasterTaskDeque completed_raster_tasks_; |
TaskDeque completed_image_decode_tasks_; |
size_t scheduled_raster_task_count_; |