Index: cc/resources/picture_pile_impl.cc |
diff --git a/cc/resources/picture_pile_impl.cc b/cc/resources/picture_pile_impl.cc |
index e2d86743d53cbc1b98650be74924ccb2e9c47f6f..ec1624c63dff18be775a2461dda233656a3d1be2 100644 |
--- a/cc/resources/picture_pile_impl.cc |
+++ b/cc/resources/picture_pile_impl.cc |
@@ -330,17 +330,14 @@ skia::RefPtr<SkPicture> PicturePileImpl::GetFlattenedPicture() { |
TRACE_EVENT0("cc", "PicturePileImpl::GetFlattenedPicture"); |
gfx::Rect tiling_rect(tiling_.tiling_rect()); |
- skia::RefPtr<SkPicture> picture = skia::AdoptRef(new SkPicture); |
- if (tiling_rect.IsEmpty()) |
- return picture; |
- |
+ SkPictureRecorder recorder; |
SkCanvas* canvas = |
- picture->beginRecording(tiling_rect.width(), |
+ recorder.beginRecording(tiling_rect.width(), |
tiling_rect.height(), |
SkPicture::kUsePathBoundsForClip_RecordingFlag); |
- |
- RasterToBitmap(canvas, tiling_rect, 1.0, NULL); |
- picture->endRecording(); |
+ if (!tiling_rect.IsEmpty()) |
+ RasterToBitmap(canvas, tiling_rect, 1.0, NULL); |
+ skia::RefPtr<SkPicture> picture = skia::AdoptRef(recorder.endRecording()); |
return picture; |
} |