| Index: third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
|
| index ac99cdd46c2c8c7e3304277d7a1a78bca7833097..e35cee1649d36187cc10c7ce69b6f8c22d636783 100644
|
| --- a/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_constraint_space_builder.cc
|
| @@ -23,6 +23,7 @@ NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(
|
| fragmentation_type_(parent_space->BlockFragmentationType()),
|
| is_new_fc_(parent_space->IsNewFormattingContext()),
|
| text_direction_(static_cast<unsigned>(parent_space->Direction())),
|
| + bfc_offset_(parent_space->bfc_offset_),
|
| exclusions_(parent_space->Exclusions()) {}
|
|
|
| NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode)
|
| @@ -57,6 +58,12 @@ NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetTextDirection(
|
| return *this;
|
| }
|
|
|
| +NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetMarginStrut(
|
| + const NGMarginStrut& margin_strut) {
|
| + margin_strut_ = margin_strut;
|
| + return *this;
|
| +}
|
| +
|
| NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeInline(
|
| bool is_fixed_size_inline) {
|
| is_fixed_size_inline_ = is_fixed_size_inline;
|
| @@ -119,6 +126,9 @@ NGConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() {
|
| bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) ==
|
| (writing_mode_ == kHorizontalTopBottom);
|
|
|
| + NGMarginStrut margin_strut = is_new_fc_ ? NGMarginStrut() : margin_strut_;
|
| + NGLogicalOffset bfc_offset = is_new_fc_ ? NGLogicalOffset() : bfc_offset_;
|
| +
|
| if (is_in_parallel_flow) {
|
| return new NGConstraintSpace(
|
| static_cast<NGWritingMode>(writing_mode_),
|
| @@ -131,7 +141,7 @@ NGConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() {
|
| is_inline_direction_triggers_scrollbar_,
|
| is_block_direction_triggers_scrollbar_,
|
| static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_,
|
| - exclusions);
|
| + margin_strut, bfc_offset, exclusions);
|
| }
|
|
|
| return new NGConstraintSpace(
|
| @@ -145,7 +155,7 @@ NGConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() {
|
| is_block_direction_triggers_scrollbar_,
|
| is_inline_direction_triggers_scrollbar_,
|
| static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_,
|
| - exclusions);
|
| + margin_strut, bfc_offset, exclusions);
|
| }
|
|
|
| } // namespace blink
|
|
|