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




Layout: Tables
15 years ago
14 years ago


(Reporter: dbaron, Assigned: Bernd)



Firefox Tracking Flags

(Not tracked)




(2 attachments)

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.
Created attachment 140877 [details]
partly simplified testcase

The incremental reflow when the image load comes in is what messes things up. 
I'll try to simplify further by removing images.

Comment 2

15 years ago
Created attachment 142533 [details] [diff] [review]

Comment 3

15 years ago
Assignee: nobody → bernd_mozilla


15 years ago
Attachment #142533 - Flags: superreview?(dbaron)
Attachment #142533 - Flags: review?(dbaron)
Comment on attachment 142533 [details] [diff] [review]

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+

Comment 5

15 years ago
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.

Comment 6

14 years ago
The first checkin citing this bug is the patch for bug 234847


14 years ago
Last Resolved: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.