summaryrefslogtreecommitdiffstats
path: root/WebCore/svg/SVGTextPathElement.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-02-02 14:57:50 +0000
committerSteve Block <steveblock@google.com>2010-02-04 15:06:55 +0000
commitd0825bca7fe65beaee391d30da42e937db621564 (patch)
tree7461c49eb5844ffd1f35d1ba2c8b7584c1620823 /WebCore/svg/SVGTextPathElement.cpp
parent3db770bd97c5a59b6c7574ca80a39e5a51c1defd (diff)
downloadexternal_webkit-d0825bca7fe65beaee391d30da42e937db621564.zip
external_webkit-d0825bca7fe65beaee391d30da42e937db621564.tar.gz
external_webkit-d0825bca7fe65beaee391d30da42e937db621564.tar.bz2
Merge webkit.org at r54127 : Initial merge by git
Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
Diffstat (limited to 'WebCore/svg/SVGTextPathElement.cpp')
-rw-r--r--WebCore/svg/SVGTextPathElement.cpp31
1 files changed, 25 insertions, 6 deletions
diff --git a/WebCore/svg/SVGTextPathElement.cpp b/WebCore/svg/SVGTextPathElement.cpp
index 8a01ad9..eec6fc8 100644
--- a/WebCore/svg/SVGTextPathElement.cpp
+++ b/WebCore/svg/SVGTextPathElement.cpp
@@ -36,10 +36,9 @@ namespace WebCore {
SVGTextPathElement::SVGTextPathElement(const QualifiedName& tagName, Document* doc)
: SVGTextContentElement(tagName, doc)
, SVGURIReference()
- , m_startOffset(this, SVGNames::startOffsetAttr, LengthModeOther)
- , m_method(this, SVGNames::methodAttr, SVG_TEXTPATH_METHODTYPE_ALIGN)
- , m_spacing(this, SVGNames::spacingAttr, SVG_TEXTPATH_SPACINGTYPE_EXACT)
- , m_href(this, XLinkNames::hrefAttr)
+ , m_startOffset(LengthModeOther)
+ , m_method(SVG_TEXTPATH_METHODTYPE_ALIGN)
+ , m_spacing(SVG_TEXTPATH_SPACINGTYPE_EXACT)
{
}
@@ -70,6 +69,28 @@ void SVGTextPathElement::parseMappedAttribute(MappedAttribute* attr)
}
}
+void SVGTextPathElement::synchronizeProperty(const QualifiedName& attrName)
+{
+ SVGTextContentElement::synchronizeProperty(attrName);
+
+ if (attrName == anyQName()) {
+ synchronizeStartOffset();
+ synchronizeMethod();
+ synchronizeSpacing();
+ synchronizeHref();
+ return;
+ }
+
+ if (attrName == SVGNames::startOffsetAttr)
+ synchronizeStartOffset();
+ else if (attrName == SVGNames::methodAttr)
+ synchronizeMethod();
+ else if (attrName == SVGNames::spacingAttr)
+ synchronizeSpacing();
+ else if (SVGURIReference::isKnownAttribute(attrName))
+ synchronizeHref();
+}
+
RenderObject* SVGTextPathElement::createRenderer(RenderArena* arena, RenderStyle*)
{
return new (arena) RenderSVGTextPath(this);
@@ -102,5 +123,3 @@ void SVGTextPathElement::insertedIntoDocument()
}
#endif // ENABLE(SVG)
-
-// vim:ts=4:noet