Index: cc/test/fake_tile_manager.cc |
diff --git a/cc/test/fake_tile_manager.cc b/cc/test/fake_tile_manager.cc |
index 907e0fadf130ce718f1638c8395f4b69cea3cdd6..db6108f2edbe0efee936a803c824d9b8cb6a1473 100644 |
--- a/cc/test/fake_tile_manager.cc |
+++ b/cc/test/fake_tile_manager.cc |
@@ -7,10 +7,32 @@ |
#include <deque> |
#include <limits> |
+#include "cc/resources/gpu_rasterizer.h" |
#include "cc/resources/raster_worker_pool.h" |
namespace cc { |
+class FakeGpuRasterizer : public GpuRasterizer { |
+ public: |
+ FakeGpuRasterizer() |
+ : GpuRasterizer(NULL, NULL), completed_tiles_(0) {} |
+ virtual ~FakeGpuRasterizer() {} |
+ |
+ virtual void Rasterize( |
+ const Queue& queue, |
+ RenderingStatsInstrumentation* rendering_stats_instrumentation) OVERRIDE { |
+ for (RasterTaskVector::const_iterator it = queue.raster_tasks_.begin(); |
+ it != queue.raster_tasks_.end(); ++it) { |
+ RasterTask* task = *it; |
+ Tile* tile = task->tile_; |
+ client_->OnGpuRasterTaskCompleted(tile, task->resource_.Pass()); |
+ completed_tiles_++; |
+ } |
+ } |
+ |
+ int completed_tiles_; |
+}; |
+ |
namespace { |
class FakeRasterWorkerPool : public RasterWorkerPool { |
@@ -52,6 +74,7 @@ class FakeRasterWorkerPool : public RasterWorkerPool { |
FakeTileManager::FakeTileManager(TileManagerClient* client) |
: TileManager(client, |
NULL, |
+ make_scoped_ptr<GpuRasterizer>(new FakeGpuRasterizer), |
make_scoped_ptr<RasterWorkerPool>(new FakeRasterWorkerPool), |
1, |
std::numeric_limits<unsigned>::max(), |
@@ -62,6 +85,7 @@ FakeTileManager::FakeTileManager(TileManagerClient* client, |
ResourceProvider* resource_provider) |
: TileManager(client, |
resource_provider, |
+ make_scoped_ptr<GpuRasterizer>(new FakeGpuRasterizer), |
make_scoped_ptr<RasterWorkerPool>(new FakeRasterWorkerPool), |
1, |
std::numeric_limits<unsigned>::max(), |
@@ -73,6 +97,7 @@ FakeTileManager::FakeTileManager(TileManagerClient* client, |
size_t raster_task_limit_bytes) |
: TileManager(client, |
resource_provider, |
+ make_scoped_ptr<GpuRasterizer>(new FakeGpuRasterizer), |
make_scoped_ptr<RasterWorkerPool>(new FakeRasterWorkerPool), |
1, |
raster_task_limit_bytes, |
@@ -114,4 +139,10 @@ void FakeTileManager::Release(TileBundle* bundle) { |
in_bundle_cleanup_ = false; |
} |
+int FakeTileManager::CompletedGpuRasterizedTiles() { |
+ FakeGpuRasterizer* gpu_rasterizer = |
+ static_cast<FakeGpuRasterizer*>(GetGpuRasterizerForTest()); |
+ return gpu_rasterizer->completed_tiles_; |
+} |
+ |
} // namespace cc |