Index: Source/core/rendering/RenderObject.cpp |
diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp |
index d6f6ef8d07cb5d2af2a7100f2890331458520219..47ccf7637b67c04b6aa0e45c46a30640622b85af 100644 |
--- a/Source/core/rendering/RenderObject.cpp |
+++ b/Source/core/rendering/RenderObject.cpp |
@@ -2071,9 +2071,9 @@ void RenderObject::setStyle(PassRefPtr<RenderStyle> style) |
if (updatedDiff.needsRepaint()) { |
// Repaint with the new style, e.g., for example if we go from not having |
// an outline to having an outline. |
- if (needsLayout()) |
+ if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && needsLayout()) |
setShouldDoFullRepaintAfterLayout(true); |
- else |
+ else if (!selfNeedsLayout()) |
repaint(); |
} |
} |
@@ -2112,9 +2112,9 @@ void RenderObject::styleWillChange(StyleDifference diff, const RenderStyle& newS |
} |
if (m_parent && diff.needsRepaintObject()) { |
- if (diff.needsLayout() || needsLayout()) |
+ if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && (diff.needsLayout() || needsLayout())) |
setShouldDoFullRepaintAfterLayout(true); |
- else |
+ else if (!diff.needsFullLayout() && !selfNeedsLayout()) |
repaint(); |
} |