Index: cc/resources/tile_manager.cc |
diff --git a/cc/resources/tile_manager.cc b/cc/resources/tile_manager.cc |
index f3b15d97eac1f8a536cbd88d37d11a8c050d4802..c645c3b8663b4bbc792bde6ab6bfbd19e5f60699 100644 |
--- a/cc/resources/tile_manager.cc |
+++ b/cc/resources/tile_manager.cc |
@@ -130,7 +130,7 @@ class RasterTaskImpl : public RasterTask { |
devtools_instrumentation::ScopedLayerTask layer_task( |
devtools_instrumentation::kRasterTask, layer_id_); |
- SkCanvas* canvas = raster_buffer_->AcquireSkCanvas(); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer_->AcquireSkCanvas(); |
DCHECK(canvas); |
skia::RefPtr<SkDrawFilter> draw_filter; |
@@ -156,7 +156,8 @@ class RasterTaskImpl : public RasterTask { |
RenderingStatsInstrumentation* stats = |
tile_resolution_ == HIGH_RESOLUTION ? rendering_stats_ : NULL; |
DCHECK(picture_pile); |
- picture_pile->RasterToBitmap(canvas, content_rect_, contents_scale_, stats); |
+ picture_pile->RasterToBitmap( |
+ canvas.get(), content_rect_, contents_scale_, stats); |
if (rendering_stats_->record_rendering_stats()) { |
base::TimeDelta current_rasterize_time = |
@@ -169,7 +170,8 @@ class RasterTaskImpl : public RasterTask { |
100); |
} |
- raster_buffer_->ReleaseSkCanvas(); |
+ bool content_has_changed = raster_buffer_->ReleaseSkCanvas(canvas.get()); |
+ set_content_has_changed(content_has_changed); |
} |
PicturePileImpl::Analysis analysis_; |