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); |
28 task->DidSchedule(); | 30 task->DidSchedule(); |
29 | 31 |
30 completed_tasks_.push_back(task); | 32 completed_tasks_.push_back(task); |
31 } | 33 } |
32 } | 34 } |
33 virtual void CheckForCompletedTasks() OVERRIDE { | 35 virtual void CheckForCompletedTasks() OVERRIDE { |
34 while (!completed_tasks_.empty()) { | 36 while (!completed_tasks_.empty()) { |
35 internal::WorkerPoolTask* task = completed_tasks_.front().get(); | 37 internal::WorkerPoolTask* task = completed_tasks_.front().get(); |
36 | 38 |
37 task->WillComplete(); | 39 task->WillComplete(); |
| 40 task->CompleteOnOriginThread(this); |
38 task->DidComplete(); | 41 task->DidComplete(); |
| 42 |
39 task->RunReplyOnOriginThread(); | 43 task->RunReplyOnOriginThread(); |
40 | 44 |
41 completed_tasks_.pop_front(); | 45 completed_tasks_.pop_front(); |
42 } | 46 } |
43 } | 47 } |
44 virtual GLenum GetResourceTarget() const OVERRIDE { | 48 virtual GLenum GetResourceTarget() const OVERRIDE { |
45 return GL_TEXTURE_2D; | 49 return GL_TEXTURE_2D; |
46 } | 50 } |
47 virtual ResourceFormat GetResourceFormat() const OVERRIDE { | 51 virtual ResourceFormat GetResourceFormat() const OVERRIDE { |
48 return RGBA_8888; | 52 return RGBA_8888; |
49 } | 53 } |
50 | 54 |
51 // Overridden from internal::WorkerPoolTaskClient: | 55 // Overridden from internal::WorkerPoolTaskClient: |
52 virtual SkCanvas* AcquireCanvasForRaster(internal::RasterWorkerPoolTask* task) | 56 virtual SkCanvas* AcquireCanvasForRaster(internal::WorkerPoolTask* task, |
53 OVERRIDE { | 57 const Resource* resource) OVERRIDE { |
54 return NULL; | 58 return NULL; |
55 } | 59 } |
56 virtual void OnRasterCompleted(internal::RasterWorkerPoolTask* task, | 60 virtual void ReleaseCanvasForRaster(internal::WorkerPoolTask* task, |
57 const PicturePileImpl::Analysis& analysis) | 61 const Resource* resource) OVERRIDE {} |
58 OVERRIDE {} | |
59 virtual void OnImageDecodeCompleted(internal::WorkerPoolTask* task) OVERRIDE { | |
60 } | |
61 | 62 |
62 private: | 63 private: |
63 // Overridden from RasterWorkerPool: | 64 // Overridden from RasterWorkerPool: |
64 virtual void OnRasterTasksFinished() OVERRIDE {} | 65 virtual void OnRasterTasksFinished() OVERRIDE {} |
65 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {} | 66 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {} |
66 | 67 |
67 TaskDeque completed_tasks_; | 68 TaskDeque completed_tasks_; |
68 }; | 69 }; |
69 | 70 |
70 } // namespace | 71 } // namespace |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 void FakeTileManager::DidFinishRunningTasksForTesting() { | 136 void FakeTileManager::DidFinishRunningTasksForTesting() { |
136 DidFinishRunningTasks(); | 137 DidFinishRunningTasks(); |
137 } | 138 } |
138 | 139 |
139 void FakeTileManager::Release(Tile* tile) { | 140 void FakeTileManager::Release(Tile* tile) { |
140 TileManager::Release(tile); | 141 TileManager::Release(tile); |
141 CleanUpReleasedTiles(); | 142 CleanUpReleasedTiles(); |
142 } | 143 } |
143 | 144 |
144 } // namespace cc | 145 } // namespace cc |
OLD | NEW |