mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 03:35:33 +00:00
119b557460
This adds an additional retry loop in block reflow that we can only trigger when reflowing a block formatting context (replacedBlock non-null). It can retry in two different ways, either with a narrower width but at the same vertical position (when ReplacedBlockFitsInAvailSpace is still true) or at a new vertical position (which is treated as a form of clearance). Fortunately we don't have to worry about margins collapsing *through* such a boundary since we're dealing with a new block formatting context. Note that Chromium passes all of the new bfc-displace-* tests, although it moves the block formating context down unnecessarily in bfc-shrink-1.html (which we do neither before nor after the patch), though agrees with the width we have after the patch (but not before the patch). --HG-- extra : commitid : FgDc4hjTxHp
35 lines
595 B
HTML
35 lines
595 B
HTML
<!DOCTYPE HTML>
|
|
<title>Test of block formatting context displacement by floats</title>
|
|
<style>
|
|
|
|
.contain {
|
|
border: medium solid;
|
|
width: 400px;
|
|
height: 400px;
|
|
background: yellow;
|
|
}
|
|
|
|
.float {
|
|
float: left;
|
|
clear: left;
|
|
height: 20px;
|
|
background: blue;
|
|
}
|
|
|
|
.bfc {
|
|
float: left;
|
|
clear: left;
|
|
width: 250px;
|
|
height: 21px; /* one pixel too tall to fit next to first float */
|
|
background: fuchsia;
|
|
}
|
|
|
|
</style>
|
|
|
|
|
|
<div class="contain">
|
|
<div class="float" style="width: 100px; margin-top: 3px"></div>
|
|
<div class="float" style="width: 200px"></div>
|
|
<div class="bfc"></div>
|
|
</div>
|