| 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..443b8cd0bbb43f4c9870b54256e9f8100a1409bd 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,31 @@ enum TileTaskWorkerPoolType {
|
| TILE_TASK_WORKER_POOL_TYPE_BITMAP
|
| };
|
|
|
| -class TestRasterTaskImpl : public RasterTask {
|
| +class TestRasterTaskImpl : public DependencyTask {
|
| public:
|
| typedef base::Callback<void(bool was_canceled)> Reply;
|
|
|
| - TestRasterTaskImpl(const Resource* resource,
|
| + TestRasterTaskImpl(RasterBufferProvider* raster_buffer_provider,
|
| + const Resource* resource,
|
| const Reply& reply,
|
| - ImageDecodeTask::Vector* dependencies)
|
| - : RasterTask(dependencies),
|
| + DependencyTask::Vector* dependencies)
|
| + : DependencyTask(dependencies),
|
| + raster_buffer_provider_(raster_buffer_provider),
|
| resource_(resource),
|
| reply_(reply),
|
| raster_source_(FakeRasterSource::CreateFilled(gfx::Size(1, 1))) {}
|
|
|
| - // Overridden from Task:
|
| + // Overridden from DependencyTask:
|
| + 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 +82,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,13 +97,18 @@ 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) {}
|
| -
|
| - // Overridden from Task:
|
| + DependencyTask::Vector* dependencies)
|
| + : TestRasterTaskImpl(raster_buffer_provider,
|
| + resource,
|
| + reply,
|
| + dependencies),
|
| + lock_(lock) {}
|
| +
|
| + // Overridden from DependencyTask:
|
| void RunOnWorkerThread() override {
|
| base::AutoLock lock(*lock_);
|
| TestRasterTaskImpl::RunOnWorkerThread();
|
| @@ -125,7 +131,7 @@ class TileTaskWorkerPoolTest
|
| bool canceled;
|
| };
|
|
|
| - typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector;
|
| + typedef std::vector<scoped_refptr<DependencyTask>> RasterTaskVector;
|
|
|
| enum NamedTaskSet { REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW, ALL };
|
|
|
| @@ -210,9 +216,9 @@ class TileTaskWorkerPoolTest
|
| RGBA_8888);
|
| const Resource* const_resource = resource.get();
|
|
|
| - ImageDecodeTask::Vector empty;
|
| + DependencyTask::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));
|
| @@ -229,9 +235,9 @@ class TileTaskWorkerPoolTest
|
| RGBA_8888);
|
| const Resource* const_resource = resource.get();
|
|
|
| - ImageDecodeTask::Vector empty;
|
| + DependencyTask::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));
|
|
|