nsresult SVGDocument::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const { NS_ASSERTION(aNodeInfo->NodeInfoManager() == mNodeInfoManager, "Can't import this document into another document!"); nsRefPtr<SVGDocument> clone = new SVGDocument(); nsresult rv = CloneDocHelper(clone.get()); NS_ENSURE_SUCCESS(rv, rv); return CallQueryInterface(clone.get(), aResult); }
nsresult nsXMLDocument::Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const { NS_ASSERTION(aNodeInfo->NodeInfoManager() == mNodeInfoManager, "Can't import this document into another document!"); nsRefPtr<nsXMLDocument> clone = new nsXMLDocument(); NS_ENSURE_TRUE(clone, NS_ERROR_OUT_OF_MEMORY); nsresult rv = CloneDocHelper(clone); NS_ENSURE_SUCCESS(rv, rv); // State from nsXMLDocument clone->mAsync = mAsync; return CallQueryInterface(clone.get(), aResult); }