nsresult HTMLImageElement::CopyInnerTo(Element* aDest) { bool destIsStatic = aDest->OwnerDoc()->IsStaticDocument(); auto dest = static_cast<HTMLImageElement*>(aDest); if (destIsStatic) { CreateStaticImageClone(dest); } nsresult rv = nsGenericHTMLElement::CopyInnerTo(aDest); if (NS_FAILED(rv)) { return rv; } if (!destIsStatic) { // In SetAttr (called from nsGenericHTMLElement::CopyInnerTo), dest skipped // doing the image load because we passed in false for aNotify. But we // really do want it to do the load, so set it up to happen once the cloning // reaches a stable state. if (!dest->InResponsiveMode() && dest->HasAttr(kNameSpaceID_None, nsGkAtoms::src)) { nsContentUtils::AddScriptRunner( NS_NewRunnableMethod(dest, &HTMLImageElement::MaybeLoadImage)); } } return NS_OK; }
nsresult HTMLImageElement::CopyInnerTo(Element* aDest) { if (aDest->OwnerDoc()->IsStaticDocument()) { CreateStaticImageClone(static_cast<HTMLImageElement*>(aDest)); } return nsGenericHTMLElement::CopyInnerTo(aDest); }
nsresult nsSVGImageElement::CopyInnerTo(nsGenericElement* aDest) const { if (aDest->GetOwnerDoc()->IsStaticDocument()) { CreateStaticImageClone(static_cast<nsSVGImageElement*>(aDest)); } return nsSVGImageElementBase::CopyInnerTo(aDest); }