Index: third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
index 45e959ef1f60657a42347f4f22e36371dc2652d5..24d41129938c60d8d57edd39bcdaa93fc16c0488 100644 |
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
@@ -91,34 +91,23 @@ void MaybeUpdateFragmentBfcOffset(const NGConstraintSpace& space, |
} |
} |
-void PositionPendingFloatsFromOffset(LayoutUnit origin_block_offset, |
- LayoutUnit from_block_offset, |
- NGFragmentBuilder* container_builder, |
- NGConstraintSpace* space) { |
+void PositionPendingFloats(LayoutUnit origin_block_offset, |
+ NGFragmentBuilder* container_builder, |
+ NGConstraintSpace* space) { |
DCHECK(container_builder->BfcOffset()) |
<< "Parent BFC offset should be known here"; |
+ |
const auto& unpositioned_floats = container_builder->UnpositionedFloats(); |
- const auto positioned_floats = |
- PositionFloats(origin_block_offset, from_block_offset, |
- container_builder->BfcOffset().value().block_offset, |
- unpositioned_floats, space); |
+ const auto positioned_floats = PositionFloats( |
+ origin_block_offset, container_builder->BfcOffset().value().block_offset, |
+ unpositioned_floats, space); |
+ |
for (const auto& positioned_float : positioned_floats) |
container_builder->AddPositionedFloat(positioned_float); |
container_builder->MutableUnpositionedFloats().clear(); |
} |
-void PositionPendingFloats(LayoutUnit origin_block_offset, |
- NGFragmentBuilder* container_builder, |
- NGConstraintSpace* space) { |
- DCHECK(container_builder->BfcOffset()) |
- << "Parent BFC offset should be known here"; |
- LayoutUnit from_block_offset = |
- container_builder->BfcOffset().value().block_offset; |
- PositionPendingFloatsFromOffset(origin_block_offset, from_block_offset, |
- container_builder, space); |
-} |
- |
NGBlockLayoutAlgorithm::NGBlockLayoutAlgorithm(NGBlockNode node, |
NGConstraintSpace* space, |
NGBlockBreakToken* break_token) |
@@ -374,11 +363,13 @@ void NGBlockLayoutAlgorithm::HandleFloating( |
// Calculate margins in the BFC's writing mode. |
NGBoxStrut margins = CalculateMargins(child); |
- NGLogicalOffset origin_offset = constraint_space_->BfcOffset(); |
- origin_offset.inline_offset += border_scrollbar_padding_.inline_start; |
+ LayoutUnit origin_inline_offset = |
+ constraint_space_->BfcOffset().inline_offset + |
+ border_scrollbar_padding_.inline_start; |
+ |
RefPtr<NGUnpositionedFloat> unpositioned_float = NGUnpositionedFloat::Create( |
- child_available_size_, child_percentage_size_, origin_offset, |
- constraint_space_->BfcOffset(), margins, child, token); |
+ child_available_size_, child_percentage_size_, origin_inline_offset, |
+ constraint_space_->BfcOffset().inline_offset, margins, child, token); |
container_builder_.AddUnpositionedFloat(unpositioned_float); |
// If there is a break token for a float we must be resuming layout, we must |
@@ -536,7 +527,6 @@ NGLogicalOffset NGBlockLayoutAlgorithm::PositionNewFc( |
.SetIsNewFormattingContext(false) |
.ToConstraintSpace(child_space.WritingMode()); |
PositionFloats(child_bfc_offset_estimate, child_bfc_offset_estimate, |
- child_bfc_offset_estimate, |
container_builder_.UnpositionedFloats(), tmp_space.Get()); |
NGLogicalOffset origin_offset = {ConstraintSpace().BfcOffset().inline_offset + |
@@ -610,9 +600,8 @@ NGLogicalOffset NGBlockLayoutAlgorithm::PositionWithParentBfc( |
layout_result.EndMarginStrut().Sum()}; |
AdjustToClearance(space.ClearanceOffset(), &child_bfc_offset); |
- PositionPendingFloatsFromOffset( |
- child_bfc_offset.block_offset, child_bfc_offset.block_offset, |
- &container_builder_, MutableConstraintSpace()); |
+ PositionPendingFloats(child_bfc_offset.block_offset, &container_builder_, |
+ MutableConstraintSpace()); |
return child_bfc_offset; |
} |