Index: Source/core/rendering/style/RenderStyle.cpp |
diff --git a/Source/core/rendering/style/RenderStyle.cpp b/Source/core/rendering/style/RenderStyle.cpp |
index 75558d6645ce33b6fce395b5cdfca14d44e878f5..f9bd41c89926b9f850b2fb726595d8561c07c25f 100644 |
--- a/Source/core/rendering/style/RenderStyle.cpp |
+++ b/Source/core/rendering/style/RenderStyle.cpp |
@@ -189,7 +189,8 @@ StyleRecalcChange RenderStyle::compare(const RenderStyle* oldStyle, const Render |
if (oldStyle->inheritedNotEqual(newStyle) |
|| oldStyle->hasExplicitlyInheritedProperties() |
- || newStyle->hasExplicitlyInheritedProperties()) |
+ || newStyle->hasExplicitlyInheritedProperties() |
+ || !oldStyle->textDecorationsEqual(newStyle)) |
return Inherit; |
return NoInherit; |
@@ -337,6 +338,13 @@ bool RenderStyle::inheritedDataShared(const RenderStyle* other) const |
&& rareInheritedData.get() == other->rareInheritedData.get(); |
} |
+bool RenderStyle::textDecorationsEqual(const RenderStyle* other) const |
+{ |
+ return textDecorationColor() == other->textDecorationColor() |
+ && textDecorationStyle() == other->textDecorationStyle() |
+ && textDecoration() == other->textDecoration(); |
+} |
+ |
static bool positionedObjectMovedOnly(const LengthBox& a, const LengthBox& b, const Length& width) |
{ |
// If any unit types are different, then we can't guarantee |