From a1ddb4f66213291f7b4172e032cc788f26e91c59 Mon Sep 17 00:00:00 2001 From: "akkana%netscape.com" Date: Wed, 2 Feb 2000 22:50:58 +0000 Subject: [PATCH] 24912: Flush the current line when entering a pre tag. r=cmanske git-svn-id: svn://10.0.0.236/trunk@59553 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp | 9 ++++----- mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp | 9 ++++----- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp index 09bf1bb8de7..6ef40efd5b7 100644 --- a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp +++ b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp @@ -515,8 +515,9 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) if (!DoOutput()) return NS_OK; - if (type == eHTMLTag_p) + if (type == eHTMLTag_p || type == eHTMLTag_pre) EnsureVerticalSpace(1); // Should this be 0 in unformatted case? + // Else make sure we'll separate block level tags, // even if we're about to leave before doing any other formatting. // Oddly, I can't find a case where this actually makes any difference. @@ -579,10 +580,6 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) else mIndent += gTabSize; // Check for some maximum value? } - else if (type == eHTMLTag_pre) - { - EnsureVerticalSpace(1); - } else if (type == eHTMLTag_a) { nsAutoString url; @@ -1149,6 +1146,8 @@ nsHTMLToTXTSinkStream::Write(const nsString& aString) NS_WARN_IF_FALSE(mCurrentLine.Length() == 0, "Mixed wrapping data and nonwrapping data on the same line"); + if (mCurrentLine.Length() > 0) + FlushLine(); // Put the mail quote "> " chars in, if appropriate. // Have to put it in before every line. diff --git a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp index 09bf1bb8de7..6ef40efd5b7 100644 --- a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp +++ b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp @@ -515,8 +515,9 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) if (!DoOutput()) return NS_OK; - if (type == eHTMLTag_p) + if (type == eHTMLTag_p || type == eHTMLTag_pre) EnsureVerticalSpace(1); // Should this be 0 in unformatted case? + // Else make sure we'll separate block level tags, // even if we're about to leave before doing any other formatting. // Oddly, I can't find a case where this actually makes any difference. @@ -579,10 +580,6 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) else mIndent += gTabSize; // Check for some maximum value? } - else if (type == eHTMLTag_pre) - { - EnsureVerticalSpace(1); - } else if (type == eHTMLTag_a) { nsAutoString url; @@ -1149,6 +1146,8 @@ nsHTMLToTXTSinkStream::Write(const nsString& aString) NS_WARN_IF_FALSE(mCurrentLine.Length() == 0, "Mixed wrapping data and nonwrapping data on the same line"); + if (mCurrentLine.Length() > 0) + FlushLine(); // Put the mail quote "> " chars in, if appropriate. // Have to put it in before every line.