| Index: third_party/WebKit/Source/core/svg/SVGPathParser.h
 | 
| diff --git a/third_party/WebKit/Source/core/svg/SVGPathParser.h b/third_party/WebKit/Source/core/svg/SVGPathParser.h
 | 
| index 927458639ab95c2818bcab6a2e88531e95b0c4b0..7e5ceadbb29d88e5a9998b69e0a16a03eb374f4b 100644
 | 
| --- a/third_party/WebKit/Source/core/svg/SVGPathParser.h
 | 
| +++ b/third_party/WebKit/Source/core/svg/SVGPathParser.h
 | 
| @@ -31,36 +31,23 @@
 | 
|  namespace blink {
 | 
|  
 | 
|  class SVGPathConsumer;
 | 
| -class SVGPathSource;
 | 
|  
 | 
| -class CORE_EXPORT SVGPathParser final {
 | 
| -    WTF_MAKE_NONCOPYABLE(SVGPathParser);
 | 
| -    STACK_ALLOCATED();
 | 
| -public:
 | 
| -    SVGPathParser(SVGPathSource* source, SVGPathConsumer* consumer)
 | 
| -        : m_source(source)
 | 
| -        , m_consumer(consumer)
 | 
| -    {
 | 
| -        ASSERT(m_source);
 | 
| -        ASSERT(m_consumer);
 | 
| -    }
 | 
| +namespace SVGPathParser {
 | 
|  
 | 
| -    bool parsePathDataFromSource(bool checkForInitialMoveTo = true)
 | 
| -    {
 | 
| -        ASSERT(m_source);
 | 
| -        ASSERT(m_consumer);
 | 
| -        if (checkForInitialMoveTo && !initialCommandIsMoveTo())
 | 
| +template<typename SourceType, typename ConsumerType>
 | 
| +inline bool parsePath(SourceType& source, ConsumerType& consumer)
 | 
| +{
 | 
| +    while (source.hasMoreData()) {
 | 
| +        PathSegmentData segment = source.parseSegment();
 | 
| +        if (segment.command == PathSegUnknown)
 | 
|              return false;
 | 
| -        return parsePath();
 | 
| -    }
 | 
|  
 | 
| -private:
 | 
| -    bool initialCommandIsMoveTo();
 | 
| -    bool parsePath();
 | 
| +        consumer.emitSegment(segment);
 | 
| +    }
 | 
| +    return true;
 | 
| +}
 | 
|  
 | 
| -    SVGPathSource* m_source;
 | 
| -    SVGPathConsumer* m_consumer;
 | 
| -};
 | 
| +} // namespace SVGPathParser
 | 
|  
 | 
|  class SVGPathNormalizer {
 | 
|      STACK_ALLOCATED();
 | 
| 
 |