| Index: Source/core/svg/SVGSVGElement.cpp
|
| diff --git a/Source/core/svg/SVGSVGElement.cpp b/Source/core/svg/SVGSVGElement.cpp
|
| index 7f1d340d964a924f8dea2283791be883a843b5d9..30cf7fa27e2e365a56436721ca0275a31bc85b6a 100644
|
| --- a/Source/core/svg/SVGSVGElement.cpp
|
| +++ b/Source/core/svg/SVGSVGElement.cpp
|
| @@ -51,6 +51,7 @@
|
| #include "core/svg/SVGRectTearOff.h"
|
| #include "core/svg/SVGTransform.h"
|
| #include "core/svg/SVGTransformList.h"
|
| +#include "core/svg/SVGTransformTearOff.h"
|
| #include "core/svg/SVGViewElement.h"
|
| #include "core/svg/SVGViewSpec.h"
|
| #include "core/svg/animation/SMILTimeContainer.h"
|
| @@ -399,9 +400,9 @@ PassRefPtr<SVGPointTearOff> SVGSVGElement::createSVGPoint()
|
| return SVGPointTearOff::create(SVGPoint::create(), 0, PropertyIsNotAnimVal);
|
| }
|
|
|
| -SVGMatrix SVGSVGElement::createSVGMatrix()
|
| +PassRefPtr<SVGMatrixTearOff> SVGSVGElement::createSVGMatrix()
|
| {
|
| - return SVGMatrix();
|
| + return SVGMatrixTearOff::create(AffineTransform());
|
| }
|
|
|
| PassRefPtr<SVGRectTearOff> SVGSVGElement::createSVGRect()
|
| @@ -409,14 +410,14 @@ PassRefPtr<SVGRectTearOff> SVGSVGElement::createSVGRect()
|
| return SVGRectTearOff::create(SVGRect::create(), 0, PropertyIsNotAnimVal);
|
| }
|
|
|
| -SVGTransform SVGSVGElement::createSVGTransform()
|
| +PassRefPtr<SVGTransformTearOff> SVGSVGElement::createSVGTransform()
|
| {
|
| - return SVGTransform(SVGTransform::SVG_TRANSFORM_MATRIX);
|
| + return SVGTransformTearOff::create(SVGTransform::create(SVG_TRANSFORM_MATRIX), 0, PropertyIsNotAnimVal);
|
| }
|
|
|
| -SVGTransform SVGSVGElement::createSVGTransformFromMatrix(const SVGMatrix& matrix)
|
| +PassRefPtr<SVGTransformTearOff> SVGSVGElement::createSVGTransformFromMatrix(PassRefPtr<SVGMatrixTearOff> matrix)
|
| {
|
| - return SVGTransform(static_cast<const AffineTransform&>(matrix));
|
| + return SVGTransformTearOff::create(SVGTransform::create(matrix->value()), 0, PropertyIsNotAnimVal);
|
| }
|
|
|
| AffineTransform SVGSVGElement::localCoordinateSpaceTransform(SVGElement::CTMScope mode) const
|
| @@ -675,12 +676,12 @@ AffineTransform SVGSVGElement::viewBoxToViewTransform(float viewWidth, float vie
|
| return SVGFitToViewBox::viewBoxToViewTransform(currentViewBoxRect(), preserveAspectRatio()->currentValue(), viewWidth, viewHeight);
|
|
|
| AffineTransform ctm = SVGFitToViewBox::viewBoxToViewTransform(currentViewBoxRect(), m_viewSpec->preserveAspectRatio()->currentValue(), viewWidth, viewHeight);
|
| - const SVGTransformList& transformList = m_viewSpec->transformBaseValue();
|
| - if (transformList.isEmpty())
|
| + RefPtr<SVGTransformList> transformList = m_viewSpec->transform();
|
| + if (transformList->isEmpty())
|
| return ctm;
|
|
|
| AffineTransform transform;
|
| - if (transformList.concatenate(transform))
|
| + if (transformList->concatenate(transform))
|
| ctm *= transform;
|
|
|
| return ctm;
|
|
|