void Element::styleAttributeChanged(const AtomicString& newStyleString) { ASSERT(isStyledElement()); if (newStyleString.isNull()) { ensureUniqueElementData().m_inlineStyle.clear(); } else { setInlineStyleFromString(newStyleString); } elementData()->m_styleAttributeIsDirty = false; setNeedsStyleRecalc(LocalStyleChange); }
void StyledElement::styleAttributeChanged(const AtomicString& newStyleString, AttributeModificationReason reason) { WTF::OrdinalNumber startLineNumber = WTF::OrdinalNumber::beforeFirst(); if (document().scriptableDocumentParser() && !document().isInDocumentWrite()) startLineNumber = document().scriptableDocumentParser()->textPosition().m_line; if (newStyleString.isNull()) { if (PropertySetCSSStyleDeclaration* cssomWrapper = inlineStyleCSSOMWrapper()) cssomWrapper->clearParentElement(); ensureUniqueElementData().m_inlineStyle = nullptr; } else if (reason == ModifiedByCloning || document().contentSecurityPolicy()->allowInlineStyle(document().url(), startLineNumber, isInUserAgentShadowTree())) setInlineStyleFromString(newStyleString); elementData()->setStyleAttributeIsDirty(false); setNeedsStyleRecalc(InlineStyleChange); InspectorInstrumentation::didInvalidateStyleAttr(document(), *this); }