OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/test/fake_tile_manager.h" | 5 #include "cc/test/fake_tile_manager.h" |
6 | 6 |
| 7 #include <deque> |
| 8 |
7 #include "cc/resources/raster_worker_pool.h" | 9 #include "cc/resources/raster_worker_pool.h" |
8 | 10 |
9 namespace cc { | 11 namespace cc { |
10 | 12 |
11 namespace { | 13 namespace { |
12 | 14 |
13 class FakeRasterWorkerPool : public RasterWorkerPool { | 15 class FakeRasterWorkerPool : public RasterWorkerPool { |
14 public: | 16 public: |
15 FakeRasterWorkerPool() : RasterWorkerPool(NULL, 1) {} | 17 FakeRasterWorkerPool() : RasterWorkerPool(NULL, 1) {} |
16 | 18 |
17 virtual void ScheduleTasks(RasterTask::Queue* queue) OVERRIDE {} | 19 virtual void ScheduleTasks(RasterTask::Queue* queue) OVERRIDE { |
| 20 RasterWorkerPool::SetRasterTasks(queue); |
| 21 for (RasterTaskVector::const_iterator it = raster_tasks().begin(); |
| 22 it != raster_tasks().end(); ++it) { |
| 23 completed_tasks_.push_back(it->get()); |
| 24 } |
| 25 } |
| 26 virtual void CheckForCompletedTasks() OVERRIDE { |
| 27 while (!completed_tasks_.empty()) { |
| 28 internal::RasterWorkerPoolTask* task = completed_tasks_.front().get(); |
| 29 task->WillComplete(); |
| 30 task->CompleteOnOriginThread(); |
| 31 task->DidComplete(); |
| 32 completed_tasks_.pop_front(); |
| 33 } |
| 34 } |
18 virtual void OnRasterTasksFinished() OVERRIDE {} | 35 virtual void OnRasterTasksFinished() OVERRIDE {} |
19 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {} | 36 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {} |
| 37 |
| 38 private: |
| 39 typedef std::deque<scoped_refptr<internal::RasterWorkerPoolTask> > TaskDeque; |
| 40 TaskDeque completed_tasks_; |
20 }; | 41 }; |
21 | 42 |
22 } // namespace | 43 } // namespace |
23 | 44 |
24 FakeTileManager::FakeTileManager(TileManagerClient* client) | 45 FakeTileManager::FakeTileManager(TileManagerClient* client) |
25 : TileManager(client, | 46 : TileManager(client, |
26 NULL, | 47 NULL, |
27 make_scoped_ptr<RasterWorkerPool>(new FakeRasterWorkerPool), | 48 make_scoped_ptr<RasterWorkerPool>(new FakeRasterWorkerPool), |
28 1, | 49 1, |
29 NULL, | 50 NULL, |
(...skipping 18 matching lines...) Expand all Loading... |
48 AssignGpuMemoryToTiles(&all_tiles, &tiles_for_raster); | 69 AssignGpuMemoryToTiles(&all_tiles, &tiles_for_raster); |
49 } | 70 } |
50 | 71 |
51 bool FakeTileManager::HasBeenAssignedMemory(Tile* tile) { | 72 bool FakeTileManager::HasBeenAssignedMemory(Tile* tile) { |
52 return std::find(tiles_for_raster.begin(), | 73 return std::find(tiles_for_raster.begin(), |
53 tiles_for_raster.end(), | 74 tiles_for_raster.end(), |
54 tile) != tiles_for_raster.end(); | 75 tile) != tiles_for_raster.end(); |
55 } | 76 } |
56 | 77 |
57 } // namespace cc | 78 } // namespace cc |
OLD | NEW |