Closed Bug 714519 Opened 12 years ago Closed 12 years ago

[quirks] list bullet/number disappears when item that wraps has all contents in 2 nested inlines and inner inline has vertical-align: top/bottom

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla12

People

(Reporter: dbaron, Assigned: dbaron)

Details

Attachments

(3 files)

Attached file testcase
This is simplified from a report on css-d on December 23; original was http://dev.l-c-n.com/_temp/ck-20111223.html

In quirks mode or almost-standards mode, the list bullet or number disappears when:
 (a) a list item wraps to two lines, and
 (b) the entire contents of the list item are nested within two (or more) inlines, and an inline other than the outer one has vertical-align: top or bottom

The underlying reason for this is a bug in nsLineLayout::IsZeroHeight() (in layout/generic/nsLineLayout.cpp).  What it does to check for the line being zero height is not sufficient in quirks mode; it needs to look inside the children of the line since there might be top/bottom aligned frames that don't influence the height of their parent.

This breaks nsBlockFrame::PlaceLine (which uses two different tests for emptiness).


Then again, maybe we should fix this by limiting the inline layout quirks when there are top/bottom children, since that would also fix the text-decoration issue with the original testcase.
Attached patch patchSplinter Review
Assignee: nobody → dbaron
Status: NEW → ASSIGNED
Attachment #585219 - Flags: review?(roc)
https://hg.mozilla.org/mozilla-central/rev/9152791a6f90
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: