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; |