Closed Bug 1489295 Opened Last year Closed 7 months ago

Support column-span for columns on <button>


(Core :: Layout: Columns, enhancement, P3)




Tracking Status
firefox68 --- fixed


(Reporter: TYLin, Assigned: TYLin)


(Blocks 1 open bug)



(4 files)

Bug 1421105 implements "column-span" for block and inline frames only. fieldset [1] and button [2] are still using `InitAndWrapInColumnSetFrameIfNeeded()` to construct column hierarchy, which is unware of "column-span". We'll need to adjust them to support column-span.

Blocks: 1522024
Assignee: nobody → aethanyc
Blocks: 1530023

I filed bug 1535200 for supporting column-span on <fieldset>, and morph this one for supporting column-span on <button>

Summary: Support column-span for columns in fieldset and button → Support column-span for columns on <button>

After supporting column-span, the top-level container for multicol
layout is no longer the ColumnSetFrame, so remove the "SET" suffix from
FCDATA_ALLOW_GRID_FLEX_COLUMNSET bit to make it sound more general.

Also, update the document and add an assertion.

Rename outerSC to outerStyle because nsStyleContext was gone.

Depends on D24394

We need to pull outerFrame one level up to the outer scope because it's
needed when calling FinishBuildingColumns().

The patch is very similar to implementing column-span:all for <fieldset>
in bug 1535200.

Depends on D24395

The last consumer of the method is removed in Part 3.

Depends on D24396

Pushed by
Part 1 - Rename frame construction data bit that creates flex/grid/column. r=dbaron
Part 2 - Clean up the naming of a 'nsStyleContext' variable in ConstructFrameFromItemInternal(). r=dbaron
Part 3 - Implement column-span:all for <button>. r=dbaron
Part 4 - Remove InitAndWrapInColumnSetFrameIfNeeded(). r=dbaron
No longer blocks: 1522024
Duplicate of this bug: 1522024
No longer blocks: 1530023
Duplicate of this bug: 1530023
Created web-platform-tests PR for changes under testing/web-platform/tests
Can't merge web-platform-tests PR due to failing upstream checks:
Github PR
* Taskcluster (pull_request) (
You need to log in before you can comment on or make changes to this bug.