Closed Bug 1965143 Opened 10 months ago Closed 10 months ago

[x11] `Update available` popup cut off

Categories

(Core :: Widget: Gtk, defect)

Desktop
Linux
defect

Tracking

()

VERIFIED FIXED
140 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox138 --- wontfix
firefox139 --- wontfix
firefox140 --- verified

People

(Reporter: alice0775, Assigned: emilio)

References

(Regression)

Details

(Keywords: nightly-community, regression, reproducible)

Attachments

(5 files)

Attached image screenshot

Steps to reproduce:

  1. Launch Nightly that is not up-to-date

Actual results:
Update available popup cut off.
See screenshot

Attached file about:support

Set release status flags based on info from the regressing bug 1945221

:emilio, since you are the author of the regressor, bug 1945221, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

I don't think it can be that. Bug 1945221 only touched windows code. Is there any chance to narrow it down further?

Flags: needinfo?(emilio) → needinfo?(alice0775)
No longer regressed by: 1945221
Flags: needinfo?(alice0775)
Regressed by: 581863

Thanks Alice! that makes more sense :)

Ok, for my own reference, I can repro on Nightly with:

setTimeout(() => AppMenuNotifications.showNotification("update-available"), 1000); focus()

On the browser console or so. But somehow not on a debug build :/

This compositor delegate wasn't getting its client area updated because of this
early return. Popups usually get that via:

https://searchfox.org/mozilla-central/rev/4c065f1df299065c305fb48b36cdae571a43d97c/widget/gtk/nsWindow.cpp#1068,1074

But this window doesn't, because:

if (GdkIsX11Display() && mNoAutoHide) {
type = GTK_WINDOW_TOPLEVEL;
}

Remove this special-case for popups. Instead, fall through the regular
code-path. I don't see any obvious issues but we can revert this if
needed (the following patch also fixes the issue).

Assignee: nobody → emilio
Status: NEW → ASSIGNED

As noted in the comment for Wayland, most noautohide popups already work
this way, as the noautohide attribute is dynamic. I did a quick smoke test of
these popups and they still remain not autohiding as expected, and follow their
anchor and so on.

Attachment #9486288 - Attachment description: Bug 1965143 - Remove popup special case in nsWindow::RecomputeBounds. r=stransky! → Bug 1965143 - Remove popup special early out in nsWindow::RecomputeBounds. r=stransky!

This is more predictable (we were only doing it in Resize() /
ResizeInt(), not in Move()).

Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5c601ff44c35 Remove popup special early out in nsWindow::RecomputeBounds. r=stransky
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1ab9095166c1 Remove X11 special-case for noautohide popups that end up using toplevel windows. r=stransky
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/641736ec7f25 Consistently do sync move-resizes from Move() / Resize() / ResizeInt(). r=stransky
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 140 Branch

The patch landed in nightly and beta is affected.
:emilio, is this bug important enough to require an uplift?

For more information, please visit BugBot documentation.

Flags: needinfo?(emilio)

I think we should let this ride the trains, it's a non-trivial change.

Flags: needinfo?(emilio)
Regressions: 1966630
QA Whiteboard: [qa-triage-done-c141/b140] [qa-ver-opt-c141/b140]
QA Contact: bmaris

Reproduced the menu cut using an old Nightly build from 2025-05-09 on Ubuntu 22.04 (x11), verified that using a recent Nightly 141.0a1 build after the fix and a 141.0b3 Beta build the panel is not cut anymore.

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triage-done-c141/b140] [qa-ver-opt-c141/b140] → [qa-triage-done-c141/b140] [qa-ver-done-c141/b140]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: