Closed Bug 1508762 Opened 6 years ago Closed 5 years ago

Support column-span for columns on <details> element

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: TYLin, Assigned: TYLin)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached file details-column.html
We currently skip creating column-spanner for details frames in https://searchfox.org/mozilla-central/rev/55895c49f55073d82d977cb74ec1d3a71ae4b25f/layout/base/nsCSSFrameConstructor.cpp#11422-11425

In addition to removing the if-statement above, we might need other tweaks to make column-span work.
In CreateColumnSpanSiblings(), aInitialBlock can be a DetailsFrame.
Therefore, when creating a non-column-span wrapper, we cannot assume
it's always a block frame. We need to use CreateContinuingFrame to
ensure the correct type of continuation is created.
Assignee: nobody → aethanyc
Status: NEW → ASSIGNED
Attachment #9032773 - Attachment description: Bug 1508762 - Support column-span:all for a multi-column <details> element. → Bug 1508762 Part 1 - Support column-span:all for a multi-column <details> element.
This is to fix testing/web-platform/tests/css/css-multicol/multicol-span-all-restyle-002.html

After introducing Part 1, we now use CreateContinuingFrame() to create
non-column-span wrapper frames, which use nsFrame::Init() rather than
InitAndRestoreFrame() to initialize them. Because the bits in
aState.mAdditionalStateBits are added to frames only when
nsCSSFrameConstructor::InitAndRestoreFrame() is called. We need a new
way to add the NS_FRAME_PART_OF_IBSPLIT to non-column-span wrapper
frames.

Note that we used to add NS_FRAME_PART_OF_IBSPLIT to both column-span
wrapper and non-column-span wrapper. After this patch, column-span
wrapper won't have NS_FRAME_PART_OF_IBSPLIT. That's fine because
column-span wrappers are not linked with other frames and they
shouldn't get this bit set.

Depends on D15134
Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/11a357ec7364
Part 1 - Support column-span:all for a multi-column <details> element. r=dholbert
https://hg.mozilla.org/integration/autoland/rev/613df45f5278
Part 2 - Fix a restyle bug if there's column-span:all under ib-split setting. r=dholbert
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/14680 for changes under testing/web-platform/tests
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
https://hg.mozilla.org/mozilla-central/rev/11a357ec7364
https://hg.mozilla.org/mozilla-central/rev/613df45f5278
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Depends on: 1517310
No longer depends on: 1517310
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: