| Index: cc/playback/image_hijack_canvas.cc
|
| diff --git a/cc/playback/image_hijack_canvas.cc b/cc/playback/image_hijack_canvas.cc
|
| index bd26d3237c31fa9e9864a6317bcb6978344da80f..7fe112e9ae1954895ab978393de00431e6b1bdf6 100644
|
| --- a/cc/playback/image_hijack_canvas.cc
|
| +++ b/cc/playback/image_hijack_canvas.cc
|
| @@ -5,6 +5,7 @@
|
| #include "cc/playback/image_hijack_canvas.h"
|
|
|
| #include "base/optional.h"
|
| +#include "base/trace_event/trace_event.h"
|
| #include "cc/playback/discardable_image_map.h"
|
| #include "cc/tiles/image_decode_cache.h"
|
| #include "third_party/skia/include/core/SkPath.h"
|
| @@ -137,6 +138,8 @@ ImageHijackCanvas::ImageHijackCanvas(int width,
|
| void ImageHijackCanvas::onDrawPicture(const SkPicture* picture,
|
| const SkMatrix* matrix,
|
| const SkPaint* paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawPicture");
|
| // Ensure that pictures are unpacked by this canvas, instead of being
|
| // forwarded to the raster canvas.
|
| SkCanvas::onDrawPicture(picture, matrix, paint);
|
| @@ -146,6 +149,8 @@ void ImageHijackCanvas::onDrawImage(const SkImage* image,
|
| SkScalar x,
|
| SkScalar y,
|
| const SkPaint* paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawImage");
|
| if (!image->isLazyGenerated()) {
|
| DCHECK(!ShouldSkipImage(image));
|
| SkNWayCanvas::onDrawImage(image, x, y, paint);
|
| @@ -184,6 +189,8 @@ void ImageHijackCanvas::onDrawImageRect(const SkImage* image,
|
| const SkRect& dst,
|
| const SkPaint* paint,
|
| SrcRectConstraint constraint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawImageRect");
|
| if (!image->isLazyGenerated()) {
|
| DCHECK(!ShouldSkipImage(image));
|
| SkNWayCanvas::onDrawImageRect(image, src, dst, paint, constraint);
|
| @@ -225,6 +232,8 @@ void ImageHijackCanvas::onDrawImageRect(const SkImage* image,
|
| }
|
|
|
| void ImageHijackCanvas::onDrawRect(const SkRect& r, const SkPaint& paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawRect");
|
| if (ShouldSkipImageInPaint(paint))
|
| return;
|
|
|
| @@ -238,6 +247,8 @@ void ImageHijackCanvas::onDrawRect(const SkRect& r, const SkPaint& paint) {
|
| }
|
|
|
| void ImageHijackCanvas::onDrawPath(const SkPath& path, const SkPaint& paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawPath");
|
| if (ShouldSkipImageInPaint(paint))
|
| return;
|
|
|
| @@ -251,6 +262,8 @@ void ImageHijackCanvas::onDrawPath(const SkPath& path, const SkPaint& paint) {
|
| }
|
|
|
| void ImageHijackCanvas::onDrawOval(const SkRect& r, const SkPaint& paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawOval");
|
| if (ShouldSkipImageInPaint(paint))
|
| return;
|
|
|
| @@ -268,6 +281,8 @@ void ImageHijackCanvas::onDrawArc(const SkRect& r,
|
| SkScalar sweep_angle,
|
| bool use_center,
|
| const SkPaint& paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawArc");
|
| if (ShouldSkipImageInPaint(paint))
|
| return;
|
|
|
| @@ -282,6 +297,8 @@ void ImageHijackCanvas::onDrawArc(const SkRect& r,
|
| }
|
|
|
| void ImageHijackCanvas::onDrawRRect(const SkRRect& rr, const SkPaint& paint) {
|
| + TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::onDrawRRect");
|
| if (ShouldSkipImageInPaint(paint))
|
| return;
|
|
|
| @@ -303,7 +320,12 @@ void ImageHijackCanvas::onDrawImageNine(const SkImage* image,
|
| }
|
|
|
| bool ImageHijackCanvas::ShouldSkipImage(const SkImage* image) const {
|
| - return images_to_skip_->find(image->uniqueID()) != images_to_skip_->end();
|
| + bool skip =
|
| + images_to_skip_->find(image->uniqueID()) != images_to_skip_->end();
|
| + TRACE_EVENT2(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
|
| + "ImageHijackCanvas::ShouldSkipImage", "imageId",
|
| + image->uniqueID(), "skip", skip);
|
| + return skip;
|
| }
|
|
|
| bool ImageHijackCanvas::ShouldSkipImageInPaint(const SkPaint& paint) const {
|
|
|