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 8ed5a0eb4e33fdaf94e30d8daedb76c8e30019b5..5fd40cb380d3ce8b5b6bdc884c5447ab8ecbe228 100644 |
--- a/cc/tiles/software_image_decode_controller.cc |
+++ b/cc/tiles/software_image_decode_controller.cc |
@@ -63,7 +63,7 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
: controller_(controller), |
image_key_(image_key), |
image_(image), |
- image_ref_(skia::SharePtr(image.image())), |
+ image_ref_(image.image()), |
source_prepare_tiles_id_(source_prepare_tiles_id) {} |
// Overridden from Task: |
@@ -89,7 +89,7 @@ class ImageDecodeTaskImpl : public ImageDecodeTask { |
SoftwareImageDecodeController* controller_; |
SoftwareImageDecodeController::ImageKey image_key_; |
DrawImage image_; |
- skia::RefPtr<const SkImage> image_ref_; |
+ sk_sp<const SkImage> image_ref_; |
uint64_t source_prepare_tiles_id_; |
DISALLOW_COPY_AND_ASSIGN(ImageDecodeTaskImpl); |
@@ -369,7 +369,7 @@ SoftwareImageDecodeController::DecodeImageInternal( |
TRACE_EVENT1("disabled-by-default-cc.debug", |
"SoftwareImageDecodeController::DecodeImageInternal", "key", |
key.ToString()); |
- const SkImage* image = draw_image.image(); |
+ sk_sp<const SkImage> image(draw_image.image()); |
// If we can use the original decode, then we don't need to do scaling. We can |
// just read pixels into the final memory. |
@@ -418,7 +418,8 @@ SoftwareImageDecodeController::DecodeImageInternal( |
// later ensures that we will store the discardable memory unlocked in the |
// cache to be used by future requests. |
gfx::Rect full_image_rect(image->width(), image->height()); |
- DrawImage original_size_draw_image(image, gfx::RectToSkIRect(full_image_rect), |
+ DrawImage original_size_draw_image(image.get(), |
+ gfx::RectToSkIRect(full_image_rect), |
kNone_SkFilterQuality, SkMatrix::I()); |
ImageKey original_size_key = |
ImageKey::FromDrawImage(original_size_draw_image); |
@@ -880,9 +881,9 @@ SoftwareImageDecodeController::DecodedImage::DecodedImage( |
memory_(std::move(memory)), |
src_rect_offset_(src_rect_offset), |
tracing_id_(tracing_id) { |
- image_ = skia::AdoptRef(SkImage::NewFromRaster( |
- image_info_, memory_->data(), image_info_.minRowBytes(), |
- [](const void* pixels, void* context) {}, nullptr)); |
+ SkPixmap p(image_info_, memory_->data(), image_info_.minRowBytes()); |
+ image_ = SkImage::MakeFromRaster(p, [](const void* pixels, void* context) {}, |
+ nullptr); |
} |
SoftwareImageDecodeController::DecodedImage::~DecodedImage() { |