diff options
author | Steve Block <steveblock@google.com> | 2011-05-18 13:36:51 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-05-24 15:38:28 +0100 |
commit | 2fc2651226baac27029e38c9d6ef883fa32084db (patch) | |
tree | e396d4bf89dcce6ed02071be66212495b1df1dec /Source/WebCore/svg/SVGUseElement.cpp | |
parent | b3725cedeb43722b3b175aaeff70552e562d2c94 (diff) | |
download | external_webkit-2fc2651226baac27029e38c9d6ef883fa32084db.zip external_webkit-2fc2651226baac27029e38c9d6ef883fa32084db.tar.gz external_webkit-2fc2651226baac27029e38c9d6ef883fa32084db.tar.bz2 |
Merge WebKit at r78450: Initial merge by git.
Change-Id: I6d3e5f1f868ec266a0aafdef66182ddc3f265dc1
Diffstat (limited to 'Source/WebCore/svg/SVGUseElement.cpp')
-rw-r--r-- | Source/WebCore/svg/SVGUseElement.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/WebCore/svg/SVGUseElement.cpp b/Source/WebCore/svg/SVGUseElement.cpp index 9f43f82..cc53bda 100644 --- a/Source/WebCore/svg/SVGUseElement.cpp +++ b/Source/WebCore/svg/SVGUseElement.cpp @@ -227,6 +227,24 @@ void SVGUseElement::synchronizeProperty(const QualifiedName& attrName) SVGTests::synchronizeProperties(this, attrName); } +AttributeToPropertyTypeMap& SVGUseElement::attributeToPropertyTypeMap() +{ + DEFINE_STATIC_LOCAL(AttributeToPropertyTypeMap, s_attributeToPropertyTypeMap, ()); + return s_attributeToPropertyTypeMap; +} + +void SVGUseElement::fillAttributeToPropertyTypeMap() +{ + AttributeToPropertyTypeMap& attributeToPropertyTypeMap = this->attributeToPropertyTypeMap(); + + SVGStyledTransformableElement::fillPassedAttributeToPropertyTypeMap(attributeToPropertyTypeMap); + attributeToPropertyTypeMap.set(SVGNames::xAttr, AnimatedLength); + attributeToPropertyTypeMap.set(SVGNames::yAttr, AnimatedLength); + attributeToPropertyTypeMap.set(SVGNames::widthAttr, AnimatedLength); + attributeToPropertyTypeMap.set(SVGNames::heightAttr, AnimatedLength); + attributeToPropertyTypeMap.set(XLinkNames::hrefAttr, AnimatedLength); +} + static void updateContainerSize(SVGUseElement* useElement, SVGElementInstance* targetInstance) { // Depth-first used to write the method in early exit style, no particular other reason. @@ -716,6 +734,8 @@ void SVGUseElement::buildInstanceTree(SVGElement* target, SVGElementInstance* ta // Enter recursion, appending new instance tree nodes to the "instance" object. buildInstanceTree(element, instancePtr, foundProblem); + if (foundProblem) + return; } if (!targetHasUseTag || !newTarget) |