Trim whitespace that comes right before a <br> when trimming whitespace. Bug

132561 relanding, r+sr=dbaron
This commit is contained in:
bzbarsky@mit.edu
2006-04-21 01:31:35 +00:00
parent 1e72fdf6a8
commit b6011925a4
2 changed files with 9 additions and 5 deletions

View File

@@ -1006,7 +1006,7 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
// the float.
if (frameType) {
if (nsLayoutAtoms::placeholderFrame == frameType) {
pfd->SetFlag(PFD_ISPLACEHOLDERFRAME, PR_TRUE);
pfd->SetFlag(PFD_SKIPWHENTRIMMINGWHITESPACE, PR_TRUE);
nsIFrame* outOfFlowFrame = nsLayoutUtils::GetFloatFromPlaceholder(aFrame);
if (outOfFlowFrame) {
nsPlaceholderFrame* placeholder = NS_STATIC_CAST(nsPlaceholderFrame*, aFrame);
@@ -1062,6 +1062,9 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
else if (nsLayoutAtoms::letterFrame==frameType) {
pfd->SetFlag(PFD_ISLETTERFRAME, PR_TRUE);
}
else if (nsLayoutAtoms::brFrame == frameType) {
pfd->SetFlag(PFD_SKIPWHENTRIMMINGWHITESPACE, PR_TRUE);
}
}
mSpaceManager->Translate(-tx, -ty);
@@ -2617,7 +2620,7 @@ nsLineLayout::TrimTrailingWhiteSpaceIn(PerSpanData* psd,
}
}
else if (!pfd->GetFlag(PFD_ISTEXTFRAME) &&
!pfd->GetFlag(PFD_ISPLACEHOLDERFRAME)) {
!pfd->GetFlag(PFD_SKIPWHENTRIMMINGWHITESPACE)) {
// If we hit a frame on the end that's not text and not a placeholder,
// then there is no trailing whitespace to trim. Stop the search.
*aDeltaWidth = 0;