| Index: Source/WebCore/dom/StyledElement.cpp
|
| diff --git a/Source/WebCore/dom/StyledElement.cpp b/Source/WebCore/dom/StyledElement.cpp
|
| index 9a2c8325699881899d96e56046d970ba9f6a3e8f..a4143baab6bc2aa56b7a1dca81b165dc07627eca 100644
|
| --- a/Source/WebCore/dom/StyledElement.cpp
|
| +++ b/Source/WebCore/dom/StyledElement.cpp
|
| @@ -157,16 +157,16 @@ MutableStylePropertySet* StyledElement::ensureMutableInlineStyle()
|
| return static_cast<MutableStylePropertySet*>(inlineStyle.get());
|
| }
|
|
|
| -void StyledElement::attributeChanged(const QualifiedName& name, const AtomicString& newValue)
|
| +void StyledElement::attributeChanged(const QualifiedName& name, const AtomicString& newValue, AttributeModificationReason reason)
|
| {
|
| if (name == styleAttr)
|
| - styleAttributeChanged(newValue);
|
| + styleAttributeChanged(newValue, reason);
|
| else if (isPresentationAttribute(name)) {
|
| elementData()->m_presentationAttributeStyleIsDirty = true;
|
| setNeedsStyleRecalc(InlineStyleChange);
|
| }
|
|
|
| - Element::attributeChanged(name, newValue);
|
| + Element::attributeChanged(name, newValue, reason);
|
| }
|
|
|
| PropertySetCSSStyleDeclaration* StyledElement::inlineStyleCSSOMWrapper()
|
| @@ -197,7 +197,7 @@ inline void StyledElement::setInlineStyleFromString(const AtomicString& newStyle
|
| inlineStyle->parseDeclaration(newStyleString, document()->elementSheet()->contents());
|
| }
|
|
|
| -void StyledElement::styleAttributeChanged(const AtomicString& newStyleString)
|
| +void StyledElement::styleAttributeChanged(const AtomicString& newStyleString, AttributeModificationReason modificationReason)
|
| {
|
| WTF::OrdinalNumber startLineNumber = WTF::OrdinalNumber::beforeFirst();
|
| if (document() && document()->scriptableDocumentParser() && !document()->isInDocumentWrite())
|
| @@ -207,7 +207,7 @@ void StyledElement::styleAttributeChanged(const AtomicString& newStyleString)
|
| if (PropertySetCSSStyleDeclaration* cssomWrapper = inlineStyleCSSOMWrapper())
|
| cssomWrapper->clearParentElement();
|
| ensureUniqueElementData()->m_inlineStyle.clear();
|
| - } else if (document()->contentSecurityPolicy()->allowInlineStyle(document()->url(), startLineNumber))
|
| + } else if (modificationReason == ModifiedByCloning || document()->contentSecurityPolicy()->allowInlineStyle(document()->url(), startLineNumber))
|
| setInlineStyleFromString(newStyleString);
|
|
|
| elementData()->m_styleAttributeIsDirty = false;
|
|
|