Index: third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp |
index 93b307dc47d7b770379f6ffb7925ae1c452893b6..d7292ad64408c455867d8c40a39da4eb7981ce11 100644 |
--- a/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp |
@@ -16,8 +16,9 @@ namespace blink { |
DisplayItem& DisplayItemList::appendByMoving(DisplayItem& item, const IntRect& visualRect, SkPictureGpuAnalyzer& gpuAnalyzer) |
{ |
- if (item.isDrawing()) |
- gpuAnalyzer.analyze(static_cast<const DrawingDisplayItem&>(item).picture()); |
+ // No reason to continue the analysis once we have a veto. |
+ if (gpuAnalyzer.suitableForGpuRasterization()) |
+ item.analyzeForGpuRasterization(gpuAnalyzer); |
#ifndef NDEBUG |
String originalDebugString = item.asDebugString(); |