Closed Bug 822053 Opened 7 years ago Closed 7 years ago

List breaks within nested columns

Categories

(Core :: Layout, defect)

13 Branch
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla20
Tracking Status
firefox19 --- fixed

People

(Reporter: cwebba1, Assigned: mats)

References

()

Details

(Keywords: regression, testcase)

Attachments

(3 files)

Attached file bugzilla.htm
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:16.0) Gecko/20100101 Firefox/16.0
Build ID: 20121024073032

Steps to reproduce:

List breaks within nested columns
I have a 2-column div within a box div that is nested within a 2-column div. The nested column contains a ul list. The list is breaking within the nested column.

I've pasted my 2-column box outside of the containing 2-column div. It works outside of the first 2-column containing div.


Actual results:

I have created an example here: http://www.craigwebbart.com/ga/bugzilla.htm

The working box is to the left. The broken nested 2-column box with list is to the right.


Expected results:

The example on the left is what I'm aiming for. I need the 2-column elements to revert to 1-column using media queries. This works fine in Safari 5.0.6.

Please let me know if this bug exists in newer versions of Firefox. Also, please alert me to a work-around or patch-fix. Thanks!
Keywords: css3
Whiteboard: List breaks within nested columns
This broke some time between Fx 12 and 13, maybe bug 725376?
But we should allow two nested balancing column sets... and for the URL,
there is a specified -moz-column-count:2 on both so I would expect that
to NOT be affected by the code bug 725376 added.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Mac OS X → All
Hardware: x86 → All
Summary: List breaks within nested columns in Fire Fox 16.0.2 → List breaks within nested columns
Version: 16 Branch → 13 Branch
Whiteboard: List breaks within nested columns
Attachment #692655 - Attachment mime type: text/plain → text/html
(In reply to Mats Palmgren [:mats] from comment #1)
> This broke some time between Fx 12 and 13, maybe bug 725376?

Confirmed:

m-c
good=2012-02-18
bad=2012-02-19
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=550779e6bab4&tochange=4d47329bb02e

Suspected bug:
Mats Palmgren — Bug 725376 - Don't do column balancing deeper than 2 nested levels to avoid hang. r=roc
Assignee: nobody → matspal
Thank you men for looking into this. Here's the full list of math needs that I used on the page:
All elements: box-sizing: border-box
Widths set a percentage (responsive)
2-column box nested within 2 column box
UL list with special character inserted

The special character in the first list item is disappearing in webkit. Other than that the list splits well into two columns.
If I defined a height in the inner box would that help?
> If I defined a height in the inner box would that help?

Unfortunately not.  When bug 733614 backed out bug 695222 the "is balancing"
test was lost.  It should have just changed the assignment of 'isBalancing'
to 'aReflowState.ComputedHeight() == NS_INTRINSICSIZE'.
http://hg.mozilla.org/mozilla-central/diff/aeaa00b5cab5/layout/generic/nsColumnSetFrame.cpp
Then I think the workaround you suggest would have worked.
Attached patch fix+testSplinter Review
The counting of levels was wrong, and the isBalancing test needs to be
restored.  Now with regression tests!
https://tbpl.mozilla.org/?tree=Try&rev=cbc245143c38
Attachment #695680 - Flags: review?(roc)
Attached patch fix for betaSplinter Review
Same fix for beta, but with isBalancing like so:
  isBalancing = aReflowState.ComputedHeight() == NS_INTRINSICSIZE;

In case we want it on beta...
Comment on attachment 695680 [details] [diff] [review]
fix+test

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 725376
User impact if declined: bad layout in nested column sets, no workaround
Testing completed (on m-c, etc.): 
Risk to taking this patch (and alternatives if risky): very low risk
String or UUID changes made by this patch: none

I think the risk/benefit makes it worth taking on Aurora at least.
Attachment #695680 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/mozilla-central/rev/6d0cc82f292e
Status: NEW → RESOLVED
Closed: 7 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Comment on attachment 695680 [details] [diff] [review]
fix+test

Approving on aurora considering comment #8.
Attachment #695680 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
(In reply to cwebba1 from comment #3)
> Thank you men for looking into this. Here's the full list of math needs that
> I used on the page:
> All elements: box-sizing: border-box
> Widths set a percentage (responsive)
> 2-column box nested within 2 column box
> UL list with special character inserted
> 
> The special character in the first list item is disappearing in webkit.
> Other than that the list splits well into two columns.
> If I defined a height in the inner box would that help?

looks like we have a fix now, can you please help with some testing here to verify it works as expected & nothing new was regressed ? Thank you in advance !
Depends on: 1213836
You need to log in before you can comment on or make changes to this bug.