Closed Bug 174688 Opened 23 years ago Closed 20 years ago

top border padding gets applied to block level next-in-flows

Categories

(Core :: Layout: Block and Inline, defect, P3)

x86
Windows 2000
defect

Tracking

()

RESOLVED FIXED
Future

People

(Reporter: karnaze, Assigned: roc)

Details

(Keywords: testcase)

Attachments

(2 files, 1 obsolete file)

Kin discovered in bug 127145 that blocks/inlines do not consider whether a child block level frame has a prev-in-flow when positioning the child using the top border padding of the child (i.e. the top border padding is always used). There are several places where this needs to be changed. It is unclear which places in nsHTMLReflowState need to be changed, because if a change causes the computed height for a next-in-flow to differ from the first-in-flow, some frame classes are going to break (besides, if the computed height for a next-in-flow were to differ it should differ in other ways than just the top border padding which is getting a bit beyond the scope of what nsHTMLReflowState should be doing).
Attached file printing test case from bug 127145 (obsolete) —
Its a shame I have to use IE to attach this file as html (m1.0 branch attaches it as a gif).
Attachment #103022 - Attachment is obsolete: true
Attachment #103022 - Attachment mime type: image/gif → text/html
Comment on attachment 103022 [details] printing test case from bug 127145 yep, though you can change the mime type in the "edit attachment" page in bugzilla.
QA Contact: petersen → amar
Keywords: testcase
Priority: -- → P3
Bulk setting karnaze's P2-P5 bugs to future
Target Milestone: --- → Future
mass reassign to default owner
Assignee: karnaze → table
Component: Layout → Layout: Tables
QA Contact: amar → madhur
Target Milestone: Future → ---
Target Milestone: --- → Future
this is a block issue the testcase does not use tables
Assignee: core.layout.tables → nobody
Component: Layout: Tables → Layout: Block and Inline
QA Contact: madhur → core.layout.block-and-inline
Attached patch fixSplinter Review
While working on bug 288560 I came up with a fix to this bug (174688). The fix turned out to be unnecessary for 288560 but we might as well have it anyway. The idea is just to have nsBlockReflowState::BorderPadding() compute the borderpadding taking into account that continuations don't have top borderpadding; nsHTMLReflowState::mComputedBorderPadding continues to have the style borderpadding. I'm also changing the way non-auto-height blocks compute their frame height to be more sane. In particular we need to ensure that if such a frame is incomplete, it always grows to fill the available height, otherwise we get funny looking gaps in the left/right borders at the bottom of each column.
Assignee: nobody → roc
Status: NEW → ASSIGNED
Attachment #180008 - Flags: superreview?(dbaron)
Attachment #180008 - Flags: review?(dbaron)
Comment on attachment 180008 [details] [diff] [review] fix r+sr=dbaron. (Are there any problems with bottom border/padding?)
Attachment #180008 - Flags: superreview?(dbaron)
Attachment #180008 - Flags: superreview+
Attachment #180008 - Flags: review?(dbaron)
Attachment #180008 - Flags: review+
The bottom border and padding are OK; when we detect that the block is incomplete, we already don't add them.
Comment on attachment 180008 [details] [diff] [review] fix This is a fix for printing and columns to make borders look better for non-auto-height elements. It's very clearly only going to affect printing and columns.
Attachment #180008 - Flags: approval1.8b2?
Attachment #180008 - Flags: approval1.8b2? → approval1.8b2+
checked in
Status: ASSIGNED → 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

Creator:
Created:
Updated:
Size: