| Index: third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
|
| index 2f108e1c039b1b000f73d21da54b39857489a291..67efa0412ba77cbfcd3f1c57e11c738efadfc3e7 100644
|
| --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
|
| +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
|
| @@ -43,9 +43,10 @@ RefPtr<NGConstraintSpace> CreateConstraintSpaceForFloat(
|
| .ToConstraintSpace(FromPlatformWritingMode(style.GetWritingMode()));
|
| }
|
|
|
| -NGLogicalOffset GetOriginPointForFloats(const NGConstraintSpace& space,
|
| - LayoutUnit content_size) {
|
| - NGLogicalOffset origin_point = space.BfcOffset();
|
| +NGLogicalOffset GetOriginPointForFloats(
|
| + const NGLogicalOffset& container_bfc_offset,
|
| + LayoutUnit content_size) {
|
| + NGLogicalOffset origin_point = container_bfc_offset;
|
| origin_point.block_offset += content_size;
|
| return origin_point;
|
| }
|
| @@ -295,7 +296,7 @@ bool NGInlineLayoutAlgorithm::CreateLineUpToLastBreakOpportunity() {
|
| #endif
|
|
|
| NGLogicalOffset origin_point =
|
| - GetOriginPointForFloats(ConstraintSpace(), content_size_);
|
| + GetOriginPointForFloats(ContainerBfcOffset(), content_size_);
|
| PositionPendingFloats(origin_point.block_offset, &container_builder_,
|
| MutableConstraintSpace());
|
| FindNextLayoutOpportunity();
|
| @@ -375,16 +376,16 @@ void NGInlineLayoutAlgorithm::LayoutAndPositionFloat(
|
| ToNGPhysicalBoxFragment(layout_result->PhysicalFragment().Get()));
|
|
|
| NGLogicalOffset origin_offset =
|
| - GetOriginPointForFloats(ConstraintSpace(), content_size_);
|
| - NGLogicalOffset from_offset = ConstraintSpace().BfcOffset();
|
| + GetOriginPointForFloats(ContainerBfcOffset(), content_size_);
|
| const ComputedStyle& float_style = node->Style();
|
| NGBoxStrut margins = ComputeMargins(ConstraintSpace(), float_style,
|
| ConstraintSpace().WritingMode(),
|
| ConstraintSpace().Direction());
|
| RefPtr<NGFloatingObject> floating_object = NGFloatingObject::Create(
|
| float_style, float_space->WritingMode(), current_opportunity_.size,
|
| - origin_offset, from_offset, margins,
|
| + origin_offset, ContainerBfcOffset(), margins,
|
| layout_result->PhysicalFragment().Get());
|
| + floating_object->parent_bfc_block_offset = ContainerBfcOffset().block_offset;
|
|
|
| bool float_does_not_fit = end_position + float_fragment.InlineSize() >
|
| current_opportunity_.InlineSize();
|
|
|