| Index: Source/core/svg/SVGGraphicsElement.cpp
|
| diff --git a/Source/core/svg/SVGGraphicsElement.cpp b/Source/core/svg/SVGGraphicsElement.cpp
|
| index 9da02b36d0c5be6abf56906c9b2bd9bb4be5a591..6c3e1e3bea5c2cfb6092107d6fed7b74242112fc 100644
|
| --- a/Source/core/svg/SVGGraphicsElement.cpp
|
| +++ b/Source/core/svg/SVGGraphicsElement.cpp
|
| @@ -74,6 +74,14 @@ AffineTransform SVGGraphicsElement::animatedLocalTransform() const
|
|
|
| // Flatten any 3D transform.
|
| matrix = transform.toAffineTransform();
|
| +
|
| + // CSS bakes the zoom factor into lengths, including translation components.
|
| + // In order to align CSS & SVG transforms, we need to invert this operation.
|
| + float zoom = style->effectiveZoom();
|
| + if (zoom != 1) {
|
| + matrix.setE(matrix.e() / zoom);
|
| + matrix.setF(matrix.f() / zoom);
|
| + }
|
| } else {
|
| transformCurrentValue().concatenate(matrix);
|
| }
|
|
|