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

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

Issue 2844273004: cc: Make images that can't possibly fit in cache not checker. (Closed)
Patch Set: tests Created 3 years, 7 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
« no previous file with comments | « cc/tiles/image_controller.h ('k') | cc/tiles/image_controller_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_controller.h" 5 #include "cc/tiles/image_controller.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/task_scheduler/post_task.h" 8 #include "base/task_scheduler/post_task.h"
9 #include "base/task_scheduler/task_traits.h" 9 #include "base/task_scheduler/task_traits.h"
10 #include "base/threading/thread_restrictions.h" 10 #include "base/threading/thread_restrictions.h"
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 image_decode_queue_.clear(); 120 image_decode_queue_.clear();
121 } 121 }
122 122
123 void ImageController::SetImageDecodeCache(ImageDecodeCache* cache) { 123 void ImageController::SetImageDecodeCache(ImageDecodeCache* cache) {
124 DCHECK(!cache_ || !cache); 124 DCHECK(!cache_ || !cache);
125 125
126 if (!cache) { 126 if (!cache) {
127 SetPredecodeImages(std::vector<DrawImage>(), 127 SetPredecodeImages(std::vector<DrawImage>(),
128 ImageDecodeCache::TracingInfo()); 128 ImageDecodeCache::TracingInfo());
129 StopWorkerTasks(); 129 StopWorkerTasks();
130 image_cache_max_limit_bytes_ = 0u;
130 } 131 }
131 132
132 cache_ = cache; 133 cache_ = cache;
133 134
134 if (cache_) 135 if (cache_) {
136 image_cache_max_limit_bytes_ = cache_->GetMaximumMemoryLimitBytes();
135 GenerateTasksForOrphanedRequests(); 137 GenerateTasksForOrphanedRequests();
138 }
136 } 139 }
137 140
138 void ImageController::GetTasksForImagesAndRef( 141 void ImageController::GetTasksForImagesAndRef(
139 std::vector<DrawImage>* images, 142 std::vector<DrawImage>* images,
140 std::vector<scoped_refptr<TileTask>>* tasks, 143 std::vector<scoped_refptr<TileTask>>* tasks,
141 const ImageDecodeCache::TracingInfo& tracing_info) { 144 const ImageDecodeCache::TracingInfo& tracing_info) {
142 DCHECK(cache_); 145 DCHECK(cache_);
143 for (auto it = images->begin(); it != images->end();) { 146 for (auto it = images->begin(); it != images->end();) {
144 scoped_refptr<TileTask> task; 147 scoped_refptr<TileTask> task;
145 bool need_to_unref_when_finished = 148 bool need_to_unref_when_finished =
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 ImageController::ImageDecodeRequest::ImageDecodeRequest( 374 ImageController::ImageDecodeRequest::ImageDecodeRequest(
372 const ImageDecodeRequest& other) = default; 375 const ImageDecodeRequest& other) = default;
373 ImageController::ImageDecodeRequest::~ImageDecodeRequest() = default; 376 ImageController::ImageDecodeRequest::~ImageDecodeRequest() = default;
374 377
375 ImageController::ImageDecodeRequest& ImageController::ImageDecodeRequest:: 378 ImageController::ImageDecodeRequest& ImageController::ImageDecodeRequest::
376 operator=(ImageDecodeRequest&& other) = default; 379 operator=(ImageDecodeRequest&& other) = default;
377 ImageController::ImageDecodeRequest& ImageController::ImageDecodeRequest:: 380 ImageController::ImageDecodeRequest& ImageController::ImageDecodeRequest::
378 operator=(const ImageDecodeRequest& other) = default; 381 operator=(const ImageDecodeRequest& other) = default;
379 382
380 } // namespace cc 383 } // namespace cc
OLDNEW
« no previous file with comments | « cc/tiles/image_controller.h ('k') | cc/tiles/image_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698