| 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 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 return *this; | 110 return *this; |
| 111 } | 111 } |
| 112 | 112 |
| 113 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetWritingMode( | 113 NGConstraintSpaceBuilder& NGConstraintSpaceBuilder::SetWritingMode( |
| 114 NGWritingMode writing_mode) { | 114 NGWritingMode writing_mode) { |
| 115 writing_mode_ = writing_mode; | 115 writing_mode_ = writing_mode; |
| 116 return *this; | 116 return *this; |
| 117 } | 117 } |
| 118 | 118 |
| 119 NGConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() { | 119 NGConstraintSpace* NGConstraintSpaceBuilder::ToConstraintSpace() { |
| 120 // Exclusions do not pass the formatting context boundary. |
| 121 std::shared_ptr<NGExclusions> exclusions( |
| 122 is_new_fc_ ? std::make_shared<NGExclusions>() : exclusions_); |
| 123 |
| 120 // Whether the child and the containing block are parallel to each other. | 124 // Whether the child and the containing block are parallel to each other. |
| 121 // Example: vertical-rl and vertical-lr | 125 // Example: vertical-rl and vertical-lr |
| 122 bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) == | 126 bool is_in_parallel_flow = (parent_writing_mode_ == kHorizontalTopBottom) == |
| 123 (writing_mode_ == kHorizontalTopBottom); | 127 (writing_mode_ == kHorizontalTopBottom); |
| 124 | 128 |
| 129 NGLogicalOffset bfc_offset = is_new_fc_ ? NGLogicalOffset() : bfc_offset_; |
| 130 NGMarginStrut margin_strut = is_new_fc_ ? NGMarginStrut() : margin_strut_; |
| 131 |
| 125 if (is_in_parallel_flow) { | 132 if (is_in_parallel_flow) { |
| 126 return new NGConstraintSpace( | 133 return new NGConstraintSpace( |
| 127 static_cast<NGWritingMode>(writing_mode_), | 134 static_cast<NGWritingMode>(writing_mode_), |
| 128 static_cast<TextDirection>(text_direction_), | 135 static_cast<TextDirection>(text_direction_), |
| 129 {available_size_.inline_size, available_size_.block_size}, | 136 {available_size_.inline_size, available_size_.block_size}, |
| 130 {percentage_resolution_size_.inline_size, | 137 {percentage_resolution_size_.inline_size, |
| 131 percentage_resolution_size_.block_size}, | 138 percentage_resolution_size_.block_size}, |
| 132 fragmentainer_space_available_, is_fixed_size_inline_, | 139 fragmentainer_space_available_, is_fixed_size_inline_, |
| 133 is_fixed_size_block_, is_shrink_to_fit_, | 140 is_fixed_size_block_, is_shrink_to_fit_, |
| 134 is_inline_direction_triggers_scrollbar_, | 141 is_inline_direction_triggers_scrollbar_, |
| 135 is_block_direction_triggers_scrollbar_, | 142 is_block_direction_triggers_scrollbar_, |
| 136 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, | 143 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, |
| 137 margin_strut_, bfc_offset_, exclusions_); | 144 margin_strut, bfc_offset, exclusions); |
| 138 } | 145 } |
| 139 | 146 |
| 140 return new NGConstraintSpace( | 147 return new NGConstraintSpace( |
| 141 static_cast<NGWritingMode>(writing_mode_), | 148 static_cast<NGWritingMode>(writing_mode_), |
| 142 static_cast<TextDirection>(text_direction_), | 149 static_cast<TextDirection>(text_direction_), |
| 143 {available_size_.block_size, available_size_.inline_size}, | 150 {available_size_.block_size, available_size_.inline_size}, |
| 144 {percentage_resolution_size_.block_size, | 151 {percentage_resolution_size_.block_size, |
| 145 percentage_resolution_size_.inline_size}, | 152 percentage_resolution_size_.inline_size}, |
| 146 fragmentainer_space_available_, is_fixed_size_block_, | 153 fragmentainer_space_available_, is_fixed_size_block_, |
| 147 is_fixed_size_inline_, is_shrink_to_fit_, | 154 is_fixed_size_inline_, is_shrink_to_fit_, |
| 148 is_block_direction_triggers_scrollbar_, | 155 is_block_direction_triggers_scrollbar_, |
| 149 is_inline_direction_triggers_scrollbar_, | 156 is_inline_direction_triggers_scrollbar_, |
| 150 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, | 157 static_cast<NGFragmentationType>(fragmentation_type_), is_new_fc_, |
| 151 margin_strut_, bfc_offset_, exclusions_); | 158 margin_strut, bfc_offset, exclusions); |
| 152 } | 159 } |
| 153 | 160 |
| 154 } // namespace blink | 161 } // namespace blink |
| OLD | NEW |