Index: cc/raster/tile_task_worker_pool_unittest.cc |
diff --git a/cc/raster/tile_task_worker_pool_unittest.cc b/cc/raster/tile_task_worker_pool_unittest.cc |
index f7613856351ab366ca22483de47a74c169122694..bb9d67c1fda823ec92f645bc2855a7b4bb7579b3 100644 |
--- a/cc/raster/tile_task_worker_pool_unittest.cc |
+++ b/cc/raster/tile_task_worker_pool_unittest.cc |
@@ -21,7 +21,6 @@ |
#include "cc/raster/gpu_rasterizer.h" |
#include "cc/raster/gpu_tile_task_worker_pool.h" |
#include "cc/raster/one_copy_tile_task_worker_pool.h" |
-#include "cc/raster/raster_buffer.h" |
#include "cc/raster/synchronous_task_graph_runner.h" |
#include "cc/raster/tile_task_runner.h" |
#include "cc/raster/zero_copy_tile_task_worker_pool.h" |
@@ -51,19 +50,29 @@ enum TileTaskWorkerPoolType { |
TILE_TASK_WORKER_POOL_TYPE_BITMAP |
}; |
-class TestRasterTaskImpl : public RasterTask { |
+class TestRasterTaskImpl : public Task { |
public: |
typedef base::Callback<void(bool was_canceled)> Reply; |
- TestRasterTaskImpl(const Resource* resource, |
- const Reply& reply, |
- ImageDecodeTask::Vector* dependencies) |
- : RasterTask(dependencies), |
+ TestRasterTaskImpl(RasterBufferProvider* raster_buffer_provider, |
+ const Resource* resource, |
+ const Reply& reply) |
+ : raster_buffer_provider_(raster_buffer_provider), |
resource_(resource), |
reply_(reply), |
raster_source_(FakeRasterSource::CreateFilled(gfx::Size(1, 1))) {} |
// Overridden from Task: |
+ void ScheduleOnOriginThread() override { |
+ // The raster buffer has no tile ids associated with it for partial update, |
+ // so doesn't need to provide a valid dirty rect. |
+ raster_buffer_ = |
+ raster_buffer_provider_->AcquireBufferForRaster(resource_, 0, 0); |
+ } |
+ void CompleteOnOriginThread() override { |
+ raster_buffer_provider_->ReleaseBufferForRaster(std::move(raster_buffer_)); |
+ reply_.Run(!HasFinishedRunning()); |
+ } |
void RunOnWorkerThread() override { |
uint64_t new_content_id = 0; |
raster_buffer_->Playback(raster_source_.get(), gfx::Rect(1, 1), |
@@ -71,21 +80,11 @@ class TestRasterTaskImpl : public RasterTask { |
RasterSource::PlaybackSettings()); |
} |
- // Overridden from TileTask: |
- void ScheduleOnOriginThread(TileTaskClient* client) override { |
- // The raster buffer has no tile ids associated with it for partial update, |
- // so doesn't need to provide a valid dirty rect. |
- raster_buffer_ = client->AcquireBufferForRaster(resource_, 0, 0); |
- } |
- void CompleteOnOriginThread(TileTaskClient* client) override { |
- client->ReleaseBufferForRaster(std::move(raster_buffer_)); |
- reply_.Run(!HasFinishedRunning()); |
- } |
- |
protected: |
~TestRasterTaskImpl() override {} |
private: |
+ RasterBufferProvider* raster_buffer_provider_; |
const Resource* resource_; |
const Reply reply_; |
scoped_ptr<RasterBuffer> raster_buffer_; |
@@ -96,11 +95,12 @@ class TestRasterTaskImpl : public RasterTask { |
class BlockingTestRasterTaskImpl : public TestRasterTaskImpl { |
public: |
- BlockingTestRasterTaskImpl(const Resource* resource, |
+ BlockingTestRasterTaskImpl(RasterBufferProvider* raster_buffer_provider, |
+ const Resource* resource, |
const Reply& reply, |
- base::Lock* lock, |
- ImageDecodeTask::Vector* dependencies) |
- : TestRasterTaskImpl(resource, reply, dependencies), lock_(lock) {} |
+ base::Lock* lock) |
+ : TestRasterTaskImpl(raster_buffer_provider, resource, reply), |
+ lock_(lock) {} |
// Overridden from Task: |
void RunOnWorkerThread() override { |
@@ -125,7 +125,7 @@ class TileTaskWorkerPoolTest |
bool canceled; |
}; |
- typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector; |
+ typedef std::vector<scoped_refptr<Task>> RasterTaskVector; |
enum NamedTaskSet { REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW, ALL }; |
@@ -210,12 +210,10 @@ class TileTaskWorkerPoolTest |
RGBA_8888); |
const Resource* const_resource = resource.get(); |
- ImageDecodeTask::Vector empty; |
tasks_.push_back(new TestRasterTaskImpl( |
- const_resource, |
+ tile_task_worker_pool_->AsTileTaskRunner(), const_resource, |
base::Bind(&TileTaskWorkerPoolTest::OnTaskCompleted, |
- base::Unretained(this), base::Passed(&resource), id), |
- &empty)); |
+ base::Unretained(this), base::Passed(&resource), id))); |
} |
void AppendTask(unsigned id) { AppendTask(id, gfx::Size(1, 1)); } |
@@ -229,12 +227,11 @@ class TileTaskWorkerPoolTest |
RGBA_8888); |
const Resource* const_resource = resource.get(); |
- ImageDecodeTask::Vector empty; |
tasks_.push_back(new BlockingTestRasterTaskImpl( |
- const_resource, |
+ tile_task_worker_pool_->AsTileTaskRunner(), const_resource, |
base::Bind(&TileTaskWorkerPoolTest::OnTaskCompleted, |
base::Unretained(this), base::Passed(&resource), id), |
- lock, &empty)); |
+ lock)); |
} |
const std::vector<RasterTaskResult>& completed_tasks() const { |