Index: Source/core/svg/SVGPathElement.h |
diff --git a/Source/core/svg/SVGPathElement.h b/Source/core/svg/SVGPathElement.h |
index 7f4e4202a28ea9ffa2a6dea6265e7019f755ae91..e12fc0aff24f1bb876ea6547a1debc22e2e65b59 100644 |
--- a/Source/core/svg/SVGPathElement.h |
+++ b/Source/core/svg/SVGPathElement.h |
@@ -27,6 +27,7 @@ |
#include "core/svg/SVGAnimatedPath.h" |
#include "core/svg/SVGGeometryElement.h" |
#include "core/svg/SVGPathByteStream.h" |
+#include "platform/heap/Handle.h" |
#include "wtf/WeakPtr.h" |
namespace blink { |
@@ -57,30 +58,30 @@ public: |
DECLARE_NODE_FACTORY(SVGPathElement); |
float getTotalLength(); |
- PassRefPtr<SVGPointTearOff> getPointAtLength(float distance); |
+ PassRefPtrWillBeRawPtr<SVGPointTearOff> getPointAtLength(float distance); |
unsigned getPathSegAtLength(float distance); |
SVGAnimatedNumber* pathLength() { return m_pathLength.get(); } |
- PassRefPtr<SVGPathSegClosePath> createSVGPathSegClosePath(); |
- PassRefPtr<SVGPathSegMovetoAbs> createSVGPathSegMovetoAbs(float x, float y); |
- PassRefPtr<SVGPathSegMovetoRel> createSVGPathSegMovetoRel(float x, float y); |
- PassRefPtr<SVGPathSegLinetoAbs> createSVGPathSegLinetoAbs(float x, float y); |
- PassRefPtr<SVGPathSegLinetoRel> createSVGPathSegLinetoRel(float x, float y); |
- PassRefPtr<SVGPathSegCurvetoCubicAbs> createSVGPathSegCurvetoCubicAbs(float x, float y, float x1, float y1, float x2, float y2); |
- PassRefPtr<SVGPathSegCurvetoCubicRel> createSVGPathSegCurvetoCubicRel(float x, float y, float x1, float y1, float x2, float y2); |
- PassRefPtr<SVGPathSegCurvetoQuadraticAbs> createSVGPathSegCurvetoQuadraticAbs(float x, float y, float x1, float y1); |
- PassRefPtr<SVGPathSegCurvetoQuadraticRel> createSVGPathSegCurvetoQuadraticRel(float x, float y, float x1, float y1); |
- PassRefPtr<SVGPathSegArcAbs> createSVGPathSegArcAbs(float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag); |
- PassRefPtr<SVGPathSegArcRel> createSVGPathSegArcRel(float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag); |
- PassRefPtr<SVGPathSegLinetoHorizontalAbs> createSVGPathSegLinetoHorizontalAbs(float x); |
- PassRefPtr<SVGPathSegLinetoHorizontalRel> createSVGPathSegLinetoHorizontalRel(float x); |
- PassRefPtr<SVGPathSegLinetoVerticalAbs> createSVGPathSegLinetoVerticalAbs(float y); |
- PassRefPtr<SVGPathSegLinetoVerticalRel> createSVGPathSegLinetoVerticalRel(float y); |
- PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> createSVGPathSegCurvetoCubicSmoothAbs(float x, float y, float x2, float y2); |
- PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> createSVGPathSegCurvetoCubicSmoothRel(float x, float y, float x2, float y2); |
- PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> createSVGPathSegCurvetoQuadraticSmoothAbs(float x, float y); |
- PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> createSVGPathSegCurvetoQuadraticSmoothRel(float x, float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegClosePath> createSVGPathSegClosePath(); |
+ PassRefPtrWillBeRawPtr<SVGPathSegMovetoAbs> createSVGPathSegMovetoAbs(float x, float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegMovetoRel> createSVGPathSegMovetoRel(float x, float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegLinetoAbs> createSVGPathSegLinetoAbs(float x, float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegLinetoRel> createSVGPathSegLinetoRel(float x, float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoCubicAbs> createSVGPathSegCurvetoCubicAbs(float x, float y, float x1, float y1, float x2, float y2); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoCubicRel> createSVGPathSegCurvetoCubicRel(float x, float y, float x1, float y1, float x2, float y2); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoQuadraticAbs> createSVGPathSegCurvetoQuadraticAbs(float x, float y, float x1, float y1); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoQuadraticRel> createSVGPathSegCurvetoQuadraticRel(float x, float y, float x1, float y1); |
+ PassRefPtrWillBeRawPtr<SVGPathSegArcAbs> createSVGPathSegArcAbs(float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag); |
+ PassRefPtrWillBeRawPtr<SVGPathSegArcRel> createSVGPathSegArcRel(float x, float y, float r1, float r2, float angle, bool largeArcFlag, bool sweepFlag); |
+ PassRefPtrWillBeRawPtr<SVGPathSegLinetoHorizontalAbs> createSVGPathSegLinetoHorizontalAbs(float x); |
+ PassRefPtrWillBeRawPtr<SVGPathSegLinetoHorizontalRel> createSVGPathSegLinetoHorizontalRel(float x); |
+ PassRefPtrWillBeRawPtr<SVGPathSegLinetoVerticalAbs> createSVGPathSegLinetoVerticalAbs(float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegLinetoVerticalRel> createSVGPathSegLinetoVerticalRel(float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoCubicSmoothAbs> createSVGPathSegCurvetoCubicSmoothAbs(float x, float y, float x2, float y2); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoCubicSmoothRel> createSVGPathSegCurvetoCubicSmoothRel(float x, float y, float x2, float y2); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoQuadraticSmoothAbs> createSVGPathSegCurvetoQuadraticSmoothAbs(float x, float y); |
+ PassRefPtrWillBeRawPtr<SVGPathSegCurvetoQuadraticSmoothRel> createSVGPathSegCurvetoQuadraticSmoothRel(float x, float y); |
// Used in the bindings only. |
SVGPathSegListTearOff* pathSegList() { return m_pathSegList->baseVal(); } |
@@ -96,6 +97,8 @@ public: |
virtual FloatRect getBBox() override; |
+ virtual void trace(Visitor*) override; |
+ |
private: |
explicit SVGPathElement(Document&); |
@@ -108,8 +111,8 @@ private: |
void invalidateMPathDependencies(); |
- RefPtr<SVGAnimatedNumber> m_pathLength; |
- RefPtr<SVGAnimatedPath> m_pathSegList; |
+ RefPtrWillBeMember<SVGAnimatedNumber> m_pathLength; |
+ RefPtrWillBeMember<SVGAnimatedPath> m_pathSegList; |
}; |
} // namespace blink |