Closed Bug 1907483 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 47106 - Support for cloned box decorations inside block fragmentation.

Categories

(Core :: Layout, task, P4)

task

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 47106 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/47106
Details from upstream follow.

Morten Stenshorne <mstensho@chromium.org> wrote:

Support for cloned box decorations inside block fragmentation.

There's some remaining work for flex and grid layout, and nested
multicol. This CL only fixes it for block containers and tables. There
happens to be some tests for tables already [1], and we don't want to
regress them (the refs were also using box-decoration-break:clone, so
they actually pass with no box decoration cloning support at all, but
would fail with incorrect box decoration cloning support).

BorderPadding() of a fragment builder now include border+padding from
previous fragments, so that ComputeBlockSizeForFragment() does the right
thing.

BorderScrollbarPadding() is for positioning and sizing things inside the
current fragment only, had has traditionally unconditionally removed the
block-start part after fragmentation breaks. Don't do this if box
decorations are to be cloned.

Also note that the "scrollbar" part of BorderScrollbarPadding() is
always 0 when block fragmentation is involved, since scrollable elements
are always monolithic.

The remaining work for flex, grid, and nested multicol is mainly about
using BorderPadding() vs BorderScrollbarPadding() correctly, and also
not assume that IsBreakInside(incoming_break_token) implies that the
start block-offset for children should be 0.

[1] e.g. css/css-break/table/table-fragmentation-001c-print.html

Bug: 40415661
Change-Id: If198b90d4ee0501d0ca66c909bbed1be37c7c5b8
Reviewed-on: https://chromium-review.googlesource.com/5694768
WPT-Export-Revision: edaa995b9873589b133619d43e05a42eede3dc6a

Component: web-platform-tests → Layout
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 5 tests

Status Summary

Firefox

PASS: 4
FAIL: 1

Chrome

PASS: 2
FAIL: 3

Safari

PASS: 2
FAIL: 3

Links

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

New Tests That Don't Pass

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8caa11ca29a2 [wpt PR 47106] - Support for cloned box decorations inside block fragmentation., a=testonly https://hg.mozilla.org/integration/autoland/rev/27c7e6eac238 [wpt PR 47106] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch
You need to log in before you can comment on or make changes to this bug.