Index: Source/core/rendering/RenderLayerModelObject.cpp |
diff --git a/Source/core/rendering/RenderLayerModelObject.cpp b/Source/core/rendering/RenderLayerModelObject.cpp |
index aae53878e6fabc959c8d939dcd9bf5bc178ee454..0d59c08e7c11cf5dd3c81c43514f828ae2e24542 100644 |
--- a/Source/core/rendering/RenderLayerModelObject.cpp |
+++ b/Source/core/rendering/RenderLayerModelObject.cpp |
@@ -96,15 +96,12 @@ void RenderLayerModelObject::styleWillChange(StyleDifference diff, const RenderS |
// we need to dirty our stacking context's z-order list. |
RenderStyle* oldStyle = style(); |
if (oldStyle) { |
- if (parent()) { |
- // Do a repaint with the old style first, e.g., for example if we go from |
- // having an outline to not having an outline. |
- if (diff == StyleDifferenceRepaintLayer) { |
- layer()->repainter().repaintIncludingDescendants(); |
- if (oldStyle->clip() != newStyle.clip()) |
- layer()->clipper().clearClipRectsIncludingDescendants(); |
- } else if (diff == StyleDifferenceRepaint || newStyle.outlineSize() < oldStyle->outlineSize()) |
- repaint(); |
+ // Do a repaint with the old style first through RenderLayerRepainter. |
+ // RenderObject::styleWillChange takes care of repainting objects without RenderLayers. |
+ if (parent() && diff == StyleDifferenceRepaintLayer) { |
+ layer()->repainter().repaintIncludingDescendants(); |
+ if (oldStyle->clip() != newStyle.clip()) |
+ layer()->clipper().clearClipRectsIncludingDescendants(); |
} |
if (diff == StyleDifferenceLayout || diff == StyleDifferenceSimplifiedLayout) { |