fune/testing/web-platform/tests/css/css-multicol/multicol-span-float-002-ref.html
Ting-Yu Lin 9dddcd204f Bug 1671527 Part 3 - Reparent floats when creating non-column-span wrapper frames. r=emilio
When we are in CreateColumnSpanSiblings(), there are floats in
nsFrameConstructorState::mFloatedList that are waiting to be added to
aInitialBlock once we leave scope of the float containing block.
However, since we are creating non-column-span continuations, which are
continuations of aInitialBlock, we should reparent the floats to these
continuations if their placeholders are the descendants of the
newly-created continuations.

multicol-span-float-002.html exercises
nsCSSFrameConstructor::ConstructBlock() and multicol-span-float-003.html
exercises nsCSSFrameConstructor::CreateIBSiblings().

Without this patch, multicol-span-float-002.html and
multicol-span-float-003.html still pass, but they trigger

```
ASSERTION: nsBlockFrame::CheckFloats: Explicit float list is out of
sync with float cache
```

1524382.html used to trigger the above assertions. Now it's fixed.

Differential Revision: https://phabricator.services.mozilla.com/D120105
2021-07-23 22:52:05 +00:00

37 lines
833 B
HTML

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>CSS Multi-column Layout Reference: Test floats in a multi-column container with column-span</title>
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
<link rel="author" title="Mozilla" href="http://www.mozilla.org/">
<link rel="stylesheet" href="/fonts/ahem.css">
<style>
article {
width: 300px;
font: 1.25em/1 Ahem;
}
.float-left {
float: left;
color: black;
}
.float-right {
float: right;
color: navy;
}
.column-span {
clear: both;
color: pink;
}
</style>
<article>
<div class="float-left">black</div>
<div class="float-right">navvy</div>
<div class="column-span">Pink</div>
<div class="float-left">black</div>
<div class="float-right">navyy</div>
</article>
</html>