Manage SVGPathByteStream through std::unique_ptr
[WebKit-https.git] / Source / WebCore / svg / SVGPathByteStream.h
index 523faec..715285b 100644 (file)
@@ -22,7 +22,6 @@
 
 #if ENABLE(SVG)
 #include <wtf/Noncopyable.h>
-#include <wtf/PassOwnPtr.h>
 #include <wtf/Vector.h>
 
 namespace WebCore {
@@ -46,19 +45,17 @@ typedef union {
 class SVGPathByteStream {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    static PassOwnPtr<SVGPathByteStream> create()
-    {
-        return adoptPtr(new SVGPathByteStream);
-    }
+    typedef Vector<unsigned char> Data;
+    typedef Data::const_iterator DataIterator;
 
-    PassOwnPtr<SVGPathByteStream> copy()
+    SVGPathByteStream() { }
+    SVGPathByteStream(const Data& data) : m_data(data) { }
+
+    std::unique_ptr<SVGPathByteStream> copy() const
     {
-        return adoptPtr(new SVGPathByteStream(m_data));
+        return std::make_unique<SVGPathByteStream>(m_data);
     }
 
-    typedef Vector<unsigned char> Data;
-    typedef Data::const_iterator DataIterator;
-
     DataIterator begin() { return m_data.begin(); }
     DataIterator end() { return m_data.end(); }
     void append(unsigned char byte) { m_data.append(byte); }
@@ -75,12 +72,6 @@ public:
     void resize(unsigned) { }
 
 private:
-    SVGPathByteStream() { }
-    SVGPathByteStream(Data& data)
-        : m_data(data)
-    {
-    }
-
     Data m_data;
 };