Skip to content

Commit 2af5a03

Browse files
mstenshoChromium LUCI CQ
authored andcommitted
Replace forced-break-in-nested-columns.html with a correct WPT test.
The old test was assuming a legacy engine implementation limitation, where we're unable to push the first fragment of a multicol container to the next outer fragmentainer if there was no room for its contents in the current outer fragmentainer. In the test, see the first DIV child of the inner .mc. The legacy engine would just push the line inside that DIV to the next outer fragmentainer, even if there's no valid breakpoint there. The correct behavior is to push the first fragment of the inner multicol container itself to the next outer fragmentainer (there's a perfect breakpoint after the first DIV child of the outer .mc. LayoutNG block fragmentation gets this right. Bug: 829028 Change-Id: I55950c5aad3418b49dabe12debd43317cf578c96 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3135656 Reviewed-by: Alison Maher <[email protected]> Commit-Queue: Morten Stenshorne <[email protected]> Cr-Commit-Position: refs/heads/main@{#917263}
1 parent 760d4c8 commit 2af5a03

File tree

4 files changed

+35
-25
lines changed

4 files changed

+35
-25
lines changed

third_party/blink/web_tests/TestExpectations

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1215,6 +1215,7 @@ virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-nested-008.h
12151215
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-nested-009.html [ Pass ]
12161216
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-nested-010.html [ Pass ]
12171217
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-nested-011.html [ Pass ]
1218+
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-nested-012.html [ Pass ]
12181219
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-rule-nested-balancing-004.html [ Pass ]
12191220
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-scroll-content.html [ Pass ]
12201221
virtual/layout_ng_block_frag/external/wpt/css/css-multicol/multicol-span-all-006.html [ Pass ]
@@ -1267,7 +1268,6 @@ virtual/layout_ng_block_frag/fast/multicol/vertical-rl/nested-columns.html [ Pas
12671268
### Tests failing with LayoutNGBlockFragmentation enabled:
12681269
crbug.com/1225630 virtual/layout_ng_block_frag/external/wpt/css/css-multicol/large-actual-column-count.html [ Skip ]
12691270
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/float-margin-at-row-boundary.html [ Failure ]
1270-
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/forced-break-in-nested-columns.html [ Failure ]
12711271
crbug.com/829028 virtual/layout_ng_block_frag/fast/multicol/forced-break-too-short-column.html [ Failure ]
12721272
crbug.com/1066629 virtual/layout_ng_block_frag/fast/multicol/hit-test-translate-z.html [ Failure ]
12731273
crbug.com/1225630 virtual/layout_ng_block_frag/fast/multicol/infinite-height-causing-fractional-row-height-crash.html [ Skip ]
@@ -3839,6 +3839,7 @@ crbug.com/829028 external/wpt/css/css-multicol/multicol-nested-008.html [ Failur
38393839
crbug.com/829028 external/wpt/css/css-multicol/multicol-nested-009.html [ Failure ]
38403840
crbug.com/829028 external/wpt/css/css-multicol/multicol-nested-010.html [ Failure ]
38413841
crbug.com/829028 external/wpt/css/css-multicol/multicol-nested-011.html [ Failure ]
3842+
crbug.com/829028 external/wpt/css/css-multicol/multicol-nested-012.html [ Failure ]
38423843
crbug.com/792435 external/wpt/css/css-multicol/multicol-rule-004.xht [ Failure ]
38433844
crbug.com/792437 external/wpt/css/css-multicol/multicol-rule-inset-000.xht [ Failure ]
38443845
crbug.com/990240 external/wpt/css/css-multicol/multicol-rule-nested-balancing-001.html [ Failure ]
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<!DOCTYPE html>
2+
<link rel="author" title="Morten Stenshorne" href="mailto:[email protected]">
3+
<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#the-multi-column-model">
4+
<style>
5+
.mc {
6+
columns: 2;
7+
column-gap: 0;
8+
}
9+
.outer {
10+
position: relative;
11+
column-fill: auto;
12+
width: 64px;
13+
height: 40px;
14+
font: 16px/32px monospace;
15+
text-align: right;
16+
}
17+
</style>
18+
<p>The word "WIN" should be seen below.</p>
19+
<div class="mc outer">
20+
<div data-offset-x="0" data-offset-y="0">W</div>
21+
<div class="mc">
22+
<div data-offset-x="32" data-offset-y="0">
23+
<span data-offset-x="32" data-offset-y="0" style="display:inline-block; width:100%;">I</span>
24+
</div>
25+
<div data-offset-x="48" data-offset-y="0" style="break-before:column;">N</div>
26+
</div>
27+
</div>
28+
<script src="/resources/testharness.js"></script>
29+
<script src="/resources/testharnessreport.js"></script>
30+
<script src="/resources/check-layout-th.js"></script>
31+
<script>
32+
checkLayout(".outer");
33+
</script>

third_party/blink/web_tests/fast/multicol/forced-break-in-nested-columns-expected.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.

third_party/blink/web_tests/fast/multicol/forced-break-in-nested-columns.html

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)