Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/layout/ng/ng_constraint_space_builder.h" | 5 #include "core/layout/ng/ng_constraint_space_builder.h" |
| 6 | 6 |
| 7 #include "core/layout/ng/ng_length_utils.h" | 7 #include "core/layout/ng/ng_length_utils.h" |
| 8 | 8 |
| 9 namespace blink { | 9 namespace blink { |
| 10 | 10 |
| 11 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder( | 11 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder( |
| 12 const NGConstraintSpace* parent_space) | 12 const NGConstraintSpace* parent_space) |
| 13 : available_size_(parent_space->AvailableSize()), | 13 : available_size_(parent_space->AvailableSize()), |
| 14 percentage_resolution_size_(parent_space->PercentageResolutionSize()), | 14 percentage_resolution_size_(parent_space->PercentageResolutionSize()), |
| 15 fragmentainer_space_available_(NGSizeIndefinite), | 15 fragmentainer_space_available_(NGSizeIndefinite), |
| 16 writing_mode_(parent_space->WritingMode()), | 16 writing_mode_(parent_space->WritingMode()), |
| 17 parent_writing_mode_(writing_mode_), | 17 parent_writing_mode_(writing_mode_), |
| 18 is_fixed_size_inline_(false), | 18 is_fixed_size_inline_(false), |
| 19 is_fixed_size_block_(false), | 19 is_fixed_size_block_(false), |
| 20 is_shrink_to_fit_(false), | 20 is_shrink_to_fit_(false), |
| 21 is_inline_direction_triggers_scrollbar_(false), | 21 is_inline_direction_triggers_scrollbar_(false), |
| 22 is_block_direction_triggers_scrollbar_(false), | 22 is_block_direction_triggers_scrollbar_(false), |
| 23 fragmentation_type_(parent_space->BlockFragmentationType()), | 23 fragmentation_type_(parent_space->BlockFragmentationType()), |
| 24 is_new_fc_(parent_space->IsNewFormattingContext()), | 24 is_new_fc_(parent_space->IsNewFormattingContext()), |
| 25 text_direction_(static_cast<unsigned>(parent_space->Direction())), | 25 text_direction_(static_cast<unsigned>(parent_space->Direction())), |
| 26 bfc_offset_(parent_space->bfc_offset_), | |
| 26 exclusions_(parent_space->Exclusions()) {} | 27 exclusions_(parent_space->Exclusions()) {} |
| 27 | 28 |
| 28 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode) | 29 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode) |
| 29 : fragmentainer_space_available_(NGSizeIndefinite), | 30 : fragmentainer_space_available_(NGSizeIndefinite), |
| 30 writing_mode_(writing_mode), | 31 writing_mode_(writing_mode), |
| 31 parent_writing_mode_(writing_mode_), | 32 parent_writing_mode_(writing_mode_), |
| 32 is_fixed_size_inline_(false), | 33 is_fixed_size_inline_(false), |
| 33 is_fixed_size_block_(false), | 34 is_fixed_size_block_(false), |
| 34 is_shrink_to_fit_(false), | 35 is_shrink_to_fit_(false), |
| 35 is_inline_direction_triggers_scrollbar_(false), | 36 is_inline_direction_triggers_scrollbar_(false), |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 50 percentage_resolution_size_ = percentage_resolution_size; | 51 percentage_resolution_size_ = percentage_resolution_size; |
| 51 return *this; | 52 return *this; |
| 52 } | 53 } |
| 53 | 54 |
| 54 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetTextDirection( | 55 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetTextDirection( |
| 55 TextDirection text_direction) { | 56 TextDirection text_direction) { |
| 56 text_direction_ = static_cast<unsigned>(text_direction); | 57 text_direction_ = static_cast<unsigned>(text_direction); |
| 57 return *this; | 58 return *this; |
| 58 } | 59 } |
| 59 | 60 |
| 61 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetMarginStrut( | |
| 62 const NGMarginStrut& margin_strut) { | |
| 63 margin_strut_ = margin_strut; | |
| 64 return *this; | |
| 65 } | |
| 66 | |
| 60 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeInline( | 67 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeInline( |
| 61 bool is_fixed_size_inline) { | 68 bool is_fixed_size_inline) { |
| 62 is_fixed_size_inline_ = is_fixed_size_inline; | 69 is_fixed_size_inline_ = is_fixed_size_inline; |
| 63 return *this; | 70 return *this; |
| 64 } | 71 } |
| 65 | 72 |
| 66 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeBlock( | 73 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetIsFixedSizeBlock( |
| 67 bool is_fixed_size_block) { | 74 bool is_fixed_size_block) { |
| 68 is_fixed_size_block_ = is_fixed_size_block; | 75 is_fixed_size_block_ = is_fixed_size_block; |
| 69 return *this; | 76 return *this; |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 124 static_cast<NGWritingMode>(writing_mode_), | 131 static_cast<NGWritingMode>(writing_mode_), |
| 125 static_cast<TextDirection>(text_direction_), | 132 static_cast<TextDirection>(text_direction_), |
| 126 {available_size_.inline_size, available_size_.block_size}, | 133 {available_size_.inline_size, available_size_.block_size}, |
| 127 {percentage_resolution_size_.inline_size, | 134 {percentage_resolution_size_.inline_size, |
| 128 percentage_resolution_size_.block_size}, | 135 percentage_resolution_size_.block_size}, |
| 129 fragmentainer_space_available_, is_fixed_size_inline_, | 136 fragmentainer_space_available_, is_fixed_size_inline_, |
| 130 is_fixed_size_block_, is_shrink_to_fit_, | 137 is_fixed_size_block_, is_shrink_to_fit_, |
| 131 is_inline_direction_triggers_scrollbar_, | 138 is_inline_direction_triggers_scrollbar_, |
| 132 is_block_direction_triggers_scrollbar_, | 139 is_block_direction_triggers_scrollbar_, |
| 133 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, | 140 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, |
| 134 exclusions); | 141 is_new_fc_ ? NGMarginStrut() : margin_strut_, |
| 142 is_new_fc_ ? NGLogicalOffset() : bfc_offset_, exclusions); | |
|
ikilpatrick
2017/01/26 00:49:58
TODO ian think....
Gleb Lanbin
2017/01/31 00:25:01
sorry, probably I miss the context here. Can you e
| |
| 135 } | 143 } |
| 136 | 144 |
| 137 return new NGConstraintSpace( | 145 return new NGConstraintSpace( |
| 138 static_cast<NGWritingMode>(writing_mode_), | 146 static_cast<NGWritingMode>(writing_mode_), |
| 139 static_cast<TextDirection>(text_direction_), | 147 static_cast<TextDirection>(text_direction_), |
| 140 {available_size_.block_size, available_size_.inline_size}, | 148 {available_size_.block_size, available_size_.inline_size}, |
| 141 {percentage_resolution_size_.block_size, | 149 {percentage_resolution_size_.block_size, |
| 142 percentage_resolution_size_.inline_size}, | 150 percentage_resolution_size_.inline_size}, |
| 143 fragmentainer_space_available_, is_fixed_size_block_, | 151 fragmentainer_space_available_, is_fixed_size_block_, |
| 144 is_fixed_size_inline_, is_shrink_to_fit_, | 152 is_fixed_size_inline_, is_shrink_to_fit_, |
| 145 is_block_direction_triggers_scrollbar_, | 153 is_block_direction_triggers_scrollbar_, |
| 146 is_inline_direction_triggers_scrollbar_, | 154 is_inline_direction_triggers_scrollbar_, |
| 147 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, | 155 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, |
| 148 exclusions); | 156 margin_strut_, bfc_offset_, exclusions); |
| 149 } | 157 } |
| 150 | 158 |
| 151 } // namespace blink | 159 } // namespace blink |
| OLD | NEW |