Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Side by Side Diff: cc/test/fake_tile_manager.cc

Issue 228173002: cc: Separate RasterWorkerPool interface from implementation details. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review feedback Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/resources/tile_manager.cc ('k') | cc/trees/layer_tree_host_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "cc/resources/raster_worker_pool.h" 11 #include "cc/resources/rasterizer.h"
12 12
13 namespace cc { 13 namespace cc {
14 14
15 namespace { 15 namespace {
16 16
17 class FakeRasterWorkerPool : public RasterWorkerPool, 17 class FakeRasterizerImpl : public Rasterizer,
18 public internal::WorkerPoolTaskClient { 18 public internal::RasterizerTaskClient {
19 public: 19 public:
20 // Overridden from RasterWorkerPool: 20 // Overridden from Rasterizer:
21 virtual void SetClient(RasterWorkerPoolClient* client) OVERRIDE {} 21 virtual void SetClient(RasterizerClient* client) OVERRIDE {}
22 virtual void Shutdown() OVERRIDE {} 22 virtual void Shutdown() OVERRIDE {}
23 virtual void ScheduleTasks(RasterTaskQueue* queue) OVERRIDE { 23 virtual void ScheduleTasks(RasterTaskQueue* queue) OVERRIDE {
24 for (RasterTaskQueue::Item::Vector::const_iterator it = 24 for (RasterTaskQueue::Item::Vector::const_iterator it =
25 queue->items.begin(); 25 queue->items.begin();
26 it != queue->items.end(); 26 it != queue->items.end();
27 ++it) { 27 ++it) {
28 internal::RasterWorkerPoolTask* task = it->task; 28 internal::RasterTask* task = it->task;
29 29
30 task->WillSchedule(); 30 task->WillSchedule();
31 task->ScheduleOnOriginThread(this); 31 task->ScheduleOnOriginThread(this);
32 task->DidSchedule(); 32 task->DidSchedule();
33 33
34 completed_tasks_.push_back(task); 34 completed_tasks_.push_back(task);
35 } 35 }
36 } 36 }
37 virtual void CheckForCompletedTasks() OVERRIDE { 37 virtual void CheckForCompletedTasks() OVERRIDE {
38 for (internal::WorkerPoolTask::Vector::iterator it = 38 for (internal::RasterTask::Vector::iterator it = completed_tasks_.begin();
39 completed_tasks_.begin();
40 it != completed_tasks_.end(); 39 it != completed_tasks_.end();
41 ++it) { 40 ++it) {
42 internal::WorkerPoolTask* task = it->get(); 41 internal::RasterTask* task = it->get();
43 42
44 task->WillComplete(); 43 task->WillComplete();
45 task->CompleteOnOriginThread(this); 44 task->CompleteOnOriginThread(this);
46 task->DidComplete(); 45 task->DidComplete();
47 46
48 task->RunReplyOnOriginThread(); 47 task->RunReplyOnOriginThread();
49 } 48 }
50 completed_tasks_.clear(); 49 completed_tasks_.clear();
51 } 50 }
52 virtual GLenum GetResourceTarget() const OVERRIDE { 51 virtual GLenum GetResourceTarget() const OVERRIDE {
53 return GL_TEXTURE_2D; 52 return GL_TEXTURE_2D;
54 } 53 }
55 virtual ResourceFormat GetResourceFormat() const OVERRIDE { 54 virtual ResourceFormat GetResourceFormat() const OVERRIDE {
56 return RGBA_8888; 55 return RGBA_8888;
57 } 56 }
58 57
59 // Overridden from internal::WorkerPoolTaskClient: 58 // Overridden from internal::RasterizerTaskClient:
60 virtual SkCanvas* AcquireCanvasForRaster(internal::WorkerPoolTask* task, 59 virtual SkCanvas* AcquireCanvasForRaster(internal::RasterTask* task)
61 const Resource* resource) OVERRIDE { 60 OVERRIDE {
62 return NULL; 61 return NULL;
63 } 62 }
64 virtual void ReleaseCanvasForRaster(internal::WorkerPoolTask* task, 63 virtual void ReleaseCanvasForRaster(internal::RasterTask* task) OVERRIDE {}
65 const Resource* resource) OVERRIDE {}
66 64
67 private: 65 private:
68 internal::WorkerPoolTask::Vector completed_tasks_; 66 internal::RasterTask::Vector completed_tasks_;
69 }; 67 };
70 base::LazyInstance<FakeRasterWorkerPool> g_fake_raster_worker_pool = 68 base::LazyInstance<FakeRasterizerImpl> g_fake_rasterizer =
71 LAZY_INSTANCE_INITIALIZER; 69 LAZY_INSTANCE_INITIALIZER;
72 70
73 } // namespace 71 } // namespace
74 72
75 FakeTileManager::FakeTileManager(TileManagerClient* client) 73 FakeTileManager::FakeTileManager(TileManagerClient* client)
76 : TileManager(client, 74 : TileManager(client,
77 NULL, 75 NULL,
78 g_fake_raster_worker_pool.Pointer(), 76 g_fake_rasterizer.Pointer(),
79 g_fake_raster_worker_pool.Pointer(), 77 g_fake_rasterizer.Pointer(),
80 std::numeric_limits<unsigned>::max(), 78 std::numeric_limits<unsigned>::max(),
81 true, 79 true,
82 NULL) {} 80 NULL) {}
83 81
84 FakeTileManager::FakeTileManager(TileManagerClient* client, 82 FakeTileManager::FakeTileManager(TileManagerClient* client,
85 ResourceProvider* resource_provider) 83 ResourceProvider* resource_provider)
86 : TileManager(client, 84 : TileManager(client,
87 resource_provider, 85 resource_provider,
88 g_fake_raster_worker_pool.Pointer(), 86 g_fake_rasterizer.Pointer(),
89 g_fake_raster_worker_pool.Pointer(), 87 g_fake_rasterizer.Pointer(),
90 std::numeric_limits<unsigned>::max(), 88 std::numeric_limits<unsigned>::max(),
91 true, 89 true,
92 NULL) {} 90 NULL) {}
93 91
94 FakeTileManager::FakeTileManager(TileManagerClient* client, 92 FakeTileManager::FakeTileManager(TileManagerClient* client,
95 ResourceProvider* resource_provider, 93 ResourceProvider* resource_provider,
96 bool allow_on_demand_raster) 94 bool allow_on_demand_raster)
97 : TileManager(client, 95 : TileManager(client,
98 resource_provider, 96 resource_provider,
99 g_fake_raster_worker_pool.Pointer(), 97 g_fake_rasterizer.Pointer(),
100 g_fake_raster_worker_pool.Pointer(), 98 g_fake_rasterizer.Pointer(),
101 std::numeric_limits<unsigned>::max(), 99 std::numeric_limits<unsigned>::max(),
102 allow_on_demand_raster, 100 allow_on_demand_raster,
103 NULL) {} 101 NULL) {}
104 102
105 FakeTileManager::FakeTileManager(TileManagerClient* client, 103 FakeTileManager::FakeTileManager(TileManagerClient* client,
106 ResourceProvider* resource_provider, 104 ResourceProvider* resource_provider,
107 size_t raster_task_limit_bytes) 105 size_t raster_task_limit_bytes)
108 : TileManager(client, 106 : TileManager(client,
109 resource_provider, 107 resource_provider,
110 g_fake_raster_worker_pool.Pointer(), 108 g_fake_rasterizer.Pointer(),
111 g_fake_raster_worker_pool.Pointer(), 109 g_fake_rasterizer.Pointer(),
112 raster_task_limit_bytes, 110 raster_task_limit_bytes,
113 true, 111 true,
114 NULL) {} 112 NULL) {}
115 113
116 FakeTileManager::~FakeTileManager() {} 114 FakeTileManager::~FakeTileManager() {}
117 115
118 void FakeTileManager::AssignMemoryToTiles( 116 void FakeTileManager::AssignMemoryToTiles(
119 const GlobalStateThatImpactsTilePriority& state) { 117 const GlobalStateThatImpactsTilePriority& state) {
120 tiles_for_raster.clear(); 118 tiles_for_raster.clear();
121 all_tiles.Clear(); 119 all_tiles.Clear();
(...skipping 12 matching lines...) Expand all
134 void FakeTileManager::DidFinishRunningTasksForTesting() { 132 void FakeTileManager::DidFinishRunningTasksForTesting() {
135 DidFinishRunningTasks(); 133 DidFinishRunningTasks();
136 } 134 }
137 135
138 void FakeTileManager::Release(Tile* tile) { 136 void FakeTileManager::Release(Tile* tile) {
139 TileManager::Release(tile); 137 TileManager::Release(tile);
140 CleanUpReleasedTiles(); 138 CleanUpReleasedTiles();
141 } 139 }
142 140
143 } // namespace cc 141 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile_manager.cc ('k') | cc/trees/layer_tree_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698