Index: cc/tiles/gpu_image_decode_controller.cc |
diff --git a/cc/tiles/gpu_image_decode_controller.cc b/cc/tiles/gpu_image_decode_controller.cc |
index d72553e0d0de9c8a2d348876dd6849ca305a1bb4..93a15d2e606c00e7ef29604b0ec807834bc11019 100644 |
--- a/cc/tiles/gpu_image_decode_controller.cc |
+++ b/cc/tiles/gpu_image_decode_controller.cc |
@@ -15,9 +15,9 @@ |
#include "gpu/command_buffer/client/context_support.h" |
#include "gpu/command_buffer/client/gles2_interface.h" |
#include "gpu_image_decode_controller.h" |
-#include "skia/ext/refptr.h" |
#include "skia/ext/texture_handle.h" |
#include "third_party/skia/include/core/SkCanvas.h" |
+#include "third_party/skia/include/core/SkRefCnt.h" |
#include "third_party/skia/include/core/SkSurface.h" |
#include "third_party/skia/include/gpu/GrContext.h" |
#include "third_party/skia/include/gpu/GrTexture.h" |
@@ -65,7 +65,6 @@ class ImageDecodeTaskImpl : public TileTask { |
: TileTask(true), |
controller_(controller), |
image_(draw_image), |
- image_ref_(skia::SharePtr(draw_image.image())), |
source_prepare_tiles_id_(source_prepare_tiles_id) { |
DCHECK(!SkipImage(draw_image)); |
} |
@@ -89,7 +88,6 @@ class ImageDecodeTaskImpl : public TileTask { |
private: |
GpuImageDecodeController* controller_; |
DrawImage image_; |
- skia::RefPtr<const SkImage> image_ref_; |
const uint64_t source_prepare_tiles_id_; |
DISALLOW_COPY_AND_ASSIGN(ImageDecodeTaskImpl); |
@@ -107,7 +105,6 @@ class ImageUploadTaskImpl : public TileTask { |
: TileTask(false), |
controller_(controller), |
image_(draw_image), |
- image_ref_(skia::SharePtr(draw_image.image())), |
source_prepare_tiles_id_(source_prepare_tiles_id) { |
DCHECK(!SkipImage(draw_image)); |
dependencies_.push_back(std::move(decode_dependency)); |
@@ -131,7 +128,6 @@ class ImageUploadTaskImpl : public TileTask { |
private: |
GpuImageDecodeController* controller_; |
DrawImage image_; |
- skia::RefPtr<const SkImage> image_ref_; |
uint64_t source_prepare_tiles_id_; |
DISALLOW_COPY_AND_ASSIGN(ImageUploadTaskImpl); |
@@ -165,7 +161,7 @@ GpuImageDecodeController::GpuImageDecodeController(ContextProvider* context, |
// GrContextThreadSafeProxy. This proxy can then be used with no lock held. |
ContextProvider::ScopedContextLock context_lock(context_); |
context_threadsafe_proxy_ = |
- skia::AdoptRef(context->GrContext()->threadSafeProxy()); |
+ sk_sp<GrContextThreadSafeProxy>(context->GrContext()->threadSafeProxy()); |
} |
GpuImageDecodeController::~GpuImageDecodeController() { |
@@ -296,10 +292,11 @@ DecodedDrawImage GpuImageDecodeController::GetDecodedImageForDraw( |
// in DrawWithImageFinished. |
UnrefImageDecode(draw_image); |
- SkImage* image = image_data->upload.image.get(); |
+ sk_sp<SkImage> image = image_data->upload.image; |
DCHECK(image || image_data->decode.decode_failure); |
- DecodedDrawImage decoded_draw_image(image, draw_image.filter_quality()); |
+ DecodedDrawImage decoded_draw_image(std::move(image), |
+ draw_image.filter_quality()); |
decoded_draw_image.set_at_raster_decode(image_data->is_at_raster); |
return decoded_draw_image; |
} |
@@ -679,22 +676,22 @@ void GpuImageDecodeController::UploadImageIfNecessary( |
// cleaned up so we don't exceed our memory limit during this upload. |
DeletePendingImages(); |
- skia::RefPtr<SkImage> uploaded_image; |
+ sk_sp<SkImage> uploaded_image; |
{ |
base::AutoUnlock unlock(lock_); |
switch (image_data->mode) { |
case DecodedDataMode::CPU: { |
SkImageInfo image_info = CreateImageInfoForDrawImage(draw_image); |
- uploaded_image = skia::AdoptRef(SkImage::NewFromRaster( |
- image_info, image_data->decode.data->data(), |
- image_info.minRowBytes(), [](const void*, void*) {}, nullptr)); |
+ SkPixmap pixmap(image_info, image_data->decode.data->data(), |
+ image_info.minRowBytes()); |
+ uploaded_image = |
+ SkImage::MakeFromRaster(pixmap, [](const void*, void*) {}, nullptr); |
break; |
} |
case DecodedDataMode::GPU: { |
- uploaded_image = |
- skia::AdoptRef(SkImage::NewFromDeferredTextureImageData( |
- context_->GrContext(), image_data->decode.data->data(), |
- SkBudgeted::kNo)); |
+ uploaded_image = SkImage::MakeFromDeferredTextureImageData( |
+ context_->GrContext(), image_data->decode.data->data(), |
+ SkBudgeted::kNo); |
break; |
} |
} |