| Index: Source/core/svg/SVGPolyElement.cpp
|
| diff --git a/Source/core/svg/SVGPolyElement.cpp b/Source/core/svg/SVGPolyElement.cpp
|
| index 65a663a929a3dd65bfbc42bfa380091878d624a6..eea18f4bf8b5d5c08402d20e6f15c4357fe34cac 100644
|
| --- a/Source/core/svg/SVGPolyElement.cpp
|
| +++ b/Source/core/svg/SVGPolyElement.cpp
|
| @@ -30,42 +30,17 @@
|
|
|
| namespace WebCore {
|
|
|
| -// Define custom animated property 'points'.
|
| -const SVGPropertyInfo* SVGPolyElement::pointsPropertyInfo()
|
| -{
|
| - static const SVGPropertyInfo* s_propertyInfo = 0;
|
| - if (!s_propertyInfo) {
|
| - s_propertyInfo = new SVGPropertyInfo(AnimatedPoints,
|
| - PropertyIsReadWrite,
|
| - SVGNames::pointsAttr,
|
| - SVGNames::pointsAttr.localName(),
|
| - &SVGPolyElement::synchronizePoints,
|
| - &SVGPolyElement::lookupOrCreatePointsWrapper);
|
| - }
|
| - return s_propertyInfo;
|
| -}
|
| -
|
| -SVGPointList& SVGPolyElement::pointsCurrentValue()
|
| -{
|
| - SVGAnimatedProperty* wrapper = SVGAnimatedProperty::lookupWrapper<SVGPolyElement, SVGAnimatedPointList>(this, pointsPropertyInfo());
|
| - if (wrapper && wrapper->isAnimating()) {
|
| - if (SVGListPropertyTearOff<SVGPointList>* ap = animatedPoints())
|
| - return ap->values();
|
| - }
|
| -
|
| - return m_points.value;
|
| -}
|
| -
|
| // Animated property definitions
|
|
|
| BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGPolyElement)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(points)
|
| REGISTER_PARENT_ANIMATED_PROPERTIES(SVGGraphicsElement)
|
| END_REGISTER_ANIMATED_PROPERTIES
|
|
|
| SVGPolyElement::SVGPolyElement(const QualifiedName& tagName, Document& document)
|
| : SVGGeometryElement(tagName, document)
|
| + , m_points(SVGAnimatedPointList::create(this, SVGNames::pointsAttr, SVGPointList::create()))
|
| {
|
| + addToPropertyMap(m_points);
|
| registerAnimatedPropertiesForSVGPolyElement();
|
| }
|
|
|
| @@ -86,14 +61,9 @@ void SVGPolyElement::parseAttribute(const QualifiedName& name, const AtomicStrin
|
| }
|
|
|
| if (name == SVGNames::pointsAttr) {
|
| - SVGPointList newList;
|
| - if (!pointsListFromSVGData(newList, value))
|
| - document().accessSVGExtensions()->reportError("Problem parsing points=\"" + value + "\"");
|
| -
|
| - if (SVGAnimatedProperty* wrapper = SVGAnimatedProperty::lookupWrapper<SVGPolyElement, SVGAnimatedPointList>(this, pointsPropertyInfo()))
|
| - static_cast<SVGAnimatedPointList*>(wrapper)->detachListWrappers(newList.size());
|
| -
|
| - m_points.value = newList;
|
| + SVGParsingError parseError = NoError;
|
| + m_points->setBaseValueAsString(value, parseError);
|
| + reportAttributeParsingError(parseError, name, value);
|
| return;
|
| }
|
|
|
| @@ -122,33 +92,4 @@ void SVGPolyElement::svgAttributeChanged(const QualifiedName& attrName)
|
| ASSERT_NOT_REACHED();
|
| }
|
|
|
| -void SVGPolyElement::synchronizePoints(SVGElement* contextElement)
|
| -{
|
| - ASSERT(contextElement);
|
| - SVGPolyElement* ownerType = toSVGPolyElement(contextElement);
|
| - if (!ownerType->m_points.shouldSynchronize)
|
| - return;
|
| - ownerType->m_points.synchronize(ownerType, pointsPropertyInfo()->attributeName, AtomicString(ownerType->m_points.value.valueAsString()));
|
| -}
|
| -
|
| -PassRefPtr<SVGAnimatedProperty> SVGPolyElement::lookupOrCreatePointsWrapper(SVGElement* contextElement)
|
| -{
|
| - ASSERT(contextElement);
|
| - SVGPolyElement* ownerType = toSVGPolyElement(contextElement);
|
| - return SVGAnimatedProperty::lookupOrCreateWrapper<SVGPolyElement, SVGAnimatedPointList, SVGPointList>
|
| - (ownerType, pointsPropertyInfo(), ownerType->m_points.value);
|
| -}
|
| -
|
| -SVGListPropertyTearOff<SVGPointList>* SVGPolyElement::points()
|
| -{
|
| - m_points.shouldSynchronize = true;
|
| - return static_cast<SVGListPropertyTearOff<SVGPointList>*>(static_pointer_cast<SVGAnimatedPointList>(lookupOrCreatePointsWrapper(this))->baseVal());
|
| -}
|
| -
|
| -SVGListPropertyTearOff<SVGPointList>* SVGPolyElement::animatedPoints()
|
| -{
|
| - m_points.shouldSynchronize = true;
|
| - return static_cast<SVGListPropertyTearOff<SVGPointList>*>(static_pointer_cast<SVGAnimatedPointList>(lookupOrCreatePointsWrapper(this))->animVal());
|
| -}
|
| -
|
| }
|
|
|