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

Side by Side Diff: cc/tiles/image_manager.cc

Issue 2541183002: cc: Rename ImageDecodeController to ImageDecodeCache. (Closed)
Patch Set: rename: update Created 4 years 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
« no previous file with comments | « cc/tiles/image_manager.h ('k') | cc/tiles/image_manager_unittest.cc » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/tiles/image_manager.h" 5 #include "cc/tiles/image_manager.h"
6 6
7 namespace cc { 7 namespace cc {
8 8
9 ImageManager::ImageManager() = default; 9 ImageManager::ImageManager() = default;
10 ImageManager::~ImageManager() = default; 10 ImageManager::~ImageManager() = default;
11 11
12 void ImageManager::SetImageDecodeController(ImageDecodeController* controller) { 12 void ImageManager::SetImageDecodeCache(ImageDecodeCache* cache) {
13 // We can only switch from null to non-null and back. 13 // We can only switch from null to non-null and back.
14 // CHECK to debug crbug.com/650234. 14 // CHECK to debug crbug.com/650234.
15 CHECK(controller || controller_); 15 CHECK(cache || cache_);
16 CHECK(!controller || !controller_); 16 CHECK(!cache || !cache_);
17 17
18 if (!controller) { 18 if (!cache) {
19 SetPredecodeImages(std::vector<DrawImage>(), 19 SetPredecodeImages(std::vector<DrawImage>(),
20 ImageDecodeController::TracingInfo()); 20 ImageDecodeCache::TracingInfo());
21 } 21 }
22 controller_ = controller; 22 cache_ = cache;
23 // Debugging information for crbug.com/650234. 23 // Debugging information for crbug.com/650234.
24 ++num_times_controller_was_set_; 24 ++num_times_cache_was_set_;
25 } 25 }
26 26
27 void ImageManager::GetTasksForImagesAndRef( 27 void ImageManager::GetTasksForImagesAndRef(
28 std::vector<DrawImage>* images, 28 std::vector<DrawImage>* images,
29 std::vector<scoped_refptr<TileTask>>* tasks, 29 std::vector<scoped_refptr<TileTask>>* tasks,
30 const ImageDecodeController::TracingInfo& tracing_info) { 30 const ImageDecodeCache::TracingInfo& tracing_info) {
31 DCHECK(controller_); 31 DCHECK(cache_);
32 for (auto it = images->begin(); it != images->end();) { 32 for (auto it = images->begin(); it != images->end();) {
33 scoped_refptr<TileTask> task; 33 scoped_refptr<TileTask> task;
34 bool need_to_unref_when_finished = 34 bool need_to_unref_when_finished =
35 controller_->GetTaskForImageAndRef(*it, tracing_info, &task); 35 cache_->GetTaskForImageAndRef(*it, tracing_info, &task);
36 if (task) 36 if (task)
37 tasks->push_back(std::move(task)); 37 tasks->push_back(std::move(task));
38 38
39 if (need_to_unref_when_finished) 39 if (need_to_unref_when_finished)
40 ++it; 40 ++it;
41 else 41 else
42 it = images->erase(it); 42 it = images->erase(it);
43 } 43 }
44 } 44 }
45 45
46 void ImageManager::UnrefImages(const std::vector<DrawImage>& images) { 46 void ImageManager::UnrefImages(const std::vector<DrawImage>& images) {
47 // Debugging information for crbug.com/650234. 47 // Debugging information for crbug.com/650234.
48 CHECK(controller_) << num_times_controller_was_set_; 48 CHECK(cache_) << num_times_cache_was_set_;
49 for (auto image : images) 49 for (auto image : images)
50 controller_->UnrefImage(image); 50 cache_->UnrefImage(image);
51 } 51 }
52 52
53 void ImageManager::ReduceMemoryUsage() { 53 void ImageManager::ReduceMemoryUsage() {
54 DCHECK(controller_); 54 DCHECK(cache_);
55 controller_->ReduceCacheUsage(); 55 cache_->ReduceCacheUsage();
56 } 56 }
57 57
58 std::vector<scoped_refptr<TileTask>> ImageManager::SetPredecodeImages( 58 std::vector<scoped_refptr<TileTask>> ImageManager::SetPredecodeImages(
59 std::vector<DrawImage> images, 59 std::vector<DrawImage> images,
60 const ImageDecodeController::TracingInfo& tracing_info) { 60 const ImageDecodeCache::TracingInfo& tracing_info) {
61 std::vector<scoped_refptr<TileTask>> new_tasks; 61 std::vector<scoped_refptr<TileTask>> new_tasks;
62 GetTasksForImagesAndRef(&images, &new_tasks, tracing_info); 62 GetTasksForImagesAndRef(&images, &new_tasks, tracing_info);
63 UnrefImages(predecode_locked_images_); 63 UnrefImages(predecode_locked_images_);
64 predecode_locked_images_ = std::move(images); 64 predecode_locked_images_ = std::move(images);
65 return new_tasks; 65 return new_tasks;
66 } 66 }
67 67
68 } // namespace cc 68 } // namespace cc
OLDNEW
« no previous file with comments | « cc/tiles/image_manager.h ('k') | cc/tiles/image_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698