Index: third_party/WebKit/Source/core/layout/ng/ng_block_node.cc |
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc |
index 7e8127a48780df6ce49966c3c011861e117d73f2..73fc8570d4ce7472ba1b3e2ff1af3b8200649881 100644 |
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc |
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc |
@@ -246,6 +246,13 @@ void NGBlockNode::CopyFragmentDataToLayoutBox( |
intrinsic_logical_height -= border_and_padding.BlockSum(); |
layout_box_->setIntrinsicContentLogicalHeight(intrinsic_logical_height); |
+ // We may still have unpositioned floats when we reach the root box. |
+ if (!layout_box_->parent()) { |
+ for (const auto& floating_object : fragment_->PositionedFloats()) { |
+ FloatingObjectPositionedUpdated(floating_object, layout_box_); |
+ } |
+ } |
+ |
// TODO(layout-dev): Currently we are not actually performing layout on |
// inline children. For now just clear the needsLayout bit so that we can |
// run unittests. |