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> | 7 #include <deque> |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "cc/resources/raster_worker_pool.h" | 10 #include "cc/resources/raster_worker_pool.h" |
11 | 11 |
12 namespace cc { | 12 namespace cc { |
13 | 13 |
14 namespace { | 14 namespace { |
15 | 15 |
16 class FakeRasterWorkerPool : public RasterWorkerPool { | 16 class FakeRasterWorkerPool : public RasterWorkerPool { |
17 public: | 17 public: |
18 FakeRasterWorkerPool() : RasterWorkerPool(NULL, NULL) {} | 18 FakeRasterWorkerPool() : RasterWorkerPool(NULL, NULL) {} |
19 | 19 |
20 // Overridden from RasterWorkerPool: | 20 // Overridden from RasterWorkerPool: |
21 virtual void ScheduleTasks(RasterTaskQueue* queue) OVERRIDE { | 21 virtual void ScheduleTasks(RasterTaskQueue* queue) OVERRIDE { |
22 for (RasterTaskQueue::Item::Vector::const_iterator it = | 22 for (RasterTaskQueue::Item::Vector::const_iterator it = |
23 queue->items.begin(); | 23 queue->items.begin(); |
24 it != queue->items.end(); | 24 it != queue->items.end(); |
25 ++it) { | 25 ++it) { |
26 internal::RasterWorkerPoolTask* task = it->task; | 26 internal::RasterWorkerPoolTask* task = it->task; |
27 | 27 |
28 task->WillSchedule(); | |
29 task->ScheduleOnOriginThread(this); | |
30 task->DidSchedule(); | 28 task->DidSchedule(); |
31 | 29 |
32 completed_tasks_.push_back(task); | 30 completed_tasks_.push_back(task); |
33 } | 31 } |
34 } | 32 } |
35 virtual void CheckForCompletedTasks() OVERRIDE { | 33 virtual void CheckForCompletedTasks() OVERRIDE { |
36 while (!completed_tasks_.empty()) { | 34 while (!completed_tasks_.empty()) { |
37 internal::WorkerPoolTask* task = completed_tasks_.front().get(); | 35 internal::WorkerPoolTask* task = completed_tasks_.front().get(); |
38 | 36 |
39 task->WillComplete(); | 37 task->WillComplete(); |
40 task->CompleteOnOriginThread(this); | |
41 task->DidComplete(); | 38 task->DidComplete(); |
42 | |
43 task->RunReplyOnOriginThread(); | 39 task->RunReplyOnOriginThread(); |
44 | 40 |
45 completed_tasks_.pop_front(); | 41 completed_tasks_.pop_front(); |
46 } | 42 } |
47 } | 43 } |
48 virtual GLenum GetResourceTarget() const OVERRIDE { | 44 virtual GLenum GetResourceTarget() const OVERRIDE { |
49 return GL_TEXTURE_2D; | 45 return GL_TEXTURE_2D; |
50 } | 46 } |
51 virtual ResourceFormat GetResourceFormat() const OVERRIDE { | 47 virtual ResourceFormat GetResourceFormat() const OVERRIDE { |
52 return RGBA_8888; | 48 return RGBA_8888; |
53 } | 49 } |
54 | 50 |
55 // Overridden from internal::WorkerPoolTaskClient: | 51 // Overridden from internal::WorkerPoolTaskClient: |
56 virtual SkCanvas* AcquireCanvasForRaster(internal::WorkerPoolTask* task, | 52 virtual SkCanvas* AcquireCanvasForRaster(internal::RasterWorkerPoolTask* task) |
57 const Resource* resource) OVERRIDE { | 53 OVERRIDE { |
58 return NULL; | 54 return NULL; |
59 } | 55 } |
60 virtual void ReleaseCanvasForRaster(internal::WorkerPoolTask* task, | 56 virtual void OnRasterCompleted(internal::RasterWorkerPoolTask* task, |
61 const Resource* resource) OVERRIDE {} | 57 const PicturePileImpl::Analysis& analysis) |
| 58 OVERRIDE {} |
| 59 virtual void OnImageDecodeCompleted(internal::WorkerPoolTask* task) OVERRIDE { |
| 60 } |
62 | 61 |
63 private: | 62 private: |
64 // Overridden from RasterWorkerPool: | 63 // Overridden from RasterWorkerPool: |
65 virtual void OnRasterTasksFinished() OVERRIDE {} | 64 virtual void OnRasterTasksFinished() OVERRIDE {} |
66 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {} | 65 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {} |
67 | 66 |
68 TaskDeque completed_tasks_; | 67 TaskDeque completed_tasks_; |
69 }; | 68 }; |
70 | 69 |
71 } // namespace | 70 } // namespace |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 void FakeTileManager::DidFinishRunningTasksForTesting() { | 135 void FakeTileManager::DidFinishRunningTasksForTesting() { |
137 DidFinishRunningTasks(); | 136 DidFinishRunningTasks(); |
138 } | 137 } |
139 | 138 |
140 void FakeTileManager::Release(Tile* tile) { | 139 void FakeTileManager::Release(Tile* tile) { |
141 TileManager::Release(tile); | 140 TileManager::Release(tile); |
142 CleanUpReleasedTiles(); | 141 CleanUpReleasedTiles(); |
143 } | 142 } |
144 | 143 |
145 } // namespace cc | 144 } // namespace cc |
OLD | NEW |