Closed Bug 349255 Opened 17 years ago Closed 8 years ago

[reflow branch] Horizontal scrollbar on annevankesteren blog


(Core :: Layout, defect, P2)






(Reporter: martijn.martijn, Assigned: dbaron)




(Keywords: regression, testcase, Whiteboard: [float pref width][dbaron-1.9:RwCr])


(2 files, 1 obsolete file)

I get a horizontal scrollbar on the annevankesteren blog with the reflow branch, which should not happen.
Attached file testcase (obsolete) —
So the problem is that block-level replaced elements can end up next to floats, but nsBlockFrame::GetPrefWidth does a Break() on any block line without considering floats.  We probably need to modify one or the other...
For what it's worth -- what the intrinsic width here should be is questionable.  But there's definitely a bug here in the reflow code for replaced blocks (in general) -- we should clear them past floats when they don't fit next to the floats.
Whiteboard: [float pref width]
Flags: blocking1.9?
Flags: blocking1.9? → blocking1.9+
Whiteboard: [float pref width] → [float pref width][dbaron-1.9:RwCr]
Keywords: regression
The clearing past floats in comment 3 would also fix the image at the top right of from overflowing at narrow window widths.
Repro'd on Mac.
OS: Windows XP → All
Hardware: PC → All
Depends on: 134706
Fixed by checkin of bug 134706.
Closed: 15 years ago
Resolution: --- → FIXED
Flags: in-testsuite?
Bug 437766 seems to be a duplicate. For some reason the scrollbar is still visible here; I tried builds before and after the fix.
The testcase no longer reproduces the bug, but it's still visible on Anne's site. (I'm on Linux with RC2.)
Resolution: FIXED → ---
Attached file New testcase
This testcase still reproduces the bug for me. However, I am not sure if it's really a bug, as Konqueror also displays a horizontal scrollbar.
Attachment #234517 - Attachment is obsolete: true
I'd guess that the problem there would be that nsBlockFrame::BlockCanIntersectFloats is somehow returning true for the submit input when it should really be returning false.
Actually, it seems like the problem is that ApplyTopMargin is false in nsBlockFrame::ReflowBlockFrame, so we don't do the clearing.
Attached file New testcase 2
a bit reduced and generalized
Flags: blocking1.9.1?
Flags: blocking1.9-
Flags: blocking1.9+
Not going to block 1.9.1, but a P2 wanted.   
Flags: wanted1.9.1+
Flags: blocking1.9.1?
Flags: blocking1.9.1-
Priority: P3 → P2
Another example in the wild is
Still a problem on Nightly 27. Works correctly on Chrome 29 and IE10.
Both attachment 324199 [details] and attachment 324312 [details] were fixed by bug 478834.
Closed: 15 years ago8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.