| Index: Source/core/svg/SVGPatternElement.cpp
|
| diff --git a/Source/core/svg/SVGPatternElement.cpp b/Source/core/svg/SVGPatternElement.cpp
|
| index 109a8c1250132126b6e79691099328737c1a1c6f..dcbd782f14f1640f82469243bb983aef19a49a31 100644
|
| --- a/Source/core/svg/SVGPatternElement.cpp
|
| +++ b/Source/core/svg/SVGPatternElement.cpp
|
| @@ -32,10 +32,6 @@
|
| namespace WebCore {
|
|
|
| // Animated property definitions
|
| -DEFINE_ANIMATED_LENGTH(SVGPatternElement, SVGNames::xAttr, X, x)
|
| -DEFINE_ANIMATED_LENGTH(SVGPatternElement, SVGNames::yAttr, Y, y)
|
| -DEFINE_ANIMATED_LENGTH(SVGPatternElement, SVGNames::widthAttr, Width, width)
|
| -DEFINE_ANIMATED_LENGTH(SVGPatternElement, SVGNames::heightAttr, Height, height)
|
| DEFINE_ANIMATED_ENUMERATION(SVGPatternElement, SVGNames::patternUnitsAttr, PatternUnits, patternUnits, SVGUnitTypes::SVGUnitType)
|
| DEFINE_ANIMATED_ENUMERATION(SVGPatternElement, SVGNames::patternContentUnitsAttr, PatternContentUnits, patternContentUnits, SVGUnitTypes::SVGUnitType)
|
| DEFINE_ANIMATED_TRANSFORM_LIST(SVGPatternElement, SVGNames::patternTransformAttr, PatternTransform, patternTransform)
|
| @@ -44,10 +40,6 @@ DEFINE_ANIMATED_RECT(SVGPatternElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
|
| DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGPatternElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
|
|
|
| BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGPatternElement)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(x)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(y)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(width)
|
| - REGISTER_LOCAL_ANIMATED_PROPERTY(height)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(patternUnits)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(patternContentUnits)
|
| REGISTER_LOCAL_ANIMATED_PROPERTY(patternTransform)
|
| @@ -60,14 +52,19 @@ END_REGISTER_ANIMATED_PROPERTIES
|
|
|
| inline SVGPatternElement::SVGPatternElement(Document& document)
|
| : SVGElement(SVGNames::patternTag, document)
|
| - , m_x(LengthModeWidth)
|
| - , m_y(LengthModeHeight)
|
| - , m_width(LengthModeWidth)
|
| - , m_height(LengthModeHeight)
|
| + , m_x(SVGAnimatedLength::create(this, SVGNames::xAttr, SVGLength::create(LengthModeWidth)))
|
| + , m_y(SVGAnimatedLength::create(this, SVGNames::yAttr, SVGLength::create(LengthModeHeight)))
|
| + , m_width(SVGAnimatedLength::create(this, SVGNames::widthAttr, SVGLength::create(LengthModeWidth)))
|
| + , m_height(SVGAnimatedLength::create(this, SVGNames::heightAttr, SVGLength::create(LengthModeHeight)))
|
| , m_patternUnits(SVGUnitTypes::SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)
|
| , m_patternContentUnits(SVGUnitTypes::SVG_UNIT_TYPE_USERSPACEONUSE)
|
| {
|
| ScriptWrappable::init(this);
|
| +
|
| + addToPropertyMap(m_x);
|
| + addToPropertyMap(m_y);
|
| + addToPropertyMap(m_width);
|
| + addToPropertyMap(m_height);
|
| registerAnimatedPropertiesForSVGPatternElement();
|
| }
|
|
|
| @@ -117,13 +114,13 @@ void SVGPatternElement::parseAttribute(const QualifiedName& name, const AtomicSt
|
| setPatternTransformBaseValue(newList);
|
| return;
|
| } else if (name == SVGNames::xAttr)
|
| - setXBaseValue(SVGLength::construct(LengthModeWidth, value, parseError));
|
| + m_x->setBaseValueAsString(value, AllowNegativeLengths, parseError);
|
| else if (name == SVGNames::yAttr)
|
| - setYBaseValue(SVGLength::construct(LengthModeHeight, value, parseError));
|
| + m_y->setBaseValueAsString(value, AllowNegativeLengths, parseError);
|
| else if (name == SVGNames::widthAttr)
|
| - setWidthBaseValue(SVGLength::construct(LengthModeWidth, value, parseError, ForbidNegativeLengths));
|
| + m_width->setBaseValueAsString(value, ForbidNegativeLengths, parseError);
|
| else if (name == SVGNames::heightAttr)
|
| - setHeightBaseValue(SVGLength::construct(LengthModeHeight, value, parseError, ForbidNegativeLengths));
|
| + m_height->setBaseValueAsString(value, ForbidNegativeLengths, parseError);
|
| else if (SVGURIReference::parseAttribute(name, value)
|
| || SVGTests::parseAttribute(name, value)
|
| || SVGFitToViewBox::parseAttribute(this, name, value)) {
|
| @@ -176,16 +173,16 @@ void SVGPatternElement::collectPatternAttributes(PatternAttributes& attributes)
|
| const SVGPatternElement* current = this;
|
| while (current) {
|
| if (!attributes.hasX() && current->hasAttribute(SVGNames::xAttr))
|
| - attributes.setX(current->xCurrentValue());
|
| + attributes.setX(current->x()->currentValue());
|
|
|
| if (!attributes.hasY() && current->hasAttribute(SVGNames::yAttr))
|
| - attributes.setY(current->yCurrentValue());
|
| + attributes.setY(current->y()->currentValue());
|
|
|
| if (!attributes.hasWidth() && current->hasAttribute(SVGNames::widthAttr))
|
| - attributes.setWidth(current->widthCurrentValue());
|
| + attributes.setWidth(current->width()->currentValue());
|
|
|
| if (!attributes.hasHeight() && current->hasAttribute(SVGNames::heightAttr))
|
| - attributes.setHeight(current->heightCurrentValue());
|
| + attributes.setHeight(current->height()->currentValue());
|
|
|
| if (!attributes.hasViewBox() && current->hasAttribute(SVGNames::viewBoxAttr) && current->viewBoxCurrentValue().isValid())
|
| attributes.setViewBox(current->viewBoxCurrentValue());
|
| @@ -234,10 +231,10 @@ AffineTransform SVGPatternElement::localCoordinateSpaceTransform(SVGElement::CTM
|
|
|
| bool SVGPatternElement::selfHasRelativeLengths() const
|
| {
|
| - return xCurrentValue().isRelative()
|
| - || yCurrentValue().isRelative()
|
| - || widthCurrentValue().isRelative()
|
| - || heightCurrentValue().isRelative();
|
| + return m_x->currentValue()->isRelative()
|
| + || m_y->currentValue()->isRelative()
|
| + || m_width->currentValue()->isRelative()
|
| + || m_height->currentValue()->isRelative();
|
| }
|
|
|
| }
|
|
|