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

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

Issue 23231002: cc: Prevent the tile manager from allocating more memory than allowed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 4 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_unittest.cc ('k') | no next file » | 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>
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
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
OLDNEW
« no previous file with comments | « cc/resources/tile_manager_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698