зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1672891 [wpt PR 26247] - Propagate previous fragment's break token for OOF fragmentation layout, a=testonly
Automatic update from web-platform-tests
Propagate previous fragment's break token for OOF fragmentation layout
When adding out-of-flow results to a fragmentainer, we currently are not
setting up the break token sequence number on the NGBoxFragmentBuilder
for the NGSimplifiedOOFLayoutAlgorithm. This results in painting
different fragments with the same fragmentainer identifier in
NGBoxFragmentPainter::PaintBlockChildren, which causes a DCHECK in
display item caching code.
Instead, use the previous fragment's BreakToken when creating the
NGSimplifiedOOFLayoutAlgorithm. This gets the sequence numbers correct,
whether we replace or create new fragments (for the former
we could just use the existing break token/sequence number).
This adds a WPT test for the unit test that exposed this issue:
NGOutOfFlowLayoutPartTest::PositionedFragmentationWithOverflow
Bug: 1134763
Change-Id: I48a230f8153b8ea63c3a376629c645656423fc2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2490209
Commit-Queue: Daniel Libby <dlibby@microsoft.com>
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#820944}
--
wpt-commits: 779dc12974e409ffe4b998bddf740cfb883f2e50
wpt-pr: 26247
This commit is contained in:
Родитель
eeeeba9472
Коммит
cba354cf94
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE html>
|
||||
<link rel="help" href="href=https://www.w3.org/TR/css-break-3/#break-decoration">
|
||||
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
|
||||
<!-- Tests fragmentation when a positioned node's child overflows. -->
|
||||
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
|
||||
<style>
|
||||
#multicol {
|
||||
column-count: 2;
|
||||
column-fill: auto;
|
||||
column-gap: 0px;
|
||||
height: 100px;
|
||||
width: 50px;
|
||||
}
|
||||
.rel {
|
||||
position: relative;
|
||||
width: 30px;
|
||||
}
|
||||
.abs {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
width: 5px;
|
||||
height: 10px;
|
||||
background: green;
|
||||
}
|
||||
</style>
|
||||
<div id="multicol">
|
||||
<div class="rel">
|
||||
<div class="abs">
|
||||
<div style="background: green; width: 25px; height: 400px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: red; width: 20px; height: 140px;"></div>
|
||||
</div>
|
Загрузка…
Ссылка в новой задаче