Chromium Code Reviews| Index: Source/core/svg/SVGSVGElement.cpp |
| diff --git a/Source/core/svg/SVGSVGElement.cpp b/Source/core/svg/SVGSVGElement.cpp |
| index 1dc42fc9727fd325982177edd68ffc93bc3b022b..2a562a23011accea1e0659f05d18add2d4ba223f 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" |
| @@ -427,9 +428,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() |
| @@ -437,14 +438,18 @@ 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)); |
| + // FIXME: remove after nbarth@'s [StrictTypeChecking] patch |
|
fs
2014/02/17 14:14:31
This should be fixed on trunk/master now. Just nee
kouhei (in TOK)
2014/02/18 02:09:15
Right! Thanks for pointing out.
|
| + if (!matrix) |
| + return 0; |
| + |
| + return SVGTransformTearOff::create(SVGTransform::create(matrix->value()), 0, PropertyIsNotAnimVal); |
| } |
| AffineTransform SVGSVGElement::localCoordinateSpaceTransform(SVGElement::CTMScope mode) const |
| @@ -703,12 +708,12 @@ AffineTransform SVGSVGElement::viewBoxToViewTransform(float viewWidth, float vie |
| return SVGFitToViewBox::viewBoxToViewTransform(currentViewBoxRect(), m_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; |