Index: cc/tiles/software_image_decode_cache.cc |
diff --git a/cc/tiles/software_image_decode_controller.cc b/cc/tiles/software_image_decode_cache.cc |
similarity index 85% |
rename from cc/tiles/software_image_decode_controller.cc |
rename to cc/tiles/software_image_decode_cache.cc |
index 1277ed57e7dc3cb6072db4063be20c0601f6a0f5..bb2a8d0c1370947ee6b97e866181a5b2ae6a76f2 100644 |
--- a/cc/tiles/software_image_decode_controller.cc |
+++ b/cc/tiles/software_image_decode_cache.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "cc/tiles/software_image_decode_controller.h" |
+#include "cc/tiles/software_image_decode_cache.h" |
#include <inttypes.h> |
#include <stdint.h> |
@@ -57,46 +57,46 @@ const float kMemoryRatioToSubrect = 0.5f; |
class AutoRemoveKeyFromTaskMap { |
public: |
AutoRemoveKeyFromTaskMap( |
- std::unordered_map<SoftwareImageDecodeController::ImageKey, |
+ std::unordered_map<SoftwareImageDecodeCache::ImageKey, |
scoped_refptr<TileTask>, |
- SoftwareImageDecodeController::ImageKeyHash>* task_map, |
- const SoftwareImageDecodeController::ImageKey& key) |
+ SoftwareImageDecodeCache::ImageKeyHash>* task_map, |
+ const SoftwareImageDecodeCache::ImageKey& key) |
: task_map_(task_map), key_(key) {} |
~AutoRemoveKeyFromTaskMap() { task_map_->erase(key_); } |
private: |
- std::unordered_map<SoftwareImageDecodeController::ImageKey, |
+ std::unordered_map<SoftwareImageDecodeCache::ImageKey, |
scoped_refptr<TileTask>, |
- SoftwareImageDecodeController::ImageKeyHash>* task_map_; |
- const SoftwareImageDecodeController::ImageKey& key_; |
+ SoftwareImageDecodeCache::ImageKeyHash>* task_map_; |
+ const SoftwareImageDecodeCache::ImageKey& key_; |
}; |
class AutoDrawWithImageFinished { |
public: |
- AutoDrawWithImageFinished(SoftwareImageDecodeController* controller, |
+ AutoDrawWithImageFinished(SoftwareImageDecodeCache* cache, |
const DrawImage& draw_image, |
const DecodedDrawImage& decoded_draw_image) |
- : controller_(controller), |
+ : cache_(cache), |
draw_image_(draw_image), |
decoded_draw_image_(decoded_draw_image) {} |
~AutoDrawWithImageFinished() { |
- controller_->DrawWithImageFinished(draw_image_, decoded_draw_image_); |
+ cache_->DrawWithImageFinished(draw_image_, decoded_draw_image_); |
} |
private: |
- SoftwareImageDecodeController* controller_; |
+ SoftwareImageDecodeCache* cache_; |
const DrawImage& draw_image_; |
const DecodedDrawImage& decoded_draw_image_; |
}; |
class ImageDecodeTaskImpl : public TileTask { |
public: |
- ImageDecodeTaskImpl(SoftwareImageDecodeController* controller, |
- const SoftwareImageDecodeController::ImageKey& image_key, |
+ ImageDecodeTaskImpl(SoftwareImageDecodeCache* cache, |
+ const SoftwareImageDecodeCache::ImageKey& image_key, |
const DrawImage& image, |
- const ImageDecodeController::TracingInfo& tracing_info) |
+ const ImageDecodeCache::TracingInfo& tracing_info) |
: TileTask(true), |
- controller_(controller), |
+ cache_(cache), |
image_key_(image_key), |
image_(image), |
tracing_info_(tracing_info) {} |
@@ -109,27 +109,25 @@ class ImageDecodeTaskImpl : public TileTask { |
devtools_instrumentation::ScopedImageDecodeTask image_decode_task( |
image_.image().get(), |
devtools_instrumentation::ScopedImageDecodeTask::SOFTWARE); |
- controller_->DecodeImage(image_key_, image_); |
+ cache_->DecodeImage(image_key_, image_); |
} |
// Overridden from TileTask: |
- void OnTaskCompleted() override { |
- controller_->RemovePendingTask(image_key_); |
- } |
+ void OnTaskCompleted() override { cache_->RemovePendingTask(image_key_); } |
protected: |
~ImageDecodeTaskImpl() override {} |
private: |
- SoftwareImageDecodeController* controller_; |
- SoftwareImageDecodeController::ImageKey image_key_; |
+ SoftwareImageDecodeCache* cache_; |
+ SoftwareImageDecodeCache::ImageKey image_key_; |
DrawImage image_; |
- const ImageDecodeController::TracingInfo tracing_info_; |
+ const ImageDecodeCache::TracingInfo tracing_info_; |
DISALLOW_COPY_AND_ASSIGN(ImageDecodeTaskImpl); |
}; |
-SkSize GetScaleAdjustment(const ImageDecodeControllerKey& key) { |
+SkSize GetScaleAdjustment(const ImageDecodeCacheKey& key) { |
// If the requested filter quality did not require scale, then the adjustment |
// is identity. |
if (key.can_use_original_decode() || key.should_use_subrect()) { |
@@ -146,7 +144,7 @@ SkSize GetScaleAdjustment(const ImageDecodeControllerKey& key) { |
} |
} |
-SkFilterQuality GetDecodedFilterQuality(const ImageDecodeControllerKey& key) { |
+SkFilterQuality GetDecodedFilterQuality(const ImageDecodeCacheKey& key) { |
return std::min(key.filter_quality(), kLow_SkFilterQuality); |
} |
@@ -175,7 +173,7 @@ void RecordLockExistingCachedImageHistogram(TilePriority::PriorityBin bin, |
} // namespace |
-SoftwareImageDecodeController::SoftwareImageDecodeController( |
+SoftwareImageDecodeCache::SoftwareImageDecodeCache( |
ResourceFormat format, |
size_t locked_memory_limit_bytes) |
: decoded_images_(ImageMRUCache::NO_AUTO_EVICT), |
@@ -187,14 +185,14 @@ SoftwareImageDecodeController::SoftwareImageDecodeController( |
// Don't register a dump provider in these cases. |
if (base::ThreadTaskRunnerHandle::IsSet()) { |
base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( |
- this, "cc::SoftwareImageDecodeController", |
+ this, "cc::SoftwareImageDecodeCache", |
base::ThreadTaskRunnerHandle::Get()); |
} |
// Register this component with base::MemoryCoordinatorClientRegistry. |
base::MemoryCoordinatorClientRegistry::GetInstance()->Register(this); |
} |
-SoftwareImageDecodeController::~SoftwareImageDecodeController() { |
+SoftwareImageDecodeCache::~SoftwareImageDecodeCache() { |
DCHECK_EQ(0u, decoded_images_ref_counts_.size()); |
DCHECK_EQ(0u, at_raster_decoded_images_ref_counts_.size()); |
@@ -205,7 +203,7 @@ SoftwareImageDecodeController::~SoftwareImageDecodeController() { |
base::MemoryCoordinatorClientRegistry::GetInstance()->Unregister(this); |
} |
-bool SoftwareImageDecodeController::GetTaskForImageAndRef( |
+bool SoftwareImageDecodeCache::GetTaskForImageAndRef( |
const DrawImage& image, |
const TracingInfo& tracing_info, |
scoped_refptr<TileTask>* task) { |
@@ -218,7 +216,7 @@ bool SoftwareImageDecodeController::GetTaskForImageAndRef( |
// the cache. |
ImageKey key = ImageKey::FromDrawImage(image); |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetTaskForImageAndRef", "key", |
+ "SoftwareImageDecodeCache::GetTaskForImageAndRef", "key", |
key.ToString()); |
// If the target size is empty, we can skip this image during draw (and thus |
@@ -290,10 +288,9 @@ bool SoftwareImageDecodeController::GetTaskForImageAndRef( |
return true; |
} |
-void SoftwareImageDecodeController::RefImage(const ImageKey& key) { |
+void SoftwareImageDecodeCache::RefImage(const ImageKey& key) { |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::RefImage", "key", |
- key.ToString()); |
+ "SoftwareImageDecodeCache::RefImage", "key", key.ToString()); |
lock_.AssertAcquired(); |
int ref = ++decoded_images_ref_counts_[key]; |
if (ref == 1) { |
@@ -302,7 +299,7 @@ void SoftwareImageDecodeController::RefImage(const ImageKey& key) { |
} |
} |
-void SoftwareImageDecodeController::UnrefImage(const DrawImage& image) { |
+void SoftwareImageDecodeCache::UnrefImage(const DrawImage& image) { |
// When we unref the image, there are several situations we need to consider: |
// 1. The ref did not reach 0, which means we have to keep the image locked. |
// 2. The ref reached 0, we should unlock it. |
@@ -311,8 +308,7 @@ void SoftwareImageDecodeController::UnrefImage(const DrawImage& image) { |
// 2b. Unlock the image but keep it in list. |
const ImageKey& key = ImageKey::FromDrawImage(image); |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::UnrefImage", "key", |
- key.ToString()); |
+ "SoftwareImageDecodeCache::UnrefImage", "key", key.ToString()); |
base::AutoLock lock(lock_); |
auto ref_count_it = decoded_images_ref_counts_.find(key); |
@@ -336,9 +332,9 @@ void SoftwareImageDecodeController::UnrefImage(const DrawImage& image) { |
SanityCheckState(__LINE__, true); |
} |
-void SoftwareImageDecodeController::DecodeImage(const ImageKey& key, |
- const DrawImage& image) { |
- TRACE_EVENT1("cc", "SoftwareImageDecodeController::DecodeImage", "key", |
+void SoftwareImageDecodeCache::DecodeImage(const ImageKey& key, |
+ const DrawImage& image) { |
+ TRACE_EVENT1("cc", "SoftwareImageDecodeCache::DecodeImage", "key", |
key.ToString()); |
base::AutoLock lock(lock_); |
AutoRemoveKeyFromTaskMap remove_key_from_task_map(&pending_image_tasks_, key); |
@@ -395,12 +391,11 @@ void SoftwareImageDecodeController::DecodeImage(const ImageKey& key, |
SanityCheckState(__LINE__, true); |
} |
-std::unique_ptr<SoftwareImageDecodeController::DecodedImage> |
-SoftwareImageDecodeController::DecodeImageInternal( |
- const ImageKey& key, |
- const DrawImage& draw_image) { |
+std::unique_ptr<SoftwareImageDecodeCache::DecodedImage> |
+SoftwareImageDecodeCache::DecodeImageInternal(const ImageKey& key, |
+ const DrawImage& draw_image) { |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::DecodeImageInternal", "key", |
+ "SoftwareImageDecodeCache::DecodeImageInternal", "key", |
key.ToString()); |
sk_sp<const SkImage> image = draw_image.image(); |
if (!image) |
@@ -421,11 +416,11 @@ SoftwareImageDecodeController::DecodeImageInternal( |
} |
} |
-DecodedDrawImage SoftwareImageDecodeController::GetDecodedImageForDraw( |
+DecodedDrawImage SoftwareImageDecodeCache::GetDecodedImageForDraw( |
const DrawImage& draw_image) { |
ImageKey key = ImageKey::FromDrawImage(draw_image); |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetDecodedImageForDraw", "key", |
+ "SoftwareImageDecodeCache::GetDecodedImageForDraw", "key", |
key.ToString()); |
// If the target size is empty, we can skip this image draw. |
if (key.target_size().IsEmpty()) |
@@ -434,11 +429,11 @@ DecodedDrawImage SoftwareImageDecodeController::GetDecodedImageForDraw( |
return GetDecodedImageForDrawInternal(key, draw_image); |
} |
-DecodedDrawImage SoftwareImageDecodeController::GetDecodedImageForDrawInternal( |
+DecodedDrawImage SoftwareImageDecodeCache::GetDecodedImageForDrawInternal( |
const ImageKey& key, |
const DrawImage& draw_image) { |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetDecodedImageForDrawInternal", |
+ "SoftwareImageDecodeCache::GetDecodedImageForDrawInternal", |
"key", key.ToString()); |
base::AutoLock lock(lock_); |
auto decoded_images_it = decoded_images_.Get(key); |
@@ -530,15 +525,14 @@ DecodedDrawImage SoftwareImageDecodeController::GetDecodedImageForDrawInternal( |
return decoded_draw_image; |
} |
-std::unique_ptr<SoftwareImageDecodeController::DecodedImage> |
-SoftwareImageDecodeController::GetOriginalImageDecode( |
- sk_sp<const SkImage> image) { |
+std::unique_ptr<SoftwareImageDecodeCache::DecodedImage> |
+SoftwareImageDecodeCache::GetOriginalImageDecode(sk_sp<const SkImage> image) { |
SkImageInfo decoded_info = |
CreateImageInfo(image->width(), image->height(), format_); |
std::unique_ptr<base::DiscardableMemory> decoded_pixels; |
{ |
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetOriginalImageDecode - " |
+ "SoftwareImageDecodeCache::GetOriginalImageDecode - " |
"allocate decoded pixels"); |
decoded_pixels = |
base::DiscardableMemoryAllocator::GetInstance() |
@@ -547,7 +541,7 @@ SoftwareImageDecodeController::GetOriginalImageDecode( |
} |
{ |
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetOriginalImageDecode - " |
+ "SoftwareImageDecodeCache::GetOriginalImageDecode - " |
"read pixels"); |
bool result = image->readPixels(decoded_info, decoded_pixels->data(), |
decoded_info.minRowBytes(), 0, 0, |
@@ -563,10 +557,9 @@ SoftwareImageDecodeController::GetOriginalImageDecode( |
next_tracing_id_.GetNext()); |
} |
-std::unique_ptr<SoftwareImageDecodeController::DecodedImage> |
-SoftwareImageDecodeController::GetSubrectImageDecode( |
- const ImageKey& key, |
- sk_sp<const SkImage> image) { |
+std::unique_ptr<SoftwareImageDecodeCache::DecodedImage> |
+SoftwareImageDecodeCache::GetSubrectImageDecode(const ImageKey& key, |
+ sk_sp<const SkImage> image) { |
// Construct a key to use in GetDecodedImageForDrawInternal(). |
// This allows us to reuse an image in any cache if available. |
gfx::Rect full_image_rect(image->width(), image->height()); |
@@ -592,7 +585,7 @@ SoftwareImageDecodeController::GetSubrectImageDecode( |
std::unique_ptr<base::DiscardableMemory> subrect_pixels; |
{ |
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetSubrectImageDecode - " |
+ "SoftwareImageDecodeCache::GetSubrectImageDecode - " |
"allocate subrect pixels"); |
// TODO(vmpstr): This is using checked math to diagnose a problem reported |
// in crbug.com/662217. If this is causing crashes, then it should be fixed |
@@ -605,7 +598,7 @@ SoftwareImageDecodeController::GetSubrectImageDecode( |
} |
{ |
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::GetOriginalImageDecode - " |
+ "SoftwareImageDecodeCache::GetOriginalImageDecode - " |
"read pixels"); |
bool result = decoded_draw_image.image()->readPixels( |
subrect_info, subrect_pixels->data(), subrect_info.minRowBytes(), |
@@ -620,10 +613,9 @@ SoftwareImageDecodeController::GetSubrectImageDecode( |
next_tracing_id_.GetNext())); |
} |
-std::unique_ptr<SoftwareImageDecodeController::DecodedImage> |
-SoftwareImageDecodeController::GetScaledImageDecode( |
- const ImageKey& key, |
- sk_sp<const SkImage> image) { |
+std::unique_ptr<SoftwareImageDecodeCache::DecodedImage> |
+SoftwareImageDecodeCache::GetScaledImageDecode(const ImageKey& key, |
+ sk_sp<const SkImage> image) { |
// Construct a key to use in GetDecodedImageForDrawInternal(). |
// This allows us to reuse an image in any cache if available. |
gfx::Rect full_image_rect(image->width(), image->height()); |
@@ -660,7 +652,7 @@ SoftwareImageDecodeController::GetScaledImageDecode( |
{ |
TRACE_EVENT0( |
TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::ScaleImage - allocate scaled pixels"); |
+ "SoftwareImageDecodeCache::ScaleImage - allocate scaled pixels"); |
scaled_pixels = base::DiscardableMemoryAllocator::GetInstance() |
->AllocateLockedDiscardableMemory( |
scaled_info.minRowBytes() * scaled_info.height()); |
@@ -671,7 +663,7 @@ SoftwareImageDecodeController::GetScaledImageDecode( |
key.filter_quality() == kMedium_SkFilterQuality); |
{ |
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::ScaleImage - scale pixels"); |
+ "SoftwareImageDecodeCache::ScaleImage - scale pixels"); |
bool result = |
decoded_pixmap.scalePixels(scaled_pixmap, key.filter_quality()); |
DCHECK(result) << key.ToString(); |
@@ -683,11 +675,11 @@ SoftwareImageDecodeController::GetScaledImageDecode( |
next_tracing_id_.GetNext()); |
} |
-void SoftwareImageDecodeController::DrawWithImageFinished( |
+void SoftwareImageDecodeCache::DrawWithImageFinished( |
const DrawImage& image, |
const DecodedDrawImage& decoded_image) { |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::DrawWithImageFinished", "key", |
+ "SoftwareImageDecodeCache::DrawWithImageFinished", "key", |
ImageKey::FromDrawImage(image).ToString()); |
ImageKey key = ImageKey::FromDrawImage(image); |
if (!decoded_image.image()) |
@@ -700,18 +692,18 @@ void SoftwareImageDecodeController::DrawWithImageFinished( |
SanityCheckState(__LINE__, false); |
} |
-void SoftwareImageDecodeController::RefAtRasterImage(const ImageKey& key) { |
+void SoftwareImageDecodeCache::RefAtRasterImage(const ImageKey& key) { |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::RefAtRasterImage", "key", |
+ "SoftwareImageDecodeCache::RefAtRasterImage", "key", |
key.ToString()); |
DCHECK(at_raster_decoded_images_.Peek(key) != |
at_raster_decoded_images_.end()); |
++at_raster_decoded_images_ref_counts_[key]; |
} |
-void SoftwareImageDecodeController::UnrefAtRasterImage(const ImageKey& key) { |
+void SoftwareImageDecodeCache::UnrefAtRasterImage(const ImageKey& key) { |
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("cc.debug"), |
- "SoftwareImageDecodeController::UnrefAtRasterImage", "key", |
+ "SoftwareImageDecodeCache::UnrefAtRasterImage", "key", |
key.ToString()); |
base::AutoLock lock(lock_); |
@@ -757,8 +749,8 @@ void SoftwareImageDecodeController::UnrefAtRasterImage(const ImageKey& key) { |
} |
} |
-void SoftwareImageDecodeController::ReduceCacheUsage() { |
- TRACE_EVENT0("cc", "SoftwareImageDecodeController::ReduceCacheUsage"); |
+void SoftwareImageDecodeCache::ReduceCacheUsage() { |
+ TRACE_EVENT0("cc", "SoftwareImageDecodeCache::ReduceCacheUsage"); |
base::AutoLock lock(lock_); |
size_t num_to_remove = (decoded_images_.size() > max_items_in_cache_) |
? (decoded_images_.size() - max_items_in_cache_) |
@@ -775,20 +767,19 @@ void SoftwareImageDecodeController::ReduceCacheUsage() { |
} |
} |
-void SoftwareImageDecodeController::RemovePendingTask(const ImageKey& key) { |
+void SoftwareImageDecodeCache::RemovePendingTask(const ImageKey& key) { |
base::AutoLock lock(lock_); |
pending_image_tasks_.erase(key); |
} |
-bool SoftwareImageDecodeController::OnMemoryDump( |
+bool SoftwareImageDecodeCache::OnMemoryDump( |
const base::trace_event::MemoryDumpArgs& args, |
base::trace_event::ProcessMemoryDump* pmd) { |
base::AutoLock lock(lock_); |
if (args.level_of_detail == MemoryDumpLevelOfDetail::BACKGROUND) { |
- std::string dump_name = |
- base::StringPrintf("cc/image_memory/controller_0x%" PRIXPTR, |
- reinterpret_cast<uintptr_t>(this)); |
+ std::string dump_name = base::StringPrintf( |
+ "cc/image_memory/cache_0x%" PRIXPTR, reinterpret_cast<uintptr_t>(this)); |
MemoryAllocatorDump* dump = pmd->CreateAllocatorDump(dump_name); |
dump->AddScalar("locked_size", MemoryAllocatorDump::kUnitsBytes, |
locked_images_budget_.GetCurrentUsageSafe()); |
@@ -802,7 +793,7 @@ bool SoftwareImageDecodeController::OnMemoryDump( |
return true; |
} |
-void SoftwareImageDecodeController::DumpImageMemoryForCache( |
+void SoftwareImageDecodeCache::DumpImageMemoryForCache( |
const ImageMRUCache& cache, |
const char* cache_name, |
base::trace_event::ProcessMemoryDump* pmd) const { |
@@ -810,7 +801,7 @@ void SoftwareImageDecodeController::DumpImageMemoryForCache( |
for (const auto& image_pair : cache) { |
std::string dump_name = base::StringPrintf( |
- "cc/image_memory/controller_0x%" PRIXPTR "/%s/image_%" PRIu64 "_id_%d", |
+ "cc/image_memory/cache_0x%" PRIXPTR "/%s/image_%" PRIu64 "_id_%d", |
reinterpret_cast<uintptr_t>(this), cache_name, |
image_pair.second->tracing_id(), image_pair.first.image_id()); |
// CreateMemoryAllocatorDump will automatically add tracking values for the |
@@ -826,8 +817,7 @@ void SoftwareImageDecodeController::DumpImageMemoryForCache( |
} |
} |
-void SoftwareImageDecodeController::SanityCheckState(int line, |
- bool lock_acquired) { |
+void SoftwareImageDecodeCache::SanityCheckState(int line, bool lock_acquired) { |
#if DCHECK_IS_ON() |
if (!lock_acquired) { |
base::AutoLock lock(lock_); |
@@ -856,9 +846,8 @@ void SoftwareImageDecodeController::SanityCheckState(int line, |
#endif // DCHECK_IS_ON() |
} |
-// SoftwareImageDecodeControllerKey |
-ImageDecodeControllerKey ImageDecodeControllerKey::FromDrawImage( |
- const DrawImage& image) { |
+// SoftwareImageDecodeCacheKey |
+ImageDecodeCacheKey ImageDecodeCacheKey::FromDrawImage(const DrawImage& image) { |
const SkSize& scale = image.scale(); |
// If the src_rect falls outside of the image, we need to clip it since |
// otherwise we might end up with uninitialized memory in the decode process. |
@@ -953,18 +942,17 @@ ImageDecodeControllerKey ImageDecodeControllerKey::FromDrawImage( |
target_size.set_height(src_rect.height() * mip_target_size.height()); |
} |
- return ImageDecodeControllerKey(image.image()->uniqueID(), src_rect, |
- target_size, quality, can_use_original_decode, |
- should_use_subrect); |
+ return ImageDecodeCacheKey(image.image()->uniqueID(), src_rect, target_size, |
+ quality, can_use_original_decode, |
+ should_use_subrect); |
} |
-ImageDecodeControllerKey::ImageDecodeControllerKey( |
- uint32_t image_id, |
- const gfx::Rect& src_rect, |
- const gfx::Size& target_size, |
- SkFilterQuality filter_quality, |
- bool can_use_original_decode, |
- bool should_use_subrect) |
+ImageDecodeCacheKey::ImageDecodeCacheKey(uint32_t image_id, |
+ const gfx::Rect& src_rect, |
+ const gfx::Size& target_size, |
+ SkFilterQuality filter_quality, |
+ bool can_use_original_decode, |
+ bool should_use_subrect) |
: image_id_(image_id), |
src_rect_(src_rect), |
target_size_(target_size), |
@@ -989,10 +977,10 @@ ImageDecodeControllerKey::ImageDecodeControllerKey( |
} |
} |
-ImageDecodeControllerKey::ImageDecodeControllerKey( |
- const ImageDecodeControllerKey& other) = default; |
+ImageDecodeCacheKey::ImageDecodeCacheKey(const ImageDecodeCacheKey& other) = |
+ default; |
-std::string ImageDecodeControllerKey::ToString() const { |
+std::string ImageDecodeCacheKey::ToString() const { |
std::ostringstream str; |
str << "id[" << image_id_ << "] src_rect[" << src_rect_.x() << "," |
<< src_rect_.y() << " " << src_rect_.width() << "x" << src_rect_.height() |
@@ -1005,7 +993,7 @@ std::string ImageDecodeControllerKey::ToString() const { |
} |
// DecodedImage |
-SoftwareImageDecodeController::DecodedImage::DecodedImage( |
+SoftwareImageDecodeCache::DecodedImage::DecodedImage( |
const SkImageInfo& info, |
std::unique_ptr<base::DiscardableMemory> memory, |
const SkSize& src_rect_offset, |
@@ -1020,7 +1008,7 @@ SoftwareImageDecodeController::DecodedImage::DecodedImage( |
pixmap, [](const void* pixels, void* context) {}, nullptr); |
} |
-SoftwareImageDecodeController::DecodedImage::~DecodedImage() { |
+SoftwareImageDecodeCache::DecodedImage::~DecodedImage() { |
DCHECK(!locked_); |
// lock_count | used | last lock failed | result state |
// ===========+=======+==================+================== |
@@ -1063,7 +1051,7 @@ SoftwareImageDecodeController::DecodedImage::~DecodedImage() { |
usage_stats_.first_lock_wasted); |
} |
-bool SoftwareImageDecodeController::DecodedImage::Lock() { |
+bool SoftwareImageDecodeCache::DecodedImage::Lock() { |
DCHECK(!locked_); |
bool success = memory_->Lock(); |
if (!success) { |
@@ -1075,7 +1063,7 @@ bool SoftwareImageDecodeController::DecodedImage::Lock() { |
return true; |
} |
-void SoftwareImageDecodeController::DecodedImage::Unlock() { |
+void SoftwareImageDecodeCache::DecodedImage::Unlock() { |
DCHECK(locked_); |
memory_->Unlock(); |
locked_ = false; |
@@ -1084,35 +1072,32 @@ void SoftwareImageDecodeController::DecodedImage::Unlock() { |
} |
// MemoryBudget |
-SoftwareImageDecodeController::MemoryBudget::MemoryBudget(size_t limit_bytes) |
+SoftwareImageDecodeCache::MemoryBudget::MemoryBudget(size_t limit_bytes) |
: limit_bytes_(limit_bytes), current_usage_bytes_(0u) {} |
-size_t SoftwareImageDecodeController::MemoryBudget::AvailableMemoryBytes() |
- const { |
+size_t SoftwareImageDecodeCache::MemoryBudget::AvailableMemoryBytes() const { |
size_t usage = GetCurrentUsageSafe(); |
return usage >= limit_bytes_ ? 0u : (limit_bytes_ - usage); |
} |
-void SoftwareImageDecodeController::MemoryBudget::AddUsage(size_t usage) { |
+void SoftwareImageDecodeCache::MemoryBudget::AddUsage(size_t usage) { |
current_usage_bytes_ += usage; |
} |
-void SoftwareImageDecodeController::MemoryBudget::SubtractUsage(size_t usage) { |
+void SoftwareImageDecodeCache::MemoryBudget::SubtractUsage(size_t usage) { |
DCHECK_GE(current_usage_bytes_.ValueOrDefault(0u), usage); |
current_usage_bytes_ -= usage; |
} |
-void SoftwareImageDecodeController::MemoryBudget::ResetUsage() { |
+void SoftwareImageDecodeCache::MemoryBudget::ResetUsage() { |
current_usage_bytes_ = 0; |
} |
-size_t SoftwareImageDecodeController::MemoryBudget::GetCurrentUsageSafe() |
- const { |
+size_t SoftwareImageDecodeCache::MemoryBudget::GetCurrentUsageSafe() const { |
return current_usage_bytes_.ValueOrDie(); |
} |
-void SoftwareImageDecodeController::OnMemoryStateChange( |
- base::MemoryState state) { |
+void SoftwareImageDecodeCache::OnMemoryStateChange(base::MemoryState state) { |
{ |
base::AutoLock hold(lock_); |
switch (state) { |