Closed Bug 233438 Opened 20 years ago Closed 20 years ago

{inc}extra margin at end of page on some loads

Categories

(Core :: Layout: Tables, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dbaron, Assigned: bernd_mozilla)

References

()

Details

Attachments

(2 files)

When loading http://www.w3.org/Style/CSS/Test/CSS1/current/test414.htm there is
sometimes a large margin (around 200px) at the bottom of the page and sometimes
not.  Some other pages in the CSS1 test suite have the same problem, and this is
a problem for reliability of regression tests using those pages.

Steps to reproduce:
 1. load http://www.w3.org/Style/CSS/Test/CSS1/current/test414.htm
 2. reload
 3. scroll to bottom
 4. shift-reload
 5. scroll to bottom

Actual results:
 3. no big margin at bottom of page
 5. big margin at bottom of page

Expected results:
 3. no big margin at bottom of page
 5. no big margin at bottom of page

I think this has something to do with table overflow area handling going wrong
because the regression tests show bounding box differences on body and html and
frame state differences (NS_FRAME_OUTSIDE_CHILDREN) on the table.
The incremental reflow when the image load comes in is what messes things up. 
I'll try to simplify further by removing images.
Attached patch patchSplinter Review
taking
Assignee: nobody → bernd_mozilla
Attachment #142533 - Flags: superreview?(dbaron)
Attachment #142533 - Flags: review?(dbaron)
Comment on attachment 142533 [details] [diff] [review]
patch

Does the first of these changes make a difference?  I'd think it doesn't -- and
if it doesn't I'd rather it not be made, since it could be confusing
(FinishReflowChild has already been called).  But either way r+sr=dbaron.
Attachment #142533 - Flags: superreview?(dbaron)
Attachment #142533 - Flags: superreview+
Attachment #142533 - Flags: review?(dbaron)
Attachment #142533 - Flags: review+
The first part is necessary to fix the bug, the problem here is that during the
reflow the table shrinks. Using the mRect means we are using the old size, and
as a consequence report a to large overflow back. If the table grows the problem
will not surface as the kid overflow areas will be larger than the mRect.
FinishReflowChild has been called for the rowGroup and should not interfere
here. The FinishReflowChild for the table frame itself will be called
significantly later during the reflow.
The first checkin citing this bug is the patch for bug 234847
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.

Attachment

General

Created:
Updated:
Size: