| Index: Source/WebCore/dom/Element.cpp
|
| diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp
|
| index ea2a15562fe5e4df63cb432bf92cd05773299e7c..1988682a2d368dde3c7cb48607da4f36b329be7c 100644
|
| --- a/Source/WebCore/dom/Element.cpp
|
| +++ b/Source/WebCore/dom/Element.cpp
|
| @@ -831,7 +831,7 @@ static bool checkNeedsStyleInvalidationForIdChange(const AtomicString& oldId, co
|
| return false;
|
| }
|
|
|
| -void Element::attributeChanged(const QualifiedName& name, const AtomicString& newValue)
|
| +void Element::attributeChanged(const QualifiedName& name, const AtomicString& newValue, AttributeModificationReason)
|
| {
|
| if (ElementShadow* parentElementShadow = shadowOfParentForDistribution(this)) {
|
| if (shouldInvalidateDistributionWhenAttributeChanged(parentElementShadow, name, newValue))
|
| @@ -874,7 +874,7 @@ void Element::attributeChanged(const QualifiedName& name, const AtomicString& ne
|
| cache->handleAttributeChanged(name, this);
|
| }
|
|
|
| -inline void Element::attributeChangedFromParserOrByCloning(const QualifiedName& name, const AtomicString& newValue)
|
| +inline void Element::attributeChangedFromParserOrByCloning(const QualifiedName& name, const AtomicString& newValue, AttributeModificationReason reason)
|
| {
|
| #if ENABLE(CUSTOM_ELEMENTS)
|
| if (name == isAttr) {
|
| @@ -882,7 +882,7 @@ inline void Element::attributeChangedFromParserOrByCloning(const QualifiedName&
|
| registry->didGiveTypeExtension(this);
|
| }
|
| #endif
|
| - attributeChanged(name, newValue);
|
| + attributeChanged(name, newValue, reason);
|
| }
|
|
|
| template <typename CharacterType>
|
| @@ -1060,7 +1060,7 @@ void Element::parserSetAttributes(const Vector<Attribute>& attributeVector)
|
|
|
| // Use attributeVector instead of m_elementData because attributeChanged might modify m_elementData.
|
| for (unsigned i = 0; i < attributeVector.size(); ++i)
|
| - attributeChangedFromParserOrByCloning(attributeVector[i].name(), attributeVector[i].value());
|
| + attributeChangedFromParserOrByCloning(attributeVector[i].name(), attributeVector[i].value(), ModifiedDirectly);
|
| }
|
|
|
| bool Element::hasAttributes() const
|
| @@ -2859,7 +2859,7 @@ void Element::cloneAttributesFromElement(const Element& other)
|
|
|
| for (unsigned i = 0; i < m_elementData->length(); ++i) {
|
| const Attribute* attribute = const_cast<const ElementData*>(m_elementData.get())->attributeItem(i);
|
| - attributeChangedFromParserOrByCloning(attribute->name(), attribute->value());
|
| + attributeChangedFromParserOrByCloning(attribute->name(), attribute->value(), ModifiedByCloning);
|
| }
|
| }
|
|
|
|
|