diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index 41b97a56189b..b2bbba8e5fee 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -1177,12 +1177,14 @@ Element::SetAttribute(const nsAString& aName, const nsAString& aValue, ErrorResult& aError) { - aError = nsContentUtils::CheckQName(aName, false); - if (aError.Failed()) { - return; - } const nsAttrName* name = InternalGetExistingAttrNameFromQName(aName); + if (!name) { + aError = nsContentUtils::CheckQName(aName, false); + if (aError.Failed()) { + return; + } + nsCOMPtr nameAtom; if (IsHTMLElement() && IsInHTMLDocument()) { nsAutoString lower;