nsresult NS_NewXMLProcessingInstruction(nsIContent** aInstancePtrResult, nsNodeInfoManager *aNodeInfoManager, const nsAString& aTarget, const nsAString& aData) { NS_PRECONDITION(aNodeInfoManager, "Missing nodeinfo manager"); if (aTarget.EqualsLiteral("xml-stylesheet")) { return NS_NewXMLStylesheetProcessingInstruction(aInstancePtrResult, aNodeInfoManager, aData); } *aInstancePtrResult = nsnull; nsXMLProcessingInstruction *instance = new nsXMLProcessingInstruction(aNodeInfoManager, aTarget, aData); if (!instance) { return NS_ERROR_OUT_OF_MEMORY; } NS_ADDREF(*aInstancePtrResult = instance); return NS_OK; }
nsresult NS_NewXMLProcessingInstruction(nsIContent** aInstancePtrResult, nsNodeInfoManager *aNodeInfoManager, const nsAString& aTarget, const nsAString& aData) { NS_PRECONDITION(aNodeInfoManager, "Missing nodeinfo manager"); nsCOMPtr<nsIAtom> target = do_GetAtom(aTarget); NS_ENSURE_TRUE(target, NS_ERROR_OUT_OF_MEMORY); if (target == nsGkAtoms::xml_stylesheet) { return NS_NewXMLStylesheetProcessingInstruction(aInstancePtrResult, aNodeInfoManager, aData); } *aInstancePtrResult = nsnull; nsCOMPtr<nsINodeInfo> ni; ni = aNodeInfoManager->GetNodeInfo(nsGkAtoms::processingInstructionTagName, nsnull, kNameSpaceID_None, nsIDOMNode::PROCESSING_INSTRUCTION_NODE, target); NS_ENSURE_TRUE(ni, NS_ERROR_OUT_OF_MEMORY); nsXMLProcessingInstruction *instance = new nsXMLProcessingInstruction(ni.forget(), aData); if (!instance) { return NS_ERROR_OUT_OF_MEMORY; } NS_ADDREF(*aInstancePtrResult = instance); return NS_OK; }
nsresult NS_NewXMLProcessingInstruction(nsIContent** aInstancePtrResult, nsNodeInfoManager *aNodeInfoManager, const nsAString& aTarget, const nsAString& aData) { NS_PRECONDITION(aNodeInfoManager, "Missing nodeinfo manager"); if (aTarget.EqualsLiteral("xml-stylesheet")) { return NS_NewXMLStylesheetProcessingInstruction(aInstancePtrResult, aNodeInfoManager, aData); } *aInstancePtrResult = nsnull; nsCOMPtr<nsINodeInfo> ni; ni = aNodeInfoManager->GetNodeInfo(nsGkAtoms::processingInstructionTagName, nsnull, kNameSpaceID_None); NS_ENSURE_TRUE(ni, NS_ERROR_OUT_OF_MEMORY); nsXMLProcessingInstruction *instance = new nsXMLProcessingInstruction(ni, aTarget, aData); if (!instance) { return NS_ERROR_OUT_OF_MEMORY; } NS_ADDREF(*aInstancePtrResult = instance); return NS_OK; }