Index: third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
index e7bf8c5c54045bbc37a60ded243f0758b3b873ed..a755d5ac107dacdcbe1c428a14e894e3a1971784 100644 |
--- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
+++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm.cc |
@@ -17,6 +17,7 @@ |
#include "core/layout/ng/ng_length_utils.h" |
#include "core/layout/ng/ng_line_builder.h" |
#include "core/layout/ng/ng_out_of_flow_layout_part.h" |
+#include "core/layout/ng/ng_units.h" |
#include "core/style/ComputedStyle.h" |
#include "platform/LengthFunctions.h" |
#include "wtf/Optional.h" |
@@ -312,9 +313,9 @@ |
builder_(WTF::wrapUnique( |
new NGFragmentBuilder(NGPhysicalFragment::kFragmentBox, node))) {} |
-Optional<MinMaxContentSize> NGBlockLayoutAlgorithm::ComputeMinMaxContentSize() |
- const { |
- MinMaxContentSize sizes; |
+Optional<MinAndMaxContentSizes> |
+NGBlockLayoutAlgorithm::ComputeMinAndMaxContentSizes() const { |
+ MinAndMaxContentSizes sizes; |
// Size-contained elements don't consider their contents for intrinsic sizing. |
if (Style().containsSize()) |
@@ -323,7 +324,7 @@ |
// TODO: handle floats & orthogonal children. |
for (NGLayoutInputNode* node = node_->FirstChild(); node; |
node = node->NextSibling()) { |
- MinMaxContentSize child_sizes; |
+ MinAndMaxContentSizes child_sizes; |
if (node->Type() == NGLayoutInputNode::kLegacyInline) { |
// From |NGBlockLayoutAlgorithm| perspective, we can handle |NGInlineNode| |
// almost the same as |NGBlockNode|, because an |NGInlineNode| includes |
@@ -331,12 +332,13 @@ |
// an anonymous box that contains all line boxes. |
// |NextSibling| returns the next block sibling, or nullptr, skipping all |
// following inline siblings and descendants. |
- child_sizes = toNGInlineNode(node)->ComputeMinMaxContentSize(); |
+ child_sizes = toNGInlineNode(node)->ComputeMinAndMaxContentSizes(); |
} else { |
- Optional<MinMaxContentSize> child_minmax; |
+ Optional<MinAndMaxContentSizes> child_minmax; |
NGBlockNode* block_child = toNGBlockNode(node); |
- if (NeedMinMaxContentSizeForContentContribution(block_child->Style())) { |
- child_minmax = block_child->ComputeMinMaxContentSize(); |
+ if (NeedMinAndMaxContentSizesForContentContribution( |
+ block_child->Style())) { |
+ child_minmax = block_child->ComputeMinAndMaxContentSizes(); |
} |
child_sizes = ComputeMinAndMaxContentContribution(block_child->Style(), |
@@ -376,9 +378,9 @@ |
} |
RefPtr<NGLayoutResult> NGBlockLayoutAlgorithm::Layout() { |
- WTF::Optional<MinMaxContentSize> sizes; |
- if (NeedMinMaxContentSize(ConstraintSpace(), Style())) |
- sizes = ComputeMinMaxContentSize(); |
+ WTF::Optional<MinAndMaxContentSizes> sizes; |
+ if (NeedMinAndMaxContentSizes(ConstraintSpace(), Style())) |
+ sizes = ComputeMinAndMaxContentSizes(); |
border_and_padding_ = ComputeBorders(ConstraintSpace(), Style()) + |
ComputePadding(ConstraintSpace(), Style()); |
@@ -665,11 +667,11 @@ |
NGBoxStrut NGBlockLayoutAlgorithm::CalculateMargins( |
const NGConstraintSpace& space, |
const ComputedStyle& style) { |
- WTF::Optional<MinMaxContentSize> sizes; |
- if (NeedMinMaxContentSize(space, style)) { |
- // TODO(ikilpatrick): Change ComputeMinMaxContentSize to return |
- // MinMaxContentSize. |
- sizes = toNGBlockNode(current_child_)->ComputeMinMaxContentSize(); |
+ WTF::Optional<MinAndMaxContentSizes> sizes; |
+ if (NeedMinAndMaxContentSizes(space, style)) { |
+ // TODO(ikilpatrick): Change ComputeMinAndMaxContentSizes to return |
+ // MinAndMaxContentSizes. |
+ sizes = toNGBlockNode(current_child_)->ComputeMinAndMaxContentSizes(); |
} |
LayoutUnit child_inline_size = |
ComputeInlineSizeForFragment(space, style, sizes); |