| Index: Source/core/svg/SVGPatternElement.cpp
 | 
| diff --git a/Source/core/svg/SVGPatternElement.cpp b/Source/core/svg/SVGPatternElement.cpp
 | 
| index 8063d944377f4e1edca1ebc1308aa4276cbfb89f..5b21cb16a6ffc5dce17c12ee508ad4994afeab63 100644
 | 
| --- a/Source/core/svg/SVGPatternElement.cpp
 | 
| +++ b/Source/core/svg/SVGPatternElement.cpp
 | 
| @@ -88,6 +88,24 @@ bool SVGPatternElement::isSupportedAttribute(const QualifiedName& attrName)
 | 
|      return supportedAttributes.contains<SVGAttributeHashTranslator>(attrName);
 | 
|  }
 | 
|  
 | 
| +bool SVGPatternElement::isPresentationAttribute(const QualifiedName& attrName) const
 | 
| +{
 | 
| +    if (attrName == SVGNames::xAttr || attrName == SVGNames::yAttr)
 | 
| +        return true;
 | 
| +    return SVGElement::isPresentationAttribute(attrName);
 | 
| +}
 | 
| +
 | 
| +void SVGPatternElement::collectStyleForPresentationAttribute(const QualifiedName& name, const AtomicString& value, MutableStylePropertySet* style)
 | 
| +{
 | 
| +    RefPtrWillBeRawPtr<SVGAnimatedPropertyBase> property = propertyFromAttribute(name);
 | 
| +    if (property == m_x)
 | 
| +        addPropertyToPresentationAttributeStyle(style, CSSPropertyX, m_x->currentValue()->valueInSpecifiedUnits(), m_x->currentValue()->cssUnitTypeQuirk());
 | 
| +    else if (property == m_y)
 | 
| +        addPropertyToPresentationAttributeStyle(style, CSSPropertyY, m_y->currentValue()->valueInSpecifiedUnits(), m_y->currentValue()->cssUnitTypeQuirk());
 | 
| +    else
 | 
| +        SVGElement::collectStyleForPresentationAttribute(name, value, style);
 | 
| +}
 | 
| +
 | 
|  void SVGPatternElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
 | 
|  {
 | 
|      parseAttributeNew(name, value);
 | 
| @@ -103,6 +121,13 @@ void SVGPatternElement::svgAttributeChanged(const QualifiedName& attrName)
 | 
|      SVGElement::InvalidationGuard invalidationGuard(this);
 | 
|  
 | 
|      if (attrName == SVGNames::xAttr
 | 
| +        || attrName == SVGNames::yAttr) {
 | 
| +        invalidateSVGPresentationAttributeStyle();
 | 
| +        setNeedsStyleRecalc(LocalStyleChange,
 | 
| +            StyleChangeReasonForTracing::fromAttribute(attrName));
 | 
| +    }
 | 
| +
 | 
| +    if (attrName == SVGNames::xAttr
 | 
|          || attrName == SVGNames::yAttr
 | 
|          || attrName == SVGNames::widthAttr
 | 
|          || attrName == SVGNames::heightAttr)
 | 
| 
 |