nsresult txUnknownHandler::startElement(nsIAtom* aPrefix, nsIAtom* aLocalName, nsIAtom* aLowercaseLocalName, int32_t aNsID) { if (!mFlushed) { // Make sure that mEs->mResultHandler == this is true, otherwise we'll // leak mEs->mResultHandler in createHandlerAndFlush. NS_ASSERTION(mEs->mResultHandler == this, "We're leaking mEs->mResultHandler."); nsCOMPtr<nsIAtom> owner; if (!aLowercaseLocalName) { owner = TX_ToLowerCaseAtom(aLocalName); NS_ENSURE_TRUE(owner, NS_ERROR_OUT_OF_MEMORY); aLowercaseLocalName = owner; } bool htmlRoot = aNsID == kNameSpaceID_None && !aPrefix && aLowercaseLocalName == nsGkAtoms::html; // Use aLocalName and not aLowercaseLocalName in case the output // handler cares about case. For eHTMLOutput the handler will hardcode // to 'html' anyway. nsresult rv = createHandlerAndFlush(htmlRoot, nsDependentAtomString(aLocalName), aNsID); NS_ENSURE_SUCCESS(rv, rv); } return mEs->mResultHandler->startElement(aPrefix, aLocalName, aLowercaseLocalName, aNsID); }
txStartLREElement::txStartLREElement(PRInt32 aNamespaceID, nsIAtom* aLocalName, nsIAtom* aPrefix) : mNamespaceID(aNamespaceID), mLocalName(aLocalName), mPrefix(aPrefix) { if (aNamespaceID == kNameSpaceID_None) { mLowercaseLocalName = TX_ToLowerCaseAtom(aLocalName); } }
txLREAttribute::txLREAttribute(PRInt32 aNamespaceID, nsIAtom* aLocalName, nsIAtom* aPrefix, nsAutoPtr<Expr> aValue) : mNamespaceID(aNamespaceID), mLocalName(aLocalName), mPrefix(aPrefix), mValue(aValue) { if (aNamespaceID == kNameSpaceID_None) { mLowercaseLocalName = TX_ToLowerCaseAtom(aLocalName); } }
nsresult txMozillaXMLOutput::attribute(nsIAtom* aPrefix, nsIAtom* aLocalName, nsIAtom* aLowercaseLocalName, const PRInt32 aNsID, const nsString& aValue) { nsCOMPtr<nsIAtom> owner; if (mOpenedElementIsHTML && aNsID == kNameSpaceID_None) { if (aLowercaseLocalName) { aLocalName = aLowercaseLocalName; } else { owner = TX_ToLowerCaseAtom(aLocalName); NS_ENSURE_TRUE(owner, NS_ERROR_OUT_OF_MEMORY); aLocalName = owner; } } return attributeInternal(aPrefix, aLocalName, aNsID, aValue); }
nsresult txMozillaXMLOutput::startElement(nsIAtom* aPrefix, nsIAtom* aLocalName, nsIAtom* aLowercaseLocalName, const PRInt32 aNsID) { NS_PRECONDITION(aNsID != kNameSpaceID_None || !aPrefix, "Can't have prefix without namespace"); if (mOutputFormat.mMethod == eHTMLOutput && aNsID == kNameSpaceID_None) { nsCOMPtr<nsIAtom> owner; if (!aLowercaseLocalName) { owner = TX_ToLowerCaseAtom(aLocalName); NS_ENSURE_TRUE(owner, NS_ERROR_OUT_OF_MEMORY); aLowercaseLocalName = owner; } return startElementInternal(nsnull, aLowercaseLocalName, kNameSpaceID_XHTML); } return startElementInternal(aPrefix, aLocalName, aNsID); }