Index: third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
index 46e94f452b875caac46a725053240b33749485e5..5a344cf52f06f390bc6052a41b38c166aa9fd897 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
@@ -1932,10 +1932,10 @@ void LayoutBlockFlow::layoutInlineChildren(bool relayoutChildren, |
} else if (o->isFloating()) { |
layoutState.floats().append(FloatWithRect(box)); |
if (box->needsLayout()) { |
- box->layout(); |
- // Dirty any lineboxes potentially affected by the float, but don't |
- // search outside this object as we are only interested in dirtying |
- // lineboxes to which we may attach the float. |
+ // Be sure to at least mark the first line affected by the float as |
+ // dirty, so that the float gets relaid out. Otherwise we'll miss |
+ // it. After float layout, if it turns out that it changed size, |
+ // any lines after this line will be deleted and relaid out. |
dirtyLinesFromChangedChild(box, MarkOnlyThis); |
} |
} else if (isFullLayout || o->needsLayout()) { |