Index: Source/core/svg/SVGPathParser.h |
diff --git a/Source/core/svg/SVGPathParser.h b/Source/core/svg/SVGPathParser.h |
index b3b6faa4963c006d932b279b6806d0684470f79c..0d2b59310597849e51e5fc85f6139ec237b31039 100644 |
--- a/Source/core/svg/SVGPathParser.h |
+++ b/Source/core/svg/SVGPathParser.h |
@@ -26,6 +26,7 @@ |
#include "core/svg/SVGPathConsumer.h" |
#include "core/svg/SVGPathSeg.h" |
+#include "platform/heap/Handle.h" |
#include "wtf/PassOwnPtr.h" |
#include "wtf/text/WTFString.h" |
@@ -33,8 +34,8 @@ namespace blink { |
class SVGPathSource; |
-class SVGPathParser { |
- WTF_MAKE_NONCOPYABLE(SVGPathParser); WTF_MAKE_FAST_ALLOCATED; |
+class SVGPathParser final : public NoBaseWillBeGarbageCollected<SVGPathParser> { |
+ WTF_MAKE_NONCOPYABLE(SVGPathParser); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED; |
public: |
SVGPathParser(); |
@@ -43,6 +44,8 @@ public: |
void setCurrentSource(SVGPathSource* source) { m_source = source; } |
void cleanup(); |
+ void trace(Visitor*); |
+ |
private: |
bool decomposeArcToCubic(float, float, float, FloatPoint&, FloatPoint&, bool largeArcFlag, bool sweepFlag); |
void parseClosePathSegment(); |
@@ -56,8 +59,8 @@ private: |
bool parseCurveToQuadraticSmoothSegment(); |
bool parseArcToSegment(); |
- SVGPathSource* m_source; |
- SVGPathConsumer* m_consumer; |
+ RawPtrWillBeMember<SVGPathSource> m_source; |
+ RawPtrWillBeMember<SVGPathConsumer> m_consumer; |
PathCoordinateMode m_mode; |
PathParsingMode m_pathParsingMode; |
SVGPathSegType m_lastCommand; |