Don't propagate the FRAMES_ARE_EMPTY flag when continuations cross block frame boundaries. Bug 495875, r+sr=roc

This commit is contained in:
Simon Montagu 2009-10-13 00:12:54 -07:00
parent 7a531f32da
commit 3ee173e3c1
4 changed files with 21 additions and 0 deletions

View File

@ -0,0 +1,7 @@
<html>
<head></head>
<body style="-moz-column-count: 2; white-space: pre-wrap; font-size-adjust: 4294967297; text-transform: uppercase;"
onload="document.body.style.fontSizeAdjust = '';"
>&#xD558;A B C&#x0643;&#x5599;D
</body></html>

View File

@ -0,0 +1,7 @@
<html>
<head></head>
<body style="-moz-column-count: 2; white-space: pre-wrap; font-size-adjust: 4294967297; text-transform: uppercase;"
onload="document.body.style.fontSizeAdjust = '';"
>&#xD558;A B C<b>&#x0443;</b>&#x5599;D
</body></html>

View File

@ -264,6 +264,8 @@ load 493111-1.html
load 493118-1.html
load 494300-1.xul
load 494332-1.html
load 495875-1.html
load 495875-2.html
load 501535-1.html
load 503961-1.xhtml
load 503961-2.html

View File

@ -5359,6 +5359,11 @@ nsBlockFrame::DoRemoveFrame(nsIFrame* aDeletedFrame, PRUint32 aFlags)
// The deceased frames continuation is not a child of the
// current block. So break out of the loop so that we advance
// to the next parent.
//
// If we have a continuation in a different block then all bets are
// off regarding whether we are deleting frames without actual content,
// so don't propagate FRAMES_ARE_EMPTY any further.
aFlags &= ~FRAMES_ARE_EMPTY;
break;
}