Closed
Bug 257216
Opened 20 years ago
Closed 20 years ago
More columns-related block fixes
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
FIXED
People
(Reporter: roc, Assigned: roc)
Details
Attachments
(1 file, 1 obsolete file)
6.24 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
I'll attach a patch, extracted from my columns work, that does a few small things: -- Adds some needed #ifdef DEBUG code so that noisy block reflow doesn't leak indent counts along certain control flow paths -- Factors out the code that gets a float from its placeholder (and detects whether the frame is in fact a float placeholder) into an nsLayoutUtils method. It's still lame but now the lameness is confined. Use this method from a couple of places, Collect(Overflow)Floats and nsLineLayout::ReflowFrame. -- Fixes a bug: when a float is reflowed in a line, and the line ends up being pushed to the overflow lines, we did not remove the float from the space manager. This could end up giving the block an unnecessarily large height when ComputeFinalSize checks the space manager's vertical advance. The fix removes all overflowing floats from the space manager in BuildFloatList which is before ComputeFinalSize. This will be even more important when we start extracting the floats region from the space manager after reflow and apply it to impact other columns. -- Renamed CollectOverflowFloats to CollectFloats because I'm going to use it for floats in normal lines in a future patch. -- Added an important assertion to nsBlockReflowState. This might fire during printing certain pages until I land some more changes I have, which fix float parenting bugs when lines are pushed and pulled.
Assignee | ||
Comment 1•20 years ago
|
||
As described
Assignee | ||
Comment 2•20 years ago
|
||
Comment on attachment 157238 [details] [diff] [review] fix the contents of this patch are described in the bug.
Attachment #157238 -
Flags: superreview?(dbaron)
Attachment #157238 -
Flags: review?(dbaron)
Hrm, there's a bunch of stuff in the space manager that assumes that regions aren't removed. I think you need to replace mXMost with something that actually computes it. With that change, rubber-stamp r+sr=dbaron on the whole patch.
Comment on attachment 157238 [details] [diff] [review] fix (Really, mLowestTop needs fixing too, although it may not be an issue.) And I've read the whole patch now -- it wasn't that big, so that is really the only thing I have a problem with.
Attachment #157238 -
Flags: superreview?(dbaron)
Attachment #157238 -
Flags: superreview+
Attachment #157238 -
Flags: review?(dbaron)
Attachment #157238 -
Flags: review+
Assignee | ||
Comment 5•20 years ago
|
||
OK. I decided to partially fix the space manager so that at least XMost and YMost work after RemoveRegions, which I renamed to RemoveTrailingRegions. That's all we need, I think. I added comments making clear that you can't do much after calling RemoveTrailingRegions, it's only intended to be called near the end of the life of the space manager.
Assignee | ||
Updated•20 years ago
|
Attachment #157238 -
Attachment is obsolete: true
Assignee | ||
Comment 6•20 years ago
|
||
Comment on attachment 158702 [details] [diff] [review] OK okay, this should do it
Attachment #158702 -
Flags: superreview?(dbaron)
Attachment #158702 -
Flags: review?(dbaron)
Attachment #158702 -
Flags: superreview?(dbaron)
Attachment #158702 -
Flags: superreview+
Attachment #158702 -
Flags: review?(dbaron)
Attachment #158702 -
Flags: review+
Assignee | ||
Comment 7•20 years ago
|
||
checked in
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•