Rename SVGPathParserFactory to SVGPathUtilities and remove the obsolete singleton
https://bugs.webkit.org/show_bug.cgi?id=85129
SVGPathParserFactory implements the singleton pattern, but stores no members.
Remove the singleton and move all functions to free-functions into SVGPathUtilities.h.
Makes the code easier to read - doesn't affect any tests.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromPathElement):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<):
* svg/SVGAllInOne.cpp:
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::parseAttribute):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::constructFromString):
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
* svg/SVGAnimatedType.cpp:
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
* svg/SVGPathBlender.cpp: Fix typo s/;;/;/
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::getTotalLength):
(WebCore::SVGPathElement::getPointAtLength):
(WebCore::SVGPathElement::getPathSegAtLength):
(WebCore::SVGPathElement::parseAttribute):
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::pathSegListChanged):
* svg/SVGPathParserFactory.h: Removed.
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::valueAsString):
* svg/SVGPathUtilities.cpp: Renamed from Source/WebCore/svg/SVGPathParserFactory.cpp.
(WebCore):
(WebCore::globalSVGPathBuilder):
(WebCore::globalSVGPathSegListBuilder):
(WebCore::globalSVGPathByteStreamBuilder):
(WebCore::globalSVGPathStringBuilder):
(WebCore::globalSVGPathTraversalStateBuilder):
(WebCore::globalSVGPathParser):
(WebCore::globalSVGPathBlender):
(WebCore::buildPathFromString):
(WebCore::buildSVGPathByteStreamFromSVGPathSegList):
(WebCore::buildPathFromByteStream):
(WebCore::buildSVGPathSegListFromByteStream):
(WebCore::buildStringFromByteStream):
(WebCore::buildStringFromSVGPathSegList):
(WebCore::buildSVGPathByteStreamFromString):
(WebCore::buildAnimatedSVGPathByteStream):
(WebCore::addToSVGPathByteStream):
(WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
(WebCore::getTotalLengthOfSVGPathByteStream):
(WebCore::getPointAtLengthOfSVGPathByteStream):
* svg/SVGPathUtilities.h: Added.
(WebCore):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@115560 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/svg/SVGGlyphElement.cpp b/Source/WebCore/svg/SVGGlyphElement.cpp
index 36de3f1..14d8e9d 100644
--- a/Source/WebCore/svg/SVGGlyphElement.cpp
+++ b/Source/WebCore/svg/SVGGlyphElement.cpp
@@ -29,7 +29,7 @@
#include "SVGFontElement.h"
#include "SVGFontFaceElement.h"
#include "SVGNames.h"
-#include "SVGPathParserFactory.h"
+#include "SVGPathUtilities.h"
namespace WebCore {
@@ -98,14 +98,6 @@
return SVGGlyph::Both;
}
-static inline Path parsePathData(const AtomicString& value)
-{
- Path result;
- SVGPathParserFactory* factory = SVGPathParserFactory::self();
- factory->buildPathFromString(value, result);
- return result;
-}
-
void SVGGlyphElement::inheritUnspecifiedAttributes(SVGGlyph& identifier, const SVGFontData* svgFontData)
{
if (identifier.horizontalAdvanceX == SVGGlyph::inheritedValue())
@@ -133,7 +125,7 @@
SVGGlyph SVGGlyphElement::buildGenericGlyphIdentifier(const SVGElement* element)
{
SVGGlyph identifier;
- identifier.pathData = parsePathData(element->fastGetAttribute(SVGNames::dAttr));
+ buildPathFromString(element->fastGetAttribute(SVGNames::dAttr), identifier.pathData);
// Spec: The horizontal advance after rendering the glyph in horizontal orientation.
// If the attribute is not specified, the effect is as if the attribute were set to the