Index: Source/core/layout/LayoutObject.cpp |
diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp |
index abd4d61201124cc82585b605cd753adc344d9950..1a63e60998b9d83a5dfe3fdcfd9250ce2f83bdae 100644 |
--- a/Source/core/layout/LayoutObject.cpp |
+++ b/Source/core/layout/LayoutObject.cpp |
@@ -1944,6 +1944,17 @@ void LayoutObject::styleDidChange(StyleDifference diff, const ComputedStyle* old |
} |
} |
+void LayoutObject::firstLineStyleDidChange(const ComputedStyle& oldStyle, const ComputedStyle& newStyle) |
+{ |
+ StyleDifference diff = oldStyle.visualInvalidationDiff(newStyle); |
+ if (diff.hasDifference()) { |
+ // TODO(rune@opera.com): We should use the diff to determine whether a repaint vs. layout |
+ // is needed, but for now just assume a layout will be required. The diff code |
+ // in LayoutObject::setStyle would need to be factored out so that it could be reused. |
+ setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReason::StyleChange); |
+ } |
+} |
+ |
void LayoutObject::propagateStyleToAnonymousChildren(bool blockChildrenOnly) |
{ |
// FIXME: We could save this call when the change only affected non-inherited properties. |