commit 2a5d6919051e6046cc2278b8b4072a1cf6debbbd
parent 5917024326c57620dd4bc89493536431a5c338ba
Author: Emilio Cobos Álvarez <emilio@crisal.io>
Date: Wed, 15 Oct 2025 12:19:52 +0000
Bug 1994358 - Call SetTransparencyMode on popup creation. r=tnikkel,layout-reviewers
The regressing bug removed this call, effectively:
https://searchfox.org/firefox-main/rev/644f0db17749554fe23a45b43e77e61f42acdfd9/layout/xul/nsMenuPopupFrame.cpp#340
When I removed, I did so because it should be redundant (the
transparency mode is passed in through InitData). However it is not,
because only GTK looks at InitData::mTransparencyMode.
For now, preserve behavior exactly. Long term we should rejigger stuff
so that BaseCreate() or so calls SetTransparencyMode(), but that
requires testing all platforms since that gets called in a
partially-initialized state.
Differential Revision: https://phabricator.services.mozilla.com/D268691
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/layout/xul/nsMenuPopupFrame.cpp b/layout/xul/nsMenuPopupFrame.cpp
@@ -329,6 +329,9 @@ void nsMenuPopupFrame::CreateWidget() {
return;
}
mWidget->SetWidgetListener(this);
+ // TODO(emilio): Make all widgets look at widgetData.mTransparencyMode
+ // (maybe in BaseCreate?) then remove this call.
+ mWidget->SetTransparencyMode(mode);
PropagateStyleToWidget();
}