Index: cc/resources/drawing_display_item.cc |
diff --git a/cc/resources/drawing_display_item.cc b/cc/resources/drawing_display_item.cc |
index 91ab3fb0d38103b37a08a0ab9e8a9c25df79ee49..648f9de60a2938eb3b7d77a21a9c2c34d8ae6232 100644 |
--- a/cc/resources/drawing_display_item.cc |
+++ b/cc/resources/drawing_display_item.cc |
@@ -34,6 +34,17 @@ void DrawingDisplayItem::Raster(SkCanvas* canvas, |
canvas->restore(); |
} |
+void DrawingDisplayItem::RasterForTracing(SkCanvas* canvas) const { |
+ canvas->save(); |
+ // The picture debugger in about:tracing doesn't drill down into |drawPicture| |
+ // operations. Calling |playback()| rather than |drawPicture()| causes the |
+ // skia operations in |picture_| to appear individually in the picture |
+ // produced for tracing rather than being hidden inside a drawPicture |
+ // operation. |
+ picture_->playback(canvas); |
+ canvas->restore(); |
+} |
+ |
bool DrawingDisplayItem::IsSuitableForGpuRasterization() const { |
return picture_->suitableForGpuRasterization(NULL); |
} |