Index: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
index 9fd14255efb568cc83fcfc7da64129b8aba15919..9b3620e03bbc372282379f70bfb8d34e16be3372 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp |
@@ -689,8 +689,10 @@ void LayoutBlockFlow::MarkDescendantsWithFloatsForLayoutIfNeeded( |
} else if (!child.AvoidsFloats() || child.ShrinkToAvoidFloats()) { |
// If an element might be affected by the presence of floats, then always |
// mark it for layout. |
- if (std::max(previous_float_logical_bottom, LowestFloatLogicalBottom()) > |
- new_logical_top) |
+ LayoutUnit lowest_float = |
+ std::max(previous_float_logical_bottom, LowestFloatLogicalBottom()); |
+ lowest_float = std::max(lowest_float, child.LowestFloatLogicalBottom()); |
+ if (lowest_float > new_logical_top) |
mark_descendants_with_floats = true; |
} |