| Index: Source/core/svg/SVGGraphicsElement.cpp
|
| diff --git a/Source/core/svg/SVGGraphicsElement.cpp b/Source/core/svg/SVGGraphicsElement.cpp
|
| index ffa82a71ec208aa47c04f4b63401b6e2dd5ee702..e403da2d6713708acaaeb78c63025a05ebca7f4b 100644
|
| --- a/Source/core/svg/SVGGraphicsElement.cpp
|
| +++ b/Source/core/svg/SVGGraphicsElement.cpp
|
| @@ -149,7 +149,7 @@ AffineTransform SVGGraphicsElement::calculateAnimatedLocalTransform() const
|
| // SVGTextElements need special handling for the text positioning code.
|
| if (isSVGTextElement(this)) {
|
| // Do not take into account SVG's zoom rules, transform-origin, or percentage values.
|
| - style->applyTransform(transform, LayoutSize(0, 0), ComputedStyle::ExcludeTransformOrigin);
|
| + style->applyTransform(transform, LayoutSize(0, 0), ComputedStyle::ExcludeTransformOrigin, ComputedStyle::IncludeMotionPath, ComputedStyle::IncludeIndependentTransformProperties);
|
| } else {
|
| // CSS transforms operate with pre-scaled lengths. To make this work with SVG
|
| // (which applies the zoom factor globally, at the root level) we
|
| @@ -163,10 +163,10 @@ AffineTransform SVGGraphicsElement::calculateAnimatedLocalTransform() const
|
| FloatRect scaledBBox = layoutObject()->objectBoundingBox();
|
| scaledBBox.scale(zoom);
|
| transform.scale(1 / zoom);
|
| - style->applyTransform(transform, scaledBBox);
|
| + style->applyTransform(transform, scaledBBox, ComputedStyle::IncludeTransformOrigin, ComputedStyle::IncludeMotionPath, ComputedStyle::IncludeIndependentTransformProperties);
|
| transform.scale(zoom);
|
| } else {
|
| - style->applyTransform(transform, layoutObject()->objectBoundingBox());
|
| + style->applyTransform(transform, layoutObject()->objectBoundingBox(), ComputedStyle::IncludeTransformOrigin, ComputedStyle::IncludeMotionPath, ComputedStyle::IncludeIndependentTransformProperties);
|
| }
|
| }
|
|
|
|
|