| 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 bd107013392b4316412488ea3648a0372bcb5893..aadb712141713604efc3afe663f15fa8be4ff074 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
|
| @@ -308,7 +308,8 @@ NGPhysicalFragment* NGBlockLayoutAlgorithm::Layout() {
|
| ComputeBlockSizeForFragment(ConstraintSpace(), Style(), content_size_);
|
| builder_->SetBlockSize(block_size);
|
|
|
| - LayoutOutOfFlowChildren();
|
| + // Layout our absolute and fixed positioned children.
|
| + NGOutOfFlowLayoutPart(Style(), builder_).Run();
|
|
|
| builder_->SetInlineOverflow(max_inline_size_).SetBlockOverflow(content_size_);
|
|
|
| @@ -339,32 +340,6 @@ void NGBlockLayoutAlgorithm::FinishCurrentChildLayout(NGFragment* fragment) {
|
| builder_->AddChild(fragment, fragment_offset);
|
| }
|
|
|
| -void NGBlockLayoutAlgorithm::LayoutOutOfFlowChildren() {
|
| - HeapLinkedHashSet<WeakMember<NGBlockNode>> out_of_flow_candidates;
|
| - Vector<NGStaticPosition> out_of_flow_candidate_positions;
|
| - builder_->GetAndClearOutOfFlowDescendantCandidates(
|
| - &out_of_flow_candidates, &out_of_flow_candidate_positions);
|
| -
|
| - Member<NGOutOfFlowLayoutPart> out_of_flow_layout =
|
| - new NGOutOfFlowLayoutPart(&Style(), builder_->Size());
|
| - size_t candidate_positions_index = 0;
|
| -
|
| - for (auto& child : out_of_flow_candidates) {
|
| - NGStaticPosition static_position =
|
| - out_of_flow_candidate_positions[candidate_positions_index++];
|
| -
|
| - if (IsContainingBlockForAbsoluteChild(Style(), *child->Style())) {
|
| - NGFragment* fragment;
|
| - NGLogicalOffset offset;
|
| - out_of_flow_layout->Layout(*child, static_position, &fragment, &offset);
|
| - // TODO(atotic) Need to adjust size of overflow rect per spec.
|
| - builder_->AddChild(fragment, offset);
|
| - } else {
|
| - builder_->AddOutOfFlowDescendant(child, static_position);
|
| - }
|
| - }
|
| -}
|
| -
|
| bool NGBlockLayoutAlgorithm::ProceedToNextUnfinishedSibling(
|
| NGPhysicalFragment* child_fragment) {
|
| DCHECK(current_child_);
|
|
|