Closed Bug 1679899 Opened 5 years ago Closed 5 years ago

[wpt-sync] Sync PR 26681 - Stretch column block-size to avoid unappealing breaks.

Categories

(Core :: Layout: Columns, task, P4)

task

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox85 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

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

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

b'Morten Stenshorne <mstensho@chromium.org>' wrote:

Stretch column block-size to avoid unappealing breaks.

We do not even attempt to honor orphans or widows requests during the
initial column balancing pass (since we have no idea which column is
going to get which content). Detect unappealing break points during
layout instead, and stretch the columns if possible when this happens.
This is different from the legacy fragmentation engine, which does this
during the initial column balancing pass, but this approach doesn't work
so well, since we'll have no idea which lines end up in the same
fragmentainer, and the lines may have different heights; see
crbug.com/1013151

Also stretch if possible if we violate any
break-{after,before,inside}:avoid rules. Note that it was already
working for break-inside:avoid, but not for break-after or break-before.

css/css-multicol/balance-orphans-widows-000.html also passes without
this fix, but it fails in the legacy engine, due to column
over-stretching described in crbug.com/1013151

css/css-multicol/balance-break-avoidance-000.html also passes without
this fix, but I couldn't find any test like this (break-inside:avoid and
how it affects column balancing), so here it is.

Bug: 1013151, 1066380, 829028
Change-Id: Ic4fca68644864b8209d49fa5f0d62d6079e6c0e6
Reviewed-on: https://chromium-review.googlesource.com/2566810
WPT-Export-Revision: 7598e066cbf2edd56e38416ea4158a79b40d5496

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

CI Results

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

Total 3 tests

Status Summary

Firefox

PASS: 1
FAIL: 2

Chrome

PASS: 1
FAIL: 2

Safari

PASS: 1
FAIL: 2

Links

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

/css/css-multicol/balance-break-avoidance-000.html: FAIL

New Tests That Don't Pass

/css/css-multicol/balance-break-avoidance-000.html: FAIL (Chrome: PASS, Safari: PASS)
/css/css-multicol/balance-break-avoidance-001.html: FAIL (Chrome: FAIL, Safari: FAIL)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/434852b39519 [wpt PR 26681] - Stretch column block-size to avoid unappealing breaks., a=testonly https://hg.mozilla.org/integration/autoland/rev/2f2e995c714c [wpt PR 26681] - Update wpt metadata, a=testonly
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e350a0fdfb32 [wpt PR 26681] - Stretch column block-size to avoid unappealing breaks., a=testonly https://hg.mozilla.org/integration/autoland/rev/b713f7e5a0ec [wpt PR 26681] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
You need to log in before you can comment on or make changes to this bug.