Bug 1942715: Part 5 - Remove Maybe* optimizations for insets, always working with anchor-resolved insets. r=firefox-style-system-reviewers,emilio

Reasoning with these functions gets confusing, because anchor
functions can become percentage as well as auto.
Defer optimization for now.

Differential Revision: https://phabricator.services.mozilla.com/D237098
This commit is contained in:
David Shin
2025-02-12 01:31:30 +00:00
parent 4dc4e2d920
commit d138dbfb8c
6 changed files with 33 additions and 27 deletions

View File

@@ -736,15 +736,19 @@ void ReflowInput::InitResizeFlags(nsPresContext* aPresContext,
ComputedLogicalBorderPadding(wm).BStartEnd(wm));
}
const auto positionProperty = mStyleDisplay->mPosition;
bool dependsOnCBBSize =
(mStylePosition->BSizeDependsOnContainer(wm) &&
// FIXME: condition this on not-abspos?
!mStylePosition->BSize(wm).IsAuto()) ||
mStylePosition->MinBSizeDependsOnContainer(wm) ||
mStylePosition->MaxBSizeDependsOnContainer(wm) ||
mStylePosition->mOffset.Get(LogicalSide::BStart, wm)
.MaybePercentageAware() ||
!mStylePosition->mOffset.Get(LogicalSide::BEnd, wm).MaybeAuto();
mStylePosition
->GetAnchorResolvedInset(LogicalSide::BStart, wm, positionProperty)
->HasPercent() ||
!mStylePosition
->GetAnchorResolvedInset(LogicalSide::BEnd, wm, positionProperty)
->IsAuto();
// If mFrame is a flex item, and mFrame's block axis is the flex container's
// main axis (e.g. in a column-oriented flex container with same