Skip to content

Commit faa42db

Browse files
mstenshochromium-wpt-export-bot
authored andcommitted
If an incoming break token is past block-end, so is the outgoing one.
This was failing for column balancing at a fragment that was for a resumed node that had already overflowed, and had a forced break inside. For this to happen, we need a balanced multicol container inside another fragmentation context, and break in the outer fragmentation context, then attempt to rebalance the inner while inside a resumed overflowed node. This fixes crashes, but simply avoiding those would leave a correctness issue behind (since a break inside a parallel flow would have incorrect impact on the outside). Hence a (rather complicated) correctness test for this. Without this fix, the test would both fail a DCHECK and (if bypassed) a CHECK. Bug: 396176635 Change-Id: I08e4a6ca2832e027daf02f5a7e38e5b3c632a4ff Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6545960 Reviewed-by: Ian Kilpatrick <[email protected]> Commit-Queue: Morten Stenshorne <[email protected]> Cr-Commit-Position: refs/heads/main@{#1460130}
1 parent b8b4836 commit faa42db

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!DOCTYPE html>
2+
<title>Nested balanced multicol with forced break inside overflowed container</title>
3+
<link rel="author" title="Morten Stenshorne" href="mailto:[email protected]">
4+
<link rel="help" href="https://issues.chromium.org/issues/396176635">
5+
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
6+
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
7+
<div style="columns:2; gap:0; column-fill:auto; width:80px; border-right:20px solid green; height:100px; background:red;">
8+
<div style="columns:2; gap:0;">
9+
<div style="height:40px; background:green;"></div>
10+
<div style="height:10px; background:red;">
11+
<div style="margin-left:auto; width:50%; height:180px; background:green;">
12+
<div style="height:10px; width:100%; margin-left:-100%; background:green;"></div>
13+
</div>
14+
<div style="break-before:column; height:10px; background:red;"></div>
15+
</div>
16+
<div style="width:50%; height:250px;">
17+
<div style="height:170px; background:green;"></div>
18+
<div style="width:200%; height:80px; background:green;"></div>
19+
</div>
20+
<div style="height:100px; background:green;"></div>
21+
</div>
22+
</div>

0 commit comments

Comments
 (0)