Closed Bug 106658 Opened 23 years ago Closed 23 years ago

{inc}[86947 regression]Table/float overlap on www.linuxgames.com

Categories

(Core :: Layout, defect, P1)

x86
All
defect

Tracking

()

VERIFIED FIXED
mozilla0.9.6

People

(Reporter: adam, Assigned: dbaron)

References

()

Details

(Keywords: regression, testcase)

Attachments

(4 files, 1 obsolete file)

Go to http://www.linuxgames.com/ -- upon fully loading, the main news table is pushed leftwards to overlap the links table on the left side of the page (I enclose a screenshot of the problem). Interestingly, adjusting the browser window size in any direction, ie. causing another document reflow, fixes the problem. The page is affected regardless of whether it is coming over the network or straight out of cache. This problem only started to occur some time in the last 14 hours (n.b. we've had nsViewManager2 removal and dbaron's big bug 86947 checkin in this period, as well as a few less-likely culprits).
Attached image screenshot of bad layout (deleted) —
mine
Assignee: attinasi → dbaron
Summary: Tables overlap → {inc}[86947 regression]Tables overlap
Attached file simplified testcase (obsolete) (deleted) —
Keywords: regression, testcase
*** Bug 106810 has been marked as a duplicate of this bug. ***
the bug is visible in trunk 2001-102421 linux
Resizing after the bad layout brings it back to what it should have been.
Attached file even simpler testcase (deleted) —
Well, I'm a little puzzled by this bug. The problems seems to be that nsBlockReflowState::RecoverStateFrom doesn't descend into child blocks to fill in the space manager state with floaters whose placeholders (I think that's the criterion for floaters being "in" a line) are in lines *within* child blocks. What I don't understand is how this ever worked before. Did it work because we always reflowed enough that this wasn't a problem, or did it work because the space manager got filled in some other way?
Summary: {inc}[86947 regression]Tables overlap → {inc}[86947 regression]Table/float overlap on www.linuxgames.com
Attached file alternative testcase with only floats (deleted) —
Attachment #55104 - Attachment is obsolete: true
/me shrugs. As a quick fix, during state recovery you could _always_ desecend into each line that has a block frame (which doesn't have a space manager itself). Longer term, this would be fixed by persisting the space manager's state across reflows, right?
confirming on win2k using build 2001102708
OS: Linux → All
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla0.9.6
*** Bug 107592 has been marked as a duplicate of this bug. ***
*** Bug 107968 has been marked as a duplicate of this bug. ***
*** Bug 109168 has been marked as a duplicate of this bug. ***
*** Bug 109850 has been marked as a duplicate of this bug. ***
Attached patch patch (deleted) — Splinter Review
I still need to test the performance effects of this patch, both on typical pages (jrgm's tests) and on long pages.
Performance effects seem minimal. No significant change on jrgm's tests. Added about 10-15 seconds to a testcase with 100,000 paragraphs (from 4:00 to 4:10 or so).
Comment on attachment 57740 [details] [diff] [review] patch sr=waterson
Attachment #57740 - Flags: superreview+
Checked in to trunk 2001-11-14 23:28/30 PDT. Awaiting 0.9.6 branch approval.
Comment on attachment 57740 [details] [diff] [review] patch a=blizzard on behalf of drivers for 0.9.6
Attachment #57740 - Flags: approval+
Checked in to 0.9.6 2001-11-15 15:56 PDT.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
I think the reason my patch in bug 86947 caused this was because it partially disabled the working branch of the duplicated code described in bug 117374 that I'm now planning to remove.
Verified fixed.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: