tor-browser

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

commit 8f823be747db655aef53348b58ea9de4f36c8834
parent 858a69d18649e870fa3967022e895bf5b8c5ef5c
Author: David Shin <dshin@mozilla.com>
Date:   Tue, 16 Dec 2025 20:17:34 +0000

Bug 2006398: Remove check for at least one inset in axis being auto for anchor-center use. r=layout-anchor-positioning-reviewers,layout-reviewers,emilio

Spec [1] doesn't make anchor-center depend on inset values; in fact, it forces
any `auto` inset to 0.

[1]: https://drafts.csswg.org/css-anchor-position-1/#anchor-center

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

Diffstat:
Mlayout/generic/ReflowInput.cpp | 11++---------
Dtesting/web-platform/meta/css/css-anchor-position/auto-margins-position-area.html.ini | 2--
2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/layout/generic/ReflowInput.cpp b/layout/generic/ReflowInput.cpp @@ -82,19 +82,12 @@ void ComputeAnchorCenterUsage( } const auto* stylePos = aFrame->StylePosition(); - const auto parentWM = parent->GetWritingMode(); auto checkAxis = [&](LogicalAxis aAxis) { StyleAlignFlags alignment = stylePos->UsedSelfAlignment(aAxis, parent->Style()); - if ((alignment & ~StyleAlignFlags::FLAG_BITS) != - StyleAlignFlags::ANCHOR_CENTER) { - return false; - } - LogicalSide startSide = MakeLogicalSide(aAxis, LogicalEdge::Start); - LogicalSide endSide = MakeLogicalSide(aAxis, LogicalEdge::End); - return stylePos->mOffset.Get(parentWM.PhysicalSide(startSide)).IsAuto() || - stylePos->mOffset.Get(parentWM.PhysicalSide(endSide)).IsAuto(); + return (alignment & ~StyleAlignFlags::FLAG_BITS) == + StyleAlignFlags::ANCHOR_CENTER; }; aInlineUsesAnchorCenter = checkAxis(LogicalAxis::Inline); diff --git a/testing/web-platform/meta/css/css-anchor-position/auto-margins-position-area.html.ini b/testing/web-platform/meta/css/css-anchor-position/auto-margins-position-area.html.ini @@ -1,2 +0,0 @@ -[auto-margins-position-area.html] - expected: FAIL