| Index: Source/core/rendering/style/SVGRenderStyle.cpp
|
| diff --git a/Source/core/rendering/style/SVGRenderStyle.cpp b/Source/core/rendering/style/SVGRenderStyle.cpp
|
| index 0a66df6bcd47a60fcc836cc5b00bbdf6e417755e..2e0646ed5879b58d19e9df5d47daef960de821ca 100644
|
| --- a/Source/core/rendering/style/SVGRenderStyle.cpp
|
| +++ b/Source/core/rendering/style/SVGRenderStyle.cpp
|
| @@ -122,15 +122,17 @@ StyleDifference SVGRenderStyle::diff(const SVGRenderStyle* other) const
|
| {
|
| StyleDifference styleDifference;
|
|
|
| - if (diffNeedsLayout(other))
|
| + if (diffNeedsLayoutAndRepaint(other)) {
|
| styleDifference.setNeedsFullLayout();
|
| - if (diffNeedsRepaint(other))
|
| styleDifference.setNeedsRepaintObject();
|
| + } else if (diffNeedsRepaint(other)) {
|
| + styleDifference.setNeedsRepaintObject();
|
| + }
|
|
|
| return styleDifference;
|
| }
|
|
|
| -bool SVGRenderStyle::diffNeedsLayout(const SVGRenderStyle* other) const
|
| +bool SVGRenderStyle::diffNeedsLayoutAndRepaint(const SVGRenderStyle* other) const
|
| {
|
| // If resources change, we need a relayout, as the presence of resources influences the repaint rect.
|
| if (resources != other->resources)
|
|
|