Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4122)

Unified Diff: cc/resources/pixel_buffer_raster_worker_pool.h

Issue 228173002: cc: Separate RasterWorkerPool interface from implementation details. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review feedback Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/managed_tile_state.h ('k') | cc/resources/pixel_buffer_raster_worker_pool.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 eb8fe514b9d9058d5e230c7c845702c895ea05ed..58f244266758b97be8506beb2516e229aa800106 100644
--- a/cc/resources/pixel_buffer_raster_worker_pool.h
+++ b/cc/resources/pixel_buffer_raster_worker_pool.h
@@ -11,72 +11,71 @@
#include "base/memory/weak_ptr.h"
#include "base/values.h"
#include "cc/resources/raster_worker_pool.h"
+#include "cc/resources/rasterizer.h"
namespace cc {
class ResourceProvider;
class CC_EXPORT PixelBufferRasterWorkerPool
: public RasterWorkerPool,
- public internal::WorkerPoolTaskClient {
+ public Rasterizer,
+ public internal::RasterizerTaskClient {
public:
virtual ~PixelBufferRasterWorkerPool();
- static scoped_ptr<PixelBufferRasterWorkerPool> Create(
+ static scoped_ptr<RasterWorkerPool> Create(
base::SequencedTaskRunner* task_runner,
+ internal::TaskGraphRunner* task_graph_runner,
ResourceProvider* resource_provider,
size_t max_transfer_buffer_usage_bytes);
// Overridden from RasterWorkerPool:
- virtual void SetClient(RasterWorkerPoolClient* client) OVERRIDE;
+ virtual Rasterizer* AsRasterizer() OVERRIDE;
+
+ // Overridden from Rasterizer:
+ virtual void SetClient(RasterizerClient* client) OVERRIDE;
virtual void Shutdown() OVERRIDE;
virtual void ScheduleTasks(RasterTaskQueue* queue) OVERRIDE;
virtual unsigned GetResourceTarget() const OVERRIDE;
virtual ResourceFormat GetResourceFormat() const OVERRIDE;
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;
-
- protected:
- PixelBufferRasterWorkerPool(base::SequencedTaskRunner* task_runner,
- internal::TaskGraphRunner* task_graph_runner,
- ResourceProvider* resource_provider,
- size_t max_transfer_buffer_usage_bytes);
+ // Overridden from internal::RasterizerTaskClient:
+ virtual SkCanvas* AcquireCanvasForRaster(internal::RasterTask* task) OVERRIDE;
+ virtual void ReleaseCanvasForRaster(internal::RasterTask* task) OVERRIDE;
private:
struct RasterTaskState {
class TaskComparator {
public:
- explicit TaskComparator(const internal::WorkerPoolTask* task)
- : task_(task) {}
+ explicit TaskComparator(const internal::RasterTask* task) : task_(task) {}
bool operator()(const RasterTaskState& state) const {
return state.task == task_;
}
private:
- const internal::WorkerPoolTask* task_;
+ const internal::RasterTask* task_;
};
typedef std::vector<RasterTaskState> Vector;
- RasterTaskState(internal::WorkerPoolTask* task,
- bool required_for_activation)
+ RasterTaskState(internal::RasterTask* task, bool required_for_activation)
: type(UNSCHEDULED),
task(task),
- resource(NULL),
required_for_activation(required_for_activation) {}
enum { UNSCHEDULED, SCHEDULED, UPLOADING, COMPLETED } type;
- internal::WorkerPoolTask* task;
- const Resource* resource;
+ internal::RasterTask* task;
bool required_for_activation;
};
- typedef std::deque<scoped_refptr<internal::WorkerPoolTask> > TaskDeque;
+ typedef std::deque<scoped_refptr<internal::RasterTask> > RasterTaskDeque;
+
+ PixelBufferRasterWorkerPool(base::SequencedTaskRunner* task_runner,
+ internal::TaskGraphRunner* task_graph_runner,
+ ResourceProvider* resource_provider,
+ size_t max_transfer_buffer_usage_bytes);
void OnRasterFinished();
void OnRasterRequiredForActivationFinished();
@@ -89,7 +88,7 @@ class CC_EXPORT PixelBufferRasterWorkerPool
unsigned PendingRasterTaskCount() const;
bool HasPendingTasks() const;
bool HasPendingTasksRequiredForActivation() const;
- void CheckForCompletedWorkerPoolTasks();
+ void CheckForCompletedRasterizerTasks();
const char* StateName() const;
scoped_ptr<base::Value> StateAsValue() const;
@@ -98,16 +97,16 @@ class CC_EXPORT PixelBufferRasterWorkerPool
scoped_refptr<base::SequencedTaskRunner> task_runner_;
internal::TaskGraphRunner* task_graph_runner_;
const internal::NamespaceToken namespace_token_;
- RasterWorkerPoolClient* client_;
+ RasterizerClient* client_;
ResourceProvider* resource_provider_;
bool shutdown_;
RasterTaskQueue raster_tasks_;
RasterTaskState::Vector raster_task_states_;
- TaskDeque raster_tasks_with_pending_upload_;
- internal::WorkerPoolTask::Vector completed_raster_tasks_;
- internal::WorkerPoolTask::Vector completed_image_decode_tasks_;
+ RasterTaskDeque raster_tasks_with_pending_upload_;
+ internal::RasterTask::Vector completed_raster_tasks_;
+ internal::RasterizerTask::Vector completed_image_decode_tasks_;
size_t scheduled_raster_task_count_;
size_t raster_tasks_required_for_activation_count_;
@@ -125,8 +124,8 @@ class CC_EXPORT PixelBufferRasterWorkerPool
base::WeakPtrFactory<PixelBufferRasterWorkerPool>
raster_finished_weak_ptr_factory_;
- scoped_refptr<internal::WorkerPoolTask> raster_finished_task_;
- scoped_refptr<internal::WorkerPoolTask>
+ scoped_refptr<internal::RasterizerTask> raster_finished_task_;
+ scoped_refptr<internal::RasterizerTask>
raster_required_for_activation_finished_task_;
// Task graph used when scheduling tasks and vector used to gather
« no previous file with comments | « cc/resources/managed_tile_state.h ('k') | cc/resources/pixel_buffer_raster_worker_pool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698