Index: third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp b/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
index 12bdc0af5343f0caf48836ca9ebcc16ad791b378..a3904399780b5be1f28692d10372409ea4ad71e1 100644 |
--- a/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
+++ b/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
@@ -36,6 +36,9 @@ void PrePaintTreeWalk::walk(FrameView& rootFrame) |
void PrePaintTreeWalk::walk(FrameView& frameView, const PrePaintTreeWalkContext& context) |
{ |
+ if (frameView.shouldThrottleRendering()) |
+ return; |
+ |
PrePaintTreeWalkContext localContext(context); |
m_propertyTreeBuilder.buildTreeNodes(frameView, localContext.treeBuilderContext); |
@@ -49,10 +52,11 @@ void PrePaintTreeWalk::walk(FrameView& frameView, const PrePaintTreeWalkContext& |
void PrePaintTreeWalk::walk(const LayoutObject& object, const PrePaintTreeWalkContext& context) |
{ |
PrePaintTreeWalkContext localContext(context); |
- m_propertyTreeBuilder.buildTreeNodes(object, localContext.treeBuilderContext); |
+ m_propertyTreeBuilder.buildTreeNodesForSelf(object, localContext.treeBuilderContext); |
if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) |
m_paintInvalidator.invalidatePaintIfNeeded(object, localContext.paintInvalidatorContext); |
+ m_propertyTreeBuilder.buildTreeNodesForChildren(object, localContext.treeBuilderContext); |
for (const LayoutObject* child = object.slowFirstChild(); child; child = child->nextSibling()) { |
// Column spanners are walked through their placeholders. See below. |