Index: cc/resources/raster_worker_pool.cc |
diff --git a/cc/resources/raster_worker_pool.cc b/cc/resources/raster_worker_pool.cc |
index b7dd504abc85d749709f927130085b8d7025e16d..d4ad90a812244438f107ac9763b33592ee6771a2 100644 |
--- a/cc/resources/raster_worker_pool.cc |
+++ b/cc/resources/raster_worker_pool.cc |
@@ -256,7 +256,7 @@ class ImageDecodeWorkerPoolTaskImpl : public internal::WorkerPoolTask { |
int layer_id, |
RenderingStatsInstrumentation* rendering_stats, |
const RasterWorkerPool::Task::Reply& reply) |
- : pixel_ref_(pixel_ref), |
+ : pixel_ref_(skia::SharePtr(pixel_ref)), |
layer_id_(layer_id), |
rendering_stats_(rendering_stats), |
reply_(reply) {} |
@@ -265,7 +265,7 @@ class ImageDecodeWorkerPoolTaskImpl : public internal::WorkerPoolTask { |
virtual void RunOnWorkerThread(unsigned thread_index) OVERRIDE { |
TRACE_EVENT0("cc", "ImageDecodeWorkerPoolTaskImpl::RunOnWorkerThread"); |
devtools_instrumentation::ScopedImageDecodeTask image_decode_task( |
- pixel_ref_); |
+ pixel_ref_.get()); |
pixel_ref_->Decode(); |
} |
virtual void CompleteOnOriginThread() OVERRIDE { |
@@ -276,7 +276,7 @@ class ImageDecodeWorkerPoolTaskImpl : public internal::WorkerPoolTask { |
virtual ~ImageDecodeWorkerPoolTaskImpl() {} |
private: |
- skia::LazyPixelRef* pixel_ref_; |
+ skia::RefPtr<skia::LazyPixelRef> pixel_ref_; |
int layer_id_; |
RenderingStatsInstrumentation* rendering_stats_; |
const RasterWorkerPool::Task::Reply reply_; |