Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing.html

Issue 1315353005: Avoid duplicated code in LayoutBlockChild::layoutBlockChild(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Resurrected comment about first layout pass and improved it. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing-expected.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing.html
diff --git a/LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing.html b/LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing.html
new file mode 100644
index 0000000000000000000000000000000000000000..3194f1c8104288d0d10e9c843728325af23e878a
--- /dev/null
+++ b/LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<script src="../../../resources/check-layout.js"></script>
+<style>
+ body { margin:8px; font-size:16px; }
+</style>
+<p>Given a float followed by a regular block with the same height as the float, then a block B with
+ a negative margin, followed by a block with with overflow:hidden. Check that the
+ overflow:hidden block doesn't overlap with the float, and also that it takes up all available
+ space (but not more) beside the float. There's an empty collapse-through block before B, so
+ that our initial logical top estimate fails and we have to relayout. When laying out again, we
+ have to detect that the float that we first thought didn't affect the overflow:hidden block now
+ affects it.</p>
+<p>Below there should be an olive square to the left of a navy square. The navy square should be
+ slightly larger than the olive one, and there should be spacing between them. They should not
+ overlap.</p>
+<div style="width:18em;">
+ <div>
+ <div style="float:left; width:8em; height:8em; margin-right:1em; background:olive;"></div>
+ <div style="height:8em;"></div>
+ <div>
+ <!-- Here's an empty block that we can just collapse through, but we don't realize that
+ when calculating our initial top estimate on its parent, so we have to relayout
+ when it turns out that a negative margin has pulled us upwards (and suddenly we
+ have something block-level that's affected by the float). -->
+ <div></div>
+
+ <div style="margin-top:-8em;"></div>
+
+ <!-- Here's a block-level element that is affected by floats, because it's a table. We
+ could have used e.g. an overflow:hidden DIV for the same effect. -->
+ <div id="bfc" style="overflow:hidden; height:9em; background:navy;" data-total-x="152" data-expected-width="144"></div>
+ </div>
+ </div>
+</div>
+<p id="result" style="clear:both;"></p>
+<script>
+ checkLayout("#bfc", document.getElementById("result"));
+</script>
« no previous file with comments | « no previous file | LayoutTests/fast/block/margin-collapse/bfc-beside-float-complex-margin-collapsing-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698