Index: third_party/WebKit/LayoutTests/fragmentation/float-pushed-to-next-fragmentainer-by-floats.html |
diff --git a/third_party/WebKit/LayoutTests/fragmentation/float-pushed-to-next-fragmentainer-by-floats.html b/third_party/WebKit/LayoutTests/fragmentation/float-pushed-to-next-fragmentainer-by-floats.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cdf27743b3d9bdbe9e4afe879615075b9987ff6a |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fragmentation/float-pushed-to-next-fragmentainer-by-floats.html |
@@ -0,0 +1,30 @@ |
+<!DOCTYPE html> |
+<style> |
+ .halfsquare { width:15px; height:30px; background:blue; } |
+</style> |
+<p>There should be a blue square below.</p> |
+<div style="position:relative; columns:2; column-gap:0; column-fill:auto; width:400px; height:90px; line-height:20px;"> |
+ <div style="margin-left:auto; margin-bottom:30px;" class="halfsquare"></div> |
+ <div id="float1" style="float:left; width:60px; height:30px;"></div> |
+ <div id="float2" style="float:left; width:130px; height:15px;"></div> |
+ <div id="float3" style="float:left;" class="halfsquare"><br></div> |
+</div> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<script> |
+test(() => { |
+ // #float1 and #float2 fit beside each other, since their total |
+ // width is 190px, and column width is greater, i.e. 200px. |
+ // |
+ // #float3 is 15px wide. It cannot fit beside both #float1 and |
+ // #float2, because that would exceed the column width. It could |
+ // fit beside #float2 alone, though. However, at this point we |
+ // only have 15px of available height remaining in the first |
+ // column, and #float3 requires 20px (the blank line inside, |
+ // which is unbreakable), so it needs to be pushed to the next |
+ // column, and thus end up after both preceding floats. |
+ var float3 = document.getElementById("float3"); |
+ assert_equals(float3.offsetTop, 0); |
+ assert_equals(float3.offsetLeft, 200); |
+}, "Float pushed down by sibling float, and then by pagination, affecting final inline position."); |
+</script> |