Index: Source/core/rendering/svg/RenderSVGShape.h |
diff --git a/Source/core/rendering/svg/RenderSVGShape.h b/Source/core/rendering/svg/RenderSVGShape.h |
index 08ac06d4cb79e3cb3fb632a96191fa3021388ee2..7c2ff8c52c3613e6d7ea736579168959a514febd 100644 |
--- a/Source/core/rendering/svg/RenderSVGShape.h |
+++ b/Source/core/rendering/svg/RenderSVGShape.h |
@@ -70,7 +70,7 @@ public: |
bool hasNonScalingStroke() const { return style()->svgStyle().vectorEffect() == VE_NON_SCALING_STROKE; } |
Path* nonScalingStrokePath(const Path*, const AffineTransform&) const; |
AffineTransform nonScalingStrokeTransform() const; |
- virtual AffineTransform localTransform() const override final { return m_localTransform; } |
+ virtual AffineTransform localTransform() const override final { return m_localTransform ? *m_localTransform : RenderSVGModelObject::localTransform(); } |
virtual const Vector<MarkerPosition>* markerPositions() const { return 0; } |
@@ -98,7 +98,7 @@ private: |
bool fillContains(const FloatPoint&, bool requiresFill = true, const WindRule fillRule = RULE_NONZERO); |
bool strokeContains(const FloatPoint&, bool requiresStroke = true); |
- virtual const AffineTransform& localToParentTransform() const override final { return m_localTransform; } |
+ virtual const AffineTransform& localToParentTransform() const override final { return m_localTransform ? *m_localTransform : RenderSVGModelObject::localToParentTransform(); } |
virtual bool isOfType(RenderObjectType type) const override { return type == RenderObjectSVGShape || RenderSVGModelObject::isOfType(type); } |
virtual const char* renderName() const override { return "RenderSVGShape"; } |
@@ -113,10 +113,11 @@ private: |
FloatRect calculateObjectBoundingBox() const; |
FloatRect calculateStrokeBoundingBox() const; |
void updatePaintInvalidationBoundingBox(); |
+ void updateLocalTransform(); |
private: |
FloatRect m_paintInvalidationBoundingBox; |
- AffineTransform m_localTransform; |
+ OwnPtr<AffineTransform> m_localTransform; |
OwnPtr<Path> m_path; |
bool m_needsBoundariesUpdate : 1; |