NS_IMETHODIMP nsXHTMLContentSerializer::AppendText(nsIContent* aText, int32_t aStartOffset, int32_t aEndOffset, nsAString& aStr) { NS_ENSURE_ARG(aText); nsAutoString data; nsresult rv; rv = AppendTextData(aText, aStartOffset, aEndOffset, data, true); if (NS_FAILED(rv)) return NS_ERROR_FAILURE; if (mDoRaw || PreLevel() > 0) { NS_ENSURE_TRUE(AppendToStringConvertLF(data, aStr), NS_ERROR_OUT_OF_MEMORY); } else if (mDoFormat) { NS_ENSURE_TRUE(AppendToStringFormatedWrapped(data, aStr), NS_ERROR_OUT_OF_MEMORY); } else if (mDoWrap) { NS_ENSURE_TRUE(AppendToStringWrapped(data, aStr), NS_ERROR_OUT_OF_MEMORY); } else { int32_t lastNewlineOffset = kNotFound; if (HasLongLines(data, lastNewlineOffset)) { // We have long lines, rewrap mDoWrap = true; bool result = AppendToStringWrapped(data, aStr); mDoWrap = false; NS_ENSURE_TRUE(result, NS_ERROR_OUT_OF_MEMORY); } else { NS_ENSURE_TRUE(AppendToStringConvertLF(data, aStr), NS_ERROR_OUT_OF_MEMORY); } } return NS_OK; }
NS_IMETHODIMP nsXHTMLContentSerializer::AppendText(nsIContent* aText, PRInt32 aStartOffset, PRInt32 aEndOffset, nsAString& aStr) { NS_ENSURE_ARG(aText); nsAutoString data; nsresult rv; rv = AppendTextData(aText, aStartOffset, aEndOffset, data, true); if (NS_FAILED(rv)) return NS_ERROR_FAILURE; if (mPreLevel > 0 || mDoRaw) { AppendToStringConvertLF(data, aStr); } else if (mDoFormat) { AppendToStringFormatedWrapped(data, aStr); } else if (mDoWrap) { AppendToStringWrapped(data, aStr); } else { PRInt32 lastNewlineOffset = kNotFound; if (HasLongLines(data, lastNewlineOffset)) { // We have long lines, rewrap mDoWrap = true; AppendToStringWrapped(data, aStr); mDoWrap = false; } else { AppendToStringConvertLF(data, aStr); } } return NS_OK; }