| Index: cc/tiles/software_image_decode_controller.cc
|
| diff --git a/cc/tiles/software_image_decode_controller.cc b/cc/tiles/software_image_decode_controller.cc
|
| index f05bb5d01adb4a5932aa94e9908e3d877fef4c2f..4dc8ae5e63080501bcb2f518b0b6473951155919 100644
|
| --- a/cc/tiles/software_image_decode_controller.cc
|
| +++ b/cc/tiles/software_image_decode_controller.cc
|
| @@ -172,25 +172,6 @@ bool SoftwareImageDecodeController::GetTaskForImageAndRef(
|
| return false;
|
| }
|
|
|
| - // If we're not going to do a scale, we will just create a task to preroll the
|
| - // image the first time we see it. This doesn't need to account for memory.
|
| - // TODO(vmpstr): We can also lock the original sized image, in which case it
|
| - // does require memory bookkeeping.
|
| - if (!CanHandleImage(key)) {
|
| - base::AutoLock lock(lock_);
|
| - if (prerolled_images_.count(key.image_id()) == 0) {
|
| - scoped_refptr<ImageDecodeTask>& existing_task = pending_image_tasks_[key];
|
| - if (!existing_task) {
|
| - existing_task = make_scoped_refptr(
|
| - new ImageDecodeTaskImpl(this, key, image, prepare_tiles_id));
|
| - }
|
| - *task = existing_task;
|
| - } else {
|
| - *task = nullptr;
|
| - }
|
| - return false;
|
| - }
|
| -
|
| base::AutoLock lock(lock_);
|
|
|
| // If we already have the image in cache, then we can return it.
|
| @@ -262,7 +243,6 @@ void SoftwareImageDecodeController::UnrefImage(const DrawImage& image) {
|
| // it yet (or failed to decode it).
|
| // 2b. Unlock the image but keep it in list.
|
| const ImageKey& key = ImageKey::FromDrawImage(image);
|
| - DCHECK(CanHandleImage(key)) << key.ToString();
|
| TRACE_EVENT1("disabled-by-default-cc.debug",
|
| "SoftwareImageDecodeController::UnrefImage", "key",
|
| key.ToString());
|
| @@ -293,20 +273,6 @@ void SoftwareImageDecodeController::DecodeImage(const ImageKey& key,
|
| const DrawImage& image) {
|
| TRACE_EVENT1("cc", "SoftwareImageDecodeController::DecodeImage", "key",
|
| key.ToString());
|
| - if (!CanHandleImage(key)) {
|
| - image.image()->preroll();
|
| -
|
| - base::AutoLock lock(lock_);
|
| - prerolled_images_.insert(key.image_id());
|
| - // Erase the pending task from the queue, since the task won't be doing
|
| - // anything useful after this function terminates. Since we don't preroll
|
| - // images twice, this is actually not necessary but it behaves similar to
|
| - // the other code path: when this function finishes, the task isn't in the
|
| - // pending_image_tasks_ list.
|
| - pending_image_tasks_.erase(key);
|
| - return;
|
| - }
|
| -
|
| base::AutoLock lock(lock_);
|
| AutoRemoveKeyFromTaskMap remove_key_from_task_map(&pending_image_tasks_, key);
|
|
|
| @@ -378,8 +344,6 @@ SoftwareImageDecodeController::DecodeImageInternal(
|
| case kLow_SkFilterQuality:
|
| return GetOriginalImageDecode(key, *image);
|
| case kMedium_SkFilterQuality:
|
| - NOTIMPLEMENTED();
|
| - return nullptr;
|
| case kHigh_SkFilterQuality:
|
| return GetScaledImageDecode(key, *image);
|
| default:
|
| @@ -398,9 +362,6 @@ DecodedDrawImage SoftwareImageDecodeController::GetDecodedImageForDraw(
|
| if (key.target_size().IsEmpty())
|
| return DecodedDrawImage(nullptr, kNone_SkFilterQuality);
|
|
|
| - if (!CanHandleImage(key))
|
| - return DecodedDrawImage(draw_image.image(), draw_image.filter_quality());
|
| -
|
| return GetDecodedImageForDrawInternal(key, draw_image);
|
| }
|
|
|
| @@ -576,8 +537,6 @@ SoftwareImageDecodeController::GetScaledImageDecode(const ImageKey& key,
|
| }
|
| SkPixmap scaled_pixmap(scaled_info, scaled_pixels->data(),
|
| scaled_info.minRowBytes());
|
| - // TODO(vmpstr): Start handling more than just high filter quality.
|
| - DCHECK_EQ(kHigh_SkFilterQuality, key.filter_quality());
|
| {
|
| TRACE_EVENT0("disabled-by-default-cc.debug",
|
| "SoftwareImageDecodeController::ScaleImage - scale pixels");
|
| @@ -604,7 +563,7 @@ void SoftwareImageDecodeController::DrawWithImageFinished(
|
| "SoftwareImageDecodeController::DrawWithImageFinished", "key",
|
| ImageKey::FromDrawImage(image).ToString());
|
| ImageKey key = ImageKey::FromDrawImage(image);
|
| - if (!decoded_image.image() || !CanHandleImage(key))
|
| + if (!decoded_image.image())
|
| return;
|
|
|
| if (decoded_image.is_at_raster_decode())
|
| @@ -671,11 +630,6 @@ void SoftwareImageDecodeController::UnrefAtRasterImage(const ImageKey& key) {
|
| }
|
| }
|
|
|
| -bool SoftwareImageDecodeController::CanHandleImage(const ImageKey& key) {
|
| - // TODO(vmpstr): Start handling medium filter quality as well.
|
| - return key.filter_quality() != kMedium_SkFilterQuality;
|
| -}
|
| -
|
| void SoftwareImageDecodeController::ReduceCacheUsage() {
|
| TRACE_EVENT0("cc", "SoftwareImageDecodeController::ReduceCacheUsage");
|
| base::AutoLock lock(lock_);
|
|
|