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 |