| 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" |
| 8 |
| 7 namespace blink { | 9 namespace blink { |
| 8 | 10 |
| 9 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder( | 11 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder( |
| 10 const NGConstraintSpace* parent_space) | 12 const NGConstraintSpace* parent_space) |
| 11 : available_size_(parent_space->AvailableSize()), | 13 : available_size_(parent_space->AvailableSize()), |
| 12 percentage_resolution_size_(parent_space->PercentageResolutionSize()), | 14 percentage_resolution_size_(parent_space->PercentageResolutionSize()), |
| 15 fragmentainer_space_available_(NGSizeIndefinite), |
| 13 writing_mode_(parent_space->WritingMode()), | 16 writing_mode_(parent_space->WritingMode()), |
| 14 parent_writing_mode_(writing_mode_), | 17 parent_writing_mode_(writing_mode_), |
| 15 is_fixed_size_inline_(false), | 18 is_fixed_size_inline_(false), |
| 16 is_fixed_size_block_(false), | 19 is_fixed_size_block_(false), |
| 17 is_shrink_to_fit_(false), | 20 is_shrink_to_fit_(false), |
| 18 is_inline_direction_triggers_scrollbar_(false), | 21 is_inline_direction_triggers_scrollbar_(false), |
| 19 is_block_direction_triggers_scrollbar_(false), | 22 is_block_direction_triggers_scrollbar_(false), |
| 20 fragmentation_type_(kFragmentNone), | 23 fragmentation_type_(parent_space->BlockFragmentationType()), |
| 21 is_new_fc_(parent_space->IsNewFormattingContext()), | 24 is_new_fc_(parent_space->IsNewFormattingContext()), |
| 22 text_direction_(static_cast<unsigned>(parent_space->Direction())), | 25 text_direction_(static_cast<unsigned>(parent_space->Direction())), |
| 23 exclusions_(parent_space->Exclusions()) {} | 26 exclusions_(parent_space->Exclusions()) {} |
| 24 | 27 |
| 25 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode) | 28 NGConstraintSpaceBuilder::NGConstraintSpaceBuilder(NGWritingMode writing_mode) |
| 26 : writing_mode_(writing_mode), | 29 : fragmentainer_space_available_(NGSizeIndefinite), |
| 30 writing_mode_(writing_mode), |
| 27 parent_writing_mode_(writing_mode_), | 31 parent_writing_mode_(writing_mode_), |
| 28 is_fixed_size_inline_(false), | 32 is_fixed_size_inline_(false), |
| 29 is_fixed_size_block_(false), | 33 is_fixed_size_block_(false), |
| 30 is_shrink_to_fit_(false), | 34 is_shrink_to_fit_(false), |
| 31 is_inline_direction_triggers_scrollbar_(false), | 35 is_inline_direction_triggers_scrollbar_(false), |
| 32 is_block_direction_triggers_scrollbar_(false), | 36 is_block_direction_triggers_scrollbar_(false), |
| 33 fragmentation_type_(kFragmentNone), | 37 fragmentation_type_(kFragmentNone), |
| 34 is_new_fc_(false), | 38 is_new_fc_(false), |
| 35 text_direction_(static_cast<unsigned>(TextDirection::kLtr)), | 39 text_direction_(static_cast<unsigned>(TextDirection::kLtr)), |
| 36 exclusions_(new NGExclusions()) {} | 40 exclusions_(new NGExclusions()) {} |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) == | 119 bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) == |
| 116 (writing_mode_ == kHorizontalTopBottom); | 120 (writing_mode_ == kHorizontalTopBottom); |
| 117 | 121 |
| 118 if (is_in_parallel_flow) { | 122 if (is_in_parallel_flow) { |
| 119 return new NGConstraintSpace( | 123 return new NGConstraintSpace( |
| 120 static_cast<NGWritingMode>(writing_mode_), | 124 static_cast<NGWritingMode>(writing_mode_), |
| 121 static_cast<TextDirection>(text_direction_), | 125 static_cast<TextDirection>(text_direction_), |
| 122 {available_size_.inline_size, available_size_.block_size}, | 126 {available_size_.inline_size, available_size_.block_size}, |
| 123 {percentage_resolution_size_.inline_size, | 127 {percentage_resolution_size_.inline_size, |
| 124 percentage_resolution_size_.block_size}, | 128 percentage_resolution_size_.block_size}, |
| 125 is_fixed_size_inline_, is_fixed_size_block_, is_shrink_to_fit_, | 129 fragmentainer_space_available_, is_fixed_size_inline_, |
| 130 is_fixed_size_block_, is_shrink_to_fit_, |
| 126 is_inline_direction_triggers_scrollbar_, | 131 is_inline_direction_triggers_scrollbar_, |
| 127 is_block_direction_triggers_scrollbar_, | 132 is_block_direction_triggers_scrollbar_, |
| 128 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, | 133 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, |
| 129 exclusions); | 134 exclusions); |
| 130 } | 135 } |
| 131 | 136 |
| 132 return new NGConstraintSpace( | 137 return new NGConstraintSpace( |
| 133 static_cast<NGWritingMode>(writing_mode_), | 138 static_cast<NGWritingMode>(writing_mode_), |
| 134 static_cast<TextDirection>(text_direction_), | 139 static_cast<TextDirection>(text_direction_), |
| 135 {available_size_.block_size, available_size_.inline_size}, | 140 {available_size_.block_size, available_size_.inline_size}, |
| 136 {percentage_resolution_size_.block_size, | 141 {percentage_resolution_size_.block_size, |
| 137 percentage_resolution_size_.inline_size}, | 142 percentage_resolution_size_.inline_size}, |
| 138 is_fixed_size_block_, is_fixed_size_inline_, is_shrink_to_fit_, | 143 fragmentainer_space_available_, is_fixed_size_block_, |
| 144 is_fixed_size_inline_, is_shrink_to_fit_, |
| 139 is_block_direction_triggers_scrollbar_, | 145 is_block_direction_triggers_scrollbar_, |
| 140 is_inline_direction_triggers_scrollbar_, | 146 is_inline_direction_triggers_scrollbar_, |
| 141 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, | 147 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, |
| 142 exclusions); | 148 exclusions); |
| 143 } | 149 } |
| 144 | 150 |
| 145 } // namespace blink | 151 } // namespace blink |
| OLD | NEW |