| Index: third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| index 6e66dcecbf1827f0aa76ed281430a9a10e05164a..24d0131ae325d01d5b7145bbc8bd1cbb5600983c 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| @@ -1508,7 +1508,8 @@ StyleDifference LayoutObject::adjustStyleDifference(
|
|
|
| // Optimization: for decoration/color property changes, invalidation is only
|
| // needed if we have style or text affected by these properties.
|
| - if (diff.textDecorationOrColorChanged() && !diff.needsPaintInvalidation()) {
|
| + if (diff.textDecorationOrColorChanged() &&
|
| + !diff.needsFullPaintInvalidation()) {
|
| if (style()->hasBorder() || style()->hasOutline() ||
|
| style()->hasBackgroundRelatedColorReferencingCurrentColor() ||
|
| // Skip any text nodes that do not contain text boxes. Whitespace cannot
|
| @@ -1564,7 +1565,8 @@ void LayoutObject::firstLineStyleDidChange(const ComputedStyle& oldStyle,
|
| const ComputedStyle& newStyle) {
|
| StyleDifference diff = oldStyle.visualInvalidationDiff(newStyle);
|
|
|
| - if (diff.needsPaintInvalidation() || diff.textDecorationOrColorChanged()) {
|
| + if (diff.needsFullPaintInvalidation() ||
|
| + diff.textDecorationOrColorChanged()) {
|
| // We need to invalidate all inline boxes in the first line, because they
|
| // need to be repainted with the new style, e.g. background, font style,
|
| // etc.
|
| @@ -1903,7 +1905,7 @@ void LayoutObject::styleDidChange(StyleDifference diff,
|
| }
|
| }
|
|
|
| - if (diff.needsPaintInvalidation() && oldStyle) {
|
| + if (diff.needsFullPaintInvalidation() && oldStyle) {
|
| if (resolveColor(*oldStyle, CSSPropertyBackgroundColor) !=
|
| resolveColor(CSSPropertyBackgroundColor) ||
|
| oldStyle->backgroundLayers() != styleRef().backgroundLayers())
|
|
|