diff --git a/dom/base/nsNodeUtils.cpp b/dom/base/nsNodeUtils.cpp index 3670b54381..85cd791c52 100644 --- a/dom/base/nsNodeUtils.cpp +++ b/dom/base/nsNodeUtils.cpp @@ -479,37 +479,31 @@ nsNodeUtils::CloneAndAdopt(nsINode *aNode, bool aClone, bool aDeep, rv = aNode->Clone(nodeInfo, getter_AddRefs(clone)); NS_ENSURE_SUCCESS(rv, rv); - if (CustomElementRegistry::IsCustomElementEnabled() && clone->IsElement()) { + if (CustomElementRegistry::IsCustomElementEnabled() && + clone->IsHTMLElement()) { // The cloned node may be a custom element that may require // enqueing upgrade reaction. - Element* elem = clone->AsElement(); - CustomElementDefinition* definition = nullptr; + Element* cloneElem = clone->AsElement(); RefPtr tagAtom = nodeInfo->NameAtom(); - if (nsContentUtils::IsCustomElementName(tagAtom)) { - elem->SetCustomElementData(new CustomElementData(tagAtom)); - definition = + CustomElementData* data = elem->GetCustomElementData(); + + // Check if node may be custom element by type extension. + // ex.