| 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 e4fc39eb68878c0ecf53a5e269d9bdc3946b8d10..5f9d2b58b21a550f6e1fbdbd18498aa416dafe61 100644
|
| --- a/cc/tiles/software_image_decode_controller.cc
|
| +++ b/cc/tiles/software_image_decode_controller.cc
|
| @@ -107,12 +107,21 @@ SkFilterQuality GetDecodedFilterQuality(const ImageDecodeControllerKey& key) {
|
| return std::min(key.filter_quality(), kLow_SkFilterQuality);
|
| }
|
|
|
| +SkImageInfo CreateImageInfo(size_t width,
|
| + size_t height,
|
| + ResourceFormat format) {
|
| + return SkImageInfo::Make(width, height, ResourceFormatToSkColorType(format),
|
| + kPremul_SkAlphaType);
|
| +}
|
| +
|
| } // namespace
|
|
|
| -SoftwareImageDecodeController::SoftwareImageDecodeController()
|
| +SoftwareImageDecodeController::SoftwareImageDecodeController(
|
| + ResourceFormat format)
|
| : decoded_images_(ImageMRUCache::NO_AUTO_EVICT),
|
| at_raster_decoded_images_(ImageMRUCache::NO_AUTO_EVICT),
|
| - locked_images_budget_(kLockedMemoryLimitBytes) {}
|
| + locked_images_budget_(kLockedMemoryLimitBytes),
|
| + format_(format) {}
|
|
|
| SoftwareImageDecodeController::~SoftwareImageDecodeController() {
|
| DCHECK_EQ(0u, decoded_images_ref_counts_.size());
|
| @@ -345,7 +354,7 @@ SoftwareImageDecodeController::DecodeImageInternal(
|
| // just read pixels into the final memory.
|
| if (key.can_use_original_decode()) {
|
| SkImageInfo decoded_info =
|
| - SkImageInfo::MakeN32Premul(image->width(), image->height());
|
| + CreateImageInfo(image->width(), image->height(), format_);
|
| scoped_ptr<base::DiscardableMemory> decoded_pixels;
|
| {
|
| TRACE_EVENT0(
|
| @@ -414,8 +423,8 @@ SoftwareImageDecodeController::DecodeImageInternal(
|
| // Now we have a decoded_pixmap which represents the src_rect at the
|
| // original scale. All we need to do is scale it.
|
| DCHECK(!key.target_size().IsEmpty());
|
| - SkImageInfo scaled_info = SkImageInfo::MakeN32Premul(
|
| - key.target_size().width(), key.target_size().height());
|
| + SkImageInfo scaled_info = CreateImageInfo(
|
| + key.target_size().width(), key.target_size().height(), format_);
|
| scoped_ptr<base::DiscardableMemory> scaled_pixels;
|
| {
|
| TRACE_EVENT0(
|
|
|