| Index: Source/core/layout/style/SVGLayoutStyle.cpp
|
| diff --git a/Source/core/layout/style/SVGLayoutStyle.cpp b/Source/core/layout/style/SVGLayoutStyle.cpp
|
| index 6c3062cd9996c333d23d97db3719226a54dcc9fd..fdd9c3aaeb494aa3f15922cd59a1a5dad0d08fbc 100644
|
| --- a/Source/core/layout/style/SVGLayoutStyle.cpp
|
| +++ b/Source/core/layout/style/SVGLayoutStyle.cpp
|
| @@ -40,6 +40,7 @@ SVGLayoutStyle::SVGLayoutStyle()
|
| stops = defaultStyle->stops;
|
| misc = defaultStyle->misc;
|
| inheritedResources = defaultStyle->inheritedResources;
|
| + layout = defaultStyle->layout;
|
| resources = defaultStyle->resources;
|
|
|
| setBitDefaults();
|
| @@ -54,6 +55,7 @@ SVGLayoutStyle::SVGLayoutStyle(CreateDefaultType)
|
| stops.init();
|
| misc.init();
|
| inheritedResources.init();
|
| + layout.init();
|
| resources.init();
|
| }
|
|
|
| @@ -65,6 +67,7 @@ SVGLayoutStyle::SVGLayoutStyle(const SVGLayoutStyle& other)
|
| stops = other.stops;
|
| misc = other.misc;
|
| inheritedResources = other.inheritedResources;
|
| + layout = other.layout;
|
| resources = other.resources;
|
|
|
| svg_inherited_flags = other.svg_inherited_flags;
|
| @@ -82,6 +85,7 @@ bool SVGLayoutStyle::operator==(const SVGLayoutStyle& other) const
|
| && stops == other.stops
|
| && misc == other.misc
|
| && inheritedResources == other.inheritedResources
|
| + && layout == other.layout
|
| && resources == other.resources
|
| && svg_inherited_flags == other.svg_inherited_flags
|
| && svg_noninherited_flags == other.svg_noninherited_flags;
|
| @@ -112,6 +116,7 @@ void SVGLayoutStyle::copyNonInheritedFrom(const SVGLayoutStyle* other)
|
| svg_noninherited_flags = other->svg_noninherited_flags;
|
| stops = other->stops;
|
| misc = other->misc;
|
| + layout = other->layout;
|
| resources = other->resources;
|
| }
|
|
|
| @@ -177,6 +182,13 @@ bool SVGLayoutStyle::diffNeedsLayoutAndPaintInvalidation(const SVGLayoutStyle* o
|
| return true;
|
| }
|
|
|
| + // The x and y properties require a re-layout.
|
| + if (layout.get() != other->layout.get()) {
|
| + if (layout->x != other->layout->x
|
| + || layout->y != other->layout->y)
|
| + return true;
|
| + }
|
| +
|
| return false;
|
| }
|
|
|
|
|