| 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 238c3b0dc9b0e67b3b35ff7d137341c747ca0ecb..edfb50291e69d9c74a02b49b696a32d4d8ffabc4 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
|
| @@ -314,15 +314,10 @@ NGLayoutStatus NGBlockLayoutAlgorithm::Layout(
|
| ComputeBlockSizeForFragment(ConstraintSpace(), Style(), content_size_);
|
| builder_->SetBlockSize(block_size);
|
|
|
| - // Out of flow setup.
|
| - out_of_flow_layout_ = new NGOutOfFlowLayoutPart(&Style(), builder_->Size());
|
| - builder_->GetAndClearOutOfFlowDescendantCandidates(
|
| - &out_of_flow_candidates_, &out_of_flow_candidate_positions_);
|
| - out_of_flow_candidate_positions_index_ = 0;
|
| current_child_ = nullptr;
|
|
|
| - while (!LayoutOutOfFlowChild())
|
| - continue;
|
| + // Layout our absolute and fixed positioned children.
|
| + NGOutOfFlowLayoutPart(Style(), builder_).Run();
|
|
|
| builder_->SetInlineOverflow(max_inline_size_).SetBlockOverflow(content_size_);
|
|
|
| @@ -353,31 +348,6 @@ void NGBlockLayoutAlgorithm::FinishCurrentChildLayout(NGFragment* fragment) {
|
| builder_->AddChild(fragment, fragment_offset);
|
| }
|
|
|
| -bool NGBlockLayoutAlgorithm::LayoutOutOfFlowChild() {
|
| - if (out_of_flow_candidates_.isEmpty()) {
|
| - out_of_flow_layout_ = nullptr;
|
| - out_of_flow_candidate_positions_.clear();
|
| - return true;
|
| - }
|
| - current_child_ = out_of_flow_candidates_.first();
|
| - out_of_flow_candidates_.removeFirst();
|
| - NGStaticPosition static_position = out_of_flow_candidate_positions_
|
| - [out_of_flow_candidate_positions_index_++];
|
| -
|
| - if (IsContainingBlockForAbsoluteChild(Style(), *current_child_->Style())) {
|
| - NGFragment* fragment;
|
| - NGLogicalOffset offset;
|
| - out_of_flow_layout_->Layout(*current_child_, static_position, &fragment,
|
| - &offset);
|
| - // TODO(atotic) Need to adjust size of overflow rect per spec.
|
| - builder_->AddChild(fragment, offset);
|
| - } else {
|
| - builder_->AddOutOfFlowDescendant(current_child_, static_position);
|
| - }
|
| -
|
| - return false;
|
| -}
|
| -
|
| bool NGBlockLayoutAlgorithm::ProceedToNextUnfinishedSibling(
|
| NGPhysicalFragment* child_fragment) {
|
| DCHECK(current_child_);
|
| @@ -679,8 +649,6 @@ DEFINE_TRACE(NGBlockLayoutAlgorithm) {
|
| visitor->trace(space_builder_);
|
| visitor->trace(space_for_current_child_);
|
| visitor->trace(current_child_);
|
| - visitor->trace(out_of_flow_layout_);
|
| - visitor->trace(out_of_flow_candidates_);
|
| visitor->trace(fragmentainer_mapper_);
|
| }
|
|
|
|
|