| 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 494b6b9564de40121084436d26be0224b691681d..a4a77c0b29ca41be579feb73cea607c767d42b1b 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
|
| @@ -9,6 +9,7 @@
|
| #include "core/layout/ng/ng_fragment_builder.h"
|
| #include "core/layout/ng/ng_fragment.h"
|
| #include "core/layout/ng/ng_length_utils.h"
|
| +#include "core/layout/ng/ng_units.h"
|
| #include "core/style/ComputedStyle.h"
|
| #include "platform/LengthFunctions.h"
|
|
|
| @@ -20,7 +21,7 @@ NGBlockLayoutAlgorithm::NGBlockLayoutAlgorithm(
|
| : style_(style), first_child_(first_child), state_(kStateInit) {}
|
|
|
| bool NGBlockLayoutAlgorithm::Layout(const NGConstraintSpace* constraint_space,
|
| - NGFragment** out) {
|
| + NGPhysicalFragment** out) {
|
| switch (state_) {
|
| case kStateInit: {
|
| LayoutUnit inline_size =
|
| @@ -33,7 +34,7 @@ bool NGBlockLayoutAlgorithm::Layout(const NGConstraintSpace* constraint_space,
|
| *constraint_space, NGLogicalSize(inline_size, block_size));
|
| content_size_ = LayoutUnit();
|
|
|
| - builder_ = new NGFragmentBuilder(NGFragmentBase::FragmentBox);
|
| + builder_ = new NGFragmentBuilder(NGPhysicalFragmentBase::FragmentBox);
|
| builder_->SetInlineSize(inline_size).SetBlockSize(block_size);
|
| current_child_ = first_child_;
|
| state_ = kStateChildLayout;
|
| @@ -47,14 +48,15 @@ bool NGBlockLayoutAlgorithm::Layout(const NGConstraintSpace* constraint_space,
|
| NGBoxStrut child_margins = computeMargins(
|
| *constraint_space_for_children_, *current_child_->Style());
|
| // TODO(layout-ng): Support auto margins
|
| - fragment->SetOffset(child_margins.inline_start,
|
| - content_size_ + child_margins.block_start);
|
| - current_child_->PositionUpdated(*fragment);
|
| + builder_->AddChild(
|
| + fragment,
|
| + NGLogicalOffset(child_margins.inline_start,
|
| + content_size_ + child_margins.block_start));
|
| +
|
| content_size_ += fragment->BlockSize() + child_margins.BlockSum();
|
| max_inline_size_ =
|
| std::max(max_inline_size_,
|
| fragment->InlineSize() + child_margins.InlineSum());
|
| - builder_->AddChild(fragment);
|
| current_child_ = current_child_->NextSibling();
|
| if (current_child_)
|
| return false;
|
|
|