tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit e79fdbf7b43db5428e457a4e675a6b0421054dd2
parent f50fd6ca170f6f8a8c35616df8d306feffd60c5c
Author: Ting-Yu Lin <tlin@mozilla.com>
Date:   Tue, 28 Oct 2025 20:17:08 +0000

Bug 1996677 Part 3 - Remove logicalCBSizeOuterWM in ReflowAbsoluteFrame(). r=layout-reviewers,emilio

With the `cbSize` variable introduced in the previous part, we can remove
`logicalCBSizeOuterWM`.

Differential Revision: https://phabricator.services.mozilla.com/D270250

Diffstat:
Mlayout/generic/AbsoluteContainingBlock.cpp | 15+++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/layout/generic/AbsoluteContainingBlock.cpp b/layout/generic/AbsoluteContainingBlock.cpp @@ -1111,12 +1111,11 @@ void AbsoluteContainingBlock::ReflowAbsoluteFrame( // to align the child by its margin box: // https://drafts.csswg.org/css-position-3/#abspos-layout const auto* stylePos = aKidFrame->StylePosition(); - const LogicalSize logicalCBSizeOuterWM(outerWM, usedCb.Size()); const auto anchorResolutionParams = AnchorPosOffsetResolutionParams::ExplicitCBFrameSize( AnchorPosResolutionParams::From(aKidFrame, aAnchorPosReferenceData), - &logicalCBSizeOuterWM); + &cbSize); const bool iInsetAuto = stylePos ->GetAnchorResolvedInset(LogicalSide::IStart, outerWM, @@ -1147,8 +1146,8 @@ void AbsoluteContainingBlock::ReflowAbsoluteFrame( "Non-auto inline inset but requires CSS alignment for static " "position?"); auto alignOffset = OffsetToAlignedStaticPos( - kidReflowInput, kidMarginBox, logicalCBSizeOuterWM, - placeholderContainer, outerWM, LogicalAxis::Inline, + kidReflowInput, kidMarginBox, cbSize, placeholderContainer, outerWM, + LogicalAxis::Inline, Some(NonAutoAlignParams{ offsets.IStart(outerWM), offsets.IEnd(outerWM), @@ -1157,7 +1156,7 @@ void AbsoluteContainingBlock::ReflowAbsoluteFrame( offsets.IStart(outerWM) += alignOffset; offsets.IEnd(outerWM) = - logicalCBSizeOuterWM.ISize(outerWM) - + cbSize.ISize(outerWM) - (offsets.IStart(outerWM) + kidMarginBox.ISize(outerWM)); } if (!bInsetAuto) { @@ -1165,8 +1164,8 @@ void AbsoluteContainingBlock::ReflowAbsoluteFrame( "Non-auto block inset but requires CSS alignment for static " "position?"); auto alignOffset = OffsetToAlignedStaticPos( - kidReflowInput, kidMarginBox, logicalCBSizeOuterWM, - placeholderContainer, outerWM, LogicalAxis::Block, + kidReflowInput, kidMarginBox, cbSize, placeholderContainer, outerWM, + LogicalAxis::Block, Some(NonAutoAlignParams{ offsets.BStart(outerWM), offsets.BEnd(outerWM), @@ -1174,7 +1173,7 @@ void AbsoluteContainingBlock::ReflowAbsoluteFrame( resolvedPositionArea); offsets.BStart(outerWM) += alignOffset; offsets.BEnd(outerWM) = - logicalCBSizeOuterWM.BSize(outerWM) - + cbSize.BSize(outerWM) - (offsets.BStart(outerWM) + kidMarginBox.BSize(outerWM)); }