| Index: third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
|
| index 882d9c389649e74f1ea8a2c141aa35f40e14d37d..d193674292e53ce29fd572d77845e69af93981af 100644
|
| --- a/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_block_node.cc
|
| @@ -95,29 +95,23 @@ NGPhysicalFragment* NGBlockNode::Layout(NGConstraintSpace* constraint_space) {
|
| return fragment_;
|
| }
|
|
|
| -MinAndMaxContentSizes NGBlockNode::ComputeMinAndMaxContentSizesSync() {
|
| +MinAndMaxContentSizes NGBlockNode::ComputeMinAndMaxContentSizes() {
|
| MinAndMaxContentSizes sizes;
|
| - while (!ComputeMinAndMaxContentSizes(&sizes))
|
| - continue;
|
| - return sizes;
|
| -}
|
| -
|
| -bool NGBlockNode::ComputeMinAndMaxContentSizes(MinAndMaxContentSizes* sizes) {
|
| if (!CanUseNewLayout()) {
|
| DCHECK(layout_box_);
|
| // TODO(layout-ng): This could be somewhat optimized by directly calling
|
| // computeIntrinsicLogicalWidths, but that function is currently private.
|
| // Consider doing that if this becomes a performance issue.
|
| LayoutUnit borderAndPadding = layout_box_->borderAndPaddingLogicalWidth();
|
| - sizes->min_content = layout_box_->computeLogicalWidthUsing(
|
| - MainOrPreferredSize, Length(MinContent),
|
| - LayoutUnit(), layout_box_->containingBlock()) -
|
| - borderAndPadding;
|
| - sizes->max_content = layout_box_->computeLogicalWidthUsing(
|
| - MainOrPreferredSize, Length(MaxContent),
|
| - LayoutUnit(), layout_box_->containingBlock()) -
|
| - borderAndPadding;
|
| - return true;
|
| + sizes.min_content = layout_box_->computeLogicalWidthUsing(
|
| + MainOrPreferredSize, Length(MinContent),
|
| + LayoutUnit(), layout_box_->containingBlock()) -
|
| + borderAndPadding;
|
| + sizes.max_content = layout_box_->computeLogicalWidthUsing(
|
| + MainOrPreferredSize, Length(MaxContent),
|
| + LayoutUnit(), layout_box_->containingBlock()) -
|
| + borderAndPadding;
|
| + return sizes;
|
| }
|
|
|
| NGConstraintSpace* constraint_space =
|
| @@ -129,8 +123,8 @@ bool NGBlockNode::ComputeMinAndMaxContentSizes(MinAndMaxContentSizes* sizes) {
|
| // TODO(cbiesinger): For orthogonal children, we need to always synthesize.
|
| NGBlockLayoutAlgorithm minmax_algorithm(
|
| layout_box_, Style(), toNGBlockNode(FirstChild()), constraint_space);
|
| - if (minmax_algorithm.ComputeMinAndMaxContentSizes(sizes))
|
| - return true;
|
| + if (minmax_algorithm.ComputeMinAndMaxContentSizes(&sizes))
|
| + return sizes;
|
|
|
| // Have to synthesize this value.
|
| NGPhysicalFragment* physical_fragment = Layout(constraint_space);
|
| @@ -138,7 +132,7 @@ bool NGBlockNode::ComputeMinAndMaxContentSizes(MinAndMaxContentSizes* sizes) {
|
| FromPlatformWritingMode(Style()->getWritingMode()), Style()->direction(),
|
| toNGPhysicalBoxFragment(physical_fragment));
|
|
|
| - sizes->min_content = fragment->InlineOverflow();
|
| + sizes.min_content = fragment->InlineOverflow();
|
|
|
| // Now, redo with infinite space for max_content
|
| constraint_space =
|
| @@ -153,8 +147,8 @@ bool NGBlockNode::ComputeMinAndMaxContentSizes(MinAndMaxContentSizes* sizes) {
|
| fragment = new NGBoxFragment(
|
| FromPlatformWritingMode(Style()->getWritingMode()), Style()->direction(),
|
| toNGPhysicalBoxFragment(physical_fragment));
|
| - sizes->max_content = fragment->InlineOverflow();
|
| - return true;
|
| + sizes.max_content = fragment->InlineOverflow();
|
| + return sizes;
|
| }
|
|
|
| ComputedStyle* NGBlockNode::MutableStyle() {
|
|
|