tor-browser

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

commit a062fcd17e5acf8ba9eb025b007f1ecd55b8d7f2
parent 91e78bdb109604b522c9e68819577df441da68c6
Author: agoloman <agoloman@mozilla.com>
Date:   Fri,  3 Oct 2025 00:54:39 +0300

Revert "Bug 1986711: apply code formatting via Lando" for causing failures @test_arrowpanel.xhtml.

This reverts commit 76fe3a3e4aad85707c3633a036893ebb69b0c305.

Revert "Bug 1986711 - More explicitly disable menupopup frame hypothetical position. r=layout-reviewers,dshin"

This reverts commit 06c81d279021fa93a04f3b347899bd378bb1c5a6.

Revert "Bug 1986711 - Closed menupopups shouldn't have an intrinsic size. r=layout-reviewers,dshin"

This reverts commit 49cad6474205d4aa20122884c666fdba9b752a9a.

Diffstat:
Mlayout/generic/AbsoluteContainingBlock.cpp | 35++++++++++-------------------------
Mlayout/xul/nsMenuPopupFrame.cpp | 3---
2 files changed, 10 insertions(+), 28 deletions(-)

diff --git a/layout/generic/AbsoluteContainingBlock.cpp b/layout/generic/AbsoluteContainingBlock.cpp @@ -950,32 +950,17 @@ void AbsoluteContainingBlock::ReflowAbsoluteFrame( nscoord availISize = logicalCBSize.ISize(wm); ReflowInput::InitFlags initFlags; - const bool staticPosIsCBOrigin = [&] { - if (aFlags.contains(AbsPosReflowFlag::IsGridContainerCB)) { - // When a grid container generates the abs.pos. CB for a *child* then - // the static position is determined via CSS Box Alignment within the - // abs.pos. CB (a grid area, i.e. a piece of the grid). In this - // scenario, due to the multiple coordinate spaces in play, we use a - // convenience flag to simply have the child's ReflowInput give it a - // static position at its abs.pos. CB origin, and then we'll align & - // offset it from there. - nsIFrame* placeholder = aKidFrame->GetPlaceholderFrame(); - if (placeholder && placeholder->GetParent() == aDelegatingFrame) { - return true; - } - } - if (aKidFrame->IsMenuPopupFrame()) { - // Popups never use their static pos. - return true; + if (aFlags.contains(AbsPosReflowFlag::IsGridContainerCB)) { + // When a grid container generates the abs.pos. CB for a *child* then + // the static position is determined via CSS Box Alignment within the + // abs.pos. CB (a grid area, i.e. a piece of the grid). In this scenario, + // due to the multiple coordinate spaces in play, we use a convenience + // flag to simply have the child's ReflowInput give it a static position + // at its abs.pos. CB origin, and then we'll align & offset it from there. + nsIFrame* placeholder = aKidFrame->GetPlaceholderFrame(); + if (placeholder && placeholder->GetParent() == aDelegatingFrame) { + initFlags += ReflowInput::InitFlag::StaticPosIsCBOrigin; } - // TODO(emilio): Either reparent the top layer placeholder frames to the - // viewport, or return true here for top layer frames more generally (not - // only menupopups), see https://github.com/w3c/csswg-drafts/issues/8040. - return false; - }(); - - if (staticPosIsCBOrigin) { - initFlags += ReflowInput::InitFlag::StaticPosIsCBOrigin; } const bool kidFrameMaySplit = diff --git a/layout/xul/nsMenuPopupFrame.cpp b/layout/xul/nsMenuPopupFrame.cpp @@ -500,9 +500,6 @@ void nsMenuPopupFrame::DidSetComputedStyle(ComputedStyle* aOldStyle) { nscoord nsMenuPopupFrame::IntrinsicISize(const IntrinsicSizeInput& aInput, IntrinsicISizeType aType) { - if (!IsOpen()) { - return 0; - } nscoord iSize = nsBlockFrame::IntrinsicISize(aInput, aType); if (!ShouldExpandToInflowParentOrAnchor()) { return iSize;