| 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.
|
|
|