r=karnaze
The problem was we were over-eager in optimizing away a resize reflow for lines
that contain %-aware children. We were only looking at the first-level children
of a line, not all the children. Now, we compute a bit for each inline container
based on it's children, true if any of them are %-aware wrt any width measurement.
We propogate this bit upwards to a bit on the line itself, and check this bit during reflow.
git-svn-id: svn://10.0.0.236/trunk@78755 18797224-902f-48f8-a5cc-f745e15eee43
Only do the quirky fix for bug 37657 for tables, not all blocks. b=43086
r=buster@netscape.com
git-svn-id: svn://10.0.0.236/trunk@78109 18797224-902f-48f8-a5cc-f745e15eee43
fixed by adding a flag in nsLineBox for the content of a line to mark it "forceInvalidate",
logic in nsLineLayout to set the line dirty for initial reflow of text frames,
and logic in block to check the new flag.
r=kin
git-svn-id: svn://10.0.0.236/trunk@77051 18797224-902f-48f8-a5cc-f745e15eee43
file also contains some debug only code (disabled), another bug fix (also disabled), the removal of
some obsolete code that was already #ifdef'd out, and a bunch of new comments
r=mjudge, waterson
git-svn-id: svn://10.0.0.236/trunk@72006 18797224-902f-48f8-a5cc-f745e15eee43
if you want a line iterator for navigation you must explicitly ask for one.
git-svn-id: svn://10.0.0.236/trunk@70013 18797224-902f-48f8-a5cc-f745e15eee43
work troy was holding in his tree
r=buster
also fixed bugs 26952, 30944, 36022
r=troy
git-svn-id: svn://10.0.0.236/trunk@68804 18797224-902f-48f8-a5cc-f745e15eee43
r=buster
bug 18545 ([FLOAT] Problem Centering <TABLE> with <DIV> tag)
r=troy
bugs 18827, 19579, 22327 24782, 26512, 30124, 31849, 32846 (floater behavior wrong)
The primary change here is to determine if a block is impacted by a floater, and if so
mark the block's lines dirty when appropriate.
r=troy
no bug number. performance work. reduced the size of some reflow data structures by
collapsing multiple fields into a single bit field.
r=troy
git-svn-id: svn://10.0.0.236/trunk@66201 18797224-902f-48f8-a5cc-f745e15eee43
fixes layout of pages where a single line is impacted by 2 or more floaters
r=troy
git-svn-id: svn://10.0.0.236/trunk@63783 18797224-902f-48f8-a5cc-f745e15eee43
In the following files, replacing disp->mVisible with disp->IsVisible() is a BUG FIX: nsBlockFrame, nsBulletFrame, nsHRFrame, nsHTMLContainerFrame, nsImageFrame, nsTextFrame.
In all the other files, replacing disp->mVisible with disp->IsVisible() or disp->IsVisibleOrCollapsed() is merely a SYNTACTICAL CHANGE. The respective owners will later review the use of IsVisibleOrCollapsed() and in some cases replace it with IsVisible(). See bug 21701.
git-svn-id: svn://10.0.0.236/trunk@63284 18797224-902f-48f8-a5cc-f745e15eee43
the font using the pref UI. Block and table code changed to handle
eReflowReason_StyleChange
git-svn-id: svn://10.0.0.236/trunk@63049 18797224-902f-48f8-a5cc-f745e15eee43
and it's an unconstrained reflow, then make sure to include the right
margin
git-svn-id: svn://10.0.0.236/trunk@62844 18797224-902f-48f8-a5cc-f745e15eee43
overhead of memory allocation, and it gets us recycling which speeds up
resize reflows
git-svn-id: svn://10.0.0.236/trunk@62680 18797224-902f-48f8-a5cc-f745e15eee43
Fix bugs 24186, 26996, and 26998 by reworking the quirks-mode line-height handling so that inline elements that do not have text as children (or meet a few other conditions that show the author wants real CSS support) will not increase the size of the line, but will be as close to their correct size as possible without enlarging the line. This fix includes emulation of the strange Nav4/IE quirk that a block's line-height is enforced on the first line of LI elements and the last line of LI, DD, and DT elements. Many of the changes are removing an earlier fix for 24186.
r=buster
git-svn-id: svn://10.0.0.236/trunk@60795 18797224-902f-48f8-a5cc-f745e15eee43
NULL after reflowing the frame, so if we reflow it again we don't think it's
an incremental reflow
git-svn-id: svn://10.0.0.236/trunk@58819 18797224-902f-48f8-a5cc-f745e15eee43