Bug 405380. Bidi reordering moves frames around so we can't trust pfd->mBounds in nsLineLayout::RelativePositionFrames. r+sr=dbaron

This commit is contained in:
roc+@cs.cmu.edu 2007-12-11 16:42:20 -08:00
Родитель a41c16b134
Коммит 3327ae5ee9
5 изменённых файлов: 20 добавлений и 2 удалений

Просмотреть файл

@ -2817,6 +2817,7 @@ nsIFrame::InlineMinWidthData::ForceBreak(nsIRenderingContext *aRenderingContext)
}
floats.Clear();
trailingTextFrame = nsnull;
skipWhitespace = PR_TRUE;
}
void
@ -2880,6 +2881,7 @@ nsIFrame::InlinePrefWidthData::ForceBreak(nsIRenderingContext *aRenderingContext
currentLine = NSCoordSaturatingSubtract(currentLine, trailingWhitespace, nscoord_MAX);
prevLines = PR_MAX(prevLines, currentLine);
currentLine = trailingWhitespace = 0;
skipWhitespace = PR_TRUE;
}
static void

Просмотреть файл

@ -1158,8 +1158,8 @@ public:
nscoord currentLine;
// True if initial collapsable whitespace should be skipped. This
// should be true at the beginning of a block and when the last text
// ended with whitespace.
// should be true at the beginning of a block, after hard breaks
// and when the last text ended with whitespace.
PRBool skipWhitespace;
// This contains the width of the trimmable whitespace at the end of

Просмотреть файл

@ -0,0 +1,7 @@
<!DOCTYPE HTML>
<html>
<body>
<div style="display: inline-block; border: 1px solid red">f l<br/>s l l</div>
<div style="width:0;"><div style="display: inline-block; border: 1px solid red;">f l<br/>second l l</div></div>
</body>
</html>

Просмотреть файл

@ -0,0 +1,8 @@
<!DOCTYPE HTML>
<html>
<body>
<div style="display: inline-block; border: 1px solid red">f l<br/>
s l l</div>
<div style="width:0;"><div style="display: inline-block; border: 1px solid red;">f l<br/><span style="white-space:nowrap"> second</span> l l</div></div>
</body>
</html>

Просмотреть файл

@ -505,6 +505,7 @@ random == 403134-1.html 403134-1-ref.html # bug 405377
== 404666-2.html 404666-2-ref.html
== 405186-1.xhtml about:blank
== 405305-1.html 405305-1-ref.html
== 405380-1.html 405380-1-ref.html
== 405577-1.html 405577-1-ref.html
== 405584-1.html 405584-1-ref.html
== 406484-1.html 406484-1-ref.html