diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc b/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc index 831821243aa..01c72e4fa4c 100644 --- a/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc +++ b/chromium/third_party/blink/renderer/core/layout/ng/mathml/ng_math_fraction_layout_algorithm.cc @@ -124,10 +124,7 @@ FractionStackParameters GetFractionStackParameters(const ComputedStyle& style) { NGMathFractionLayoutAlgorithm::NGMathFractionLayoutAlgorithm( const NGLayoutAlgorithmParams& params) - : NGLayoutAlgorithm(params), - border_scrollbar_padding_(params.fragment_geometry.border + - params.fragment_geometry.padding + - params.fragment_geometry.scrollbar) { + : NGLayoutAlgorithm(params) { DCHECK(params.space.IsNewFormattingContext()); container_builder_.SetIsNewFormattingContext( params.space.IsNewFormattingContext()); @@ -142,8 +139,7 @@ void NGMathFractionLayoutAlgorithm::GatherChildren(NGBlockNode* numerator, NGBlockNode block_child = To<NGBlockNode>(child); if (child.IsOutOfFlowPositioned()) { container_builder_.AddOutOfFlowChildCandidate( - block_child, {border_scrollbar_padding_.inline_start, - border_scrollbar_padding_.block_start}); + block_child, BorderScrollbarPadding().StartOffset()); continue; } if (!*numerator) { @@ -169,17 +165,14 @@ scoped_refptr<const NGLayoutResult> NGMathFractionLayoutAlgorithm::Layout() { NGBlockNode denominator = nullptr; GatherChildren(&numerator, &denominator); - const LogicalSize border_box_size = container_builder_.InitialBorderBoxSize(); - auto child_available_size = - ShrinkAvailableSize(border_box_size, border_scrollbar_padding_); auto numerator_space = CreateConstraintSpaceForMathChild( - Node(), child_available_size, ConstraintSpace(), numerator); + Node(), ChildAvailableSize(), ConstraintSpace(), numerator); scoped_refptr<const NGLayoutResult> numerator_layout_result = numerator.Layout(numerator_space); auto numerator_margins = ComputeMarginsFor(numerator_space, numerator.Style(), ConstraintSpace()); auto denominator_space = CreateConstraintSpaceForMathChild( - Node(), child_available_size, ConstraintSpace(), denominator); + Node(), ChildAvailableSize(), ConstraintSpace(), denominator); scoped_refptr<const NGLayoutResult> denominator_layout_result = denominator.Layout(denominator_space); auto denominator_margins = ComputeMarginsFor( @@ -238,8 +231,8 @@ scoped_refptr<const NGLayoutResult> NGMathFractionLayoutAlgorithm::Layout() { LayoutUnit fraction_descent = std::max(-numerator_shift + numerator_descent, denominator_shift + denominator_descent); - fraction_ascent += border_scrollbar_padding_.block_start; - fraction_descent += border_scrollbar_padding_.block_end; + fraction_ascent += BorderScrollbarPadding().block_start; + fraction_descent += BorderScrollbarPadding().block_end; LayoutUnit total_block_size = fraction_ascent + fraction_descent; container_builder_.SetBaseline(fraction_ascent); @@ -247,14 +240,13 @@ scoped_refptr<const NGLayoutResult> NGMathFractionLayoutAlgorithm::Layout() { LogicalOffset numerator_offset; LogicalOffset denominator_offset; numerator_offset.inline_offset = - border_scrollbar_padding_.inline_start + numerator_margins.inline_start + - (child_available_size.inline_size - + BorderScrollbarPadding().inline_start + numerator_margins.inline_start + + (ChildAvailableSize().inline_size - (numerator_fragment.InlineSize() + numerator_margins.InlineSum())) / 2; denominator_offset.inline_offset = - border_scrollbar_padding_.inline_start + - denominator_margins.inline_start + - (child_available_size.inline_size - + BorderScrollbarPadding().inline_start + denominator_margins.inline_start + + (ChildAvailableSize().inline_size - (denominator_fragment.InlineSize() + denominator_margins.InlineSum())) / 2; @@ -274,11 +266,11 @@ scoped_refptr<const NGLayoutResult> NGMathFractionLayoutAlgorithm::Layout() { denominator.StoreMargins(ConstraintSpace(), denominator_margins); LayoutUnit block_size = ComputeBlockSizeForFragment( - ConstraintSpace(), Style(), border_scrollbar_padding_, total_block_size, - border_box_size.inline_size); + ConstraintSpace(), Style(), BorderPadding(), total_block_size, + container_builder_.InitialBorderBoxSize().inline_size); container_builder_.SetIntrinsicBlockSize(total_block_size); - container_builder_.SetBlockSize(block_size); + container_builder_.SetFragmentsTotalBlockSize(block_size); NGOutOfFlowLayoutPart(Node(), ConstraintSpace(), container_builder_.Borders(), &container_builder_) @@ -290,7 +282,7 @@ scoped_refptr<const NGLayoutResult> NGMathFractionLayoutAlgorithm::Layout() { MinMaxSizesResult NGMathFractionLayoutAlgorithm::ComputeMinMaxSizes( const MinMaxSizesInput& child_input) const { if (auto result = CalculateMinMaxSizesIgnoringChildren( - Node(), border_scrollbar_padding_)) + Node(), BorderScrollbarPadding())) return *result; MinMaxSizes sizes; @@ -310,7 +302,7 @@ MinMaxSizesResult NGMathFractionLayoutAlgorithm::ComputeMinMaxSizes( child_result.depends_on_percentage_block_size; } - sizes += border_scrollbar_padding_.InlineSum(); + sizes += BorderScrollbarPadding().InlineSum(); return {sizes, depends_on_percentage_block_size}; } |