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

Unified Diff: third_party/WebKit/LayoutTests/fragmentation/float-pushed-to-next-fragmentainer-by-floats.html

Issue 2532573003: Position a float before laying it out. (Closed)
Patch Set: Created 4 years, 1 month 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
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>

Powered by Google App Engine
This is Rietveld 408576698