Closed Bug 1521012 Opened 5 years ago Closed 5 years ago

visible (non-transparent) gray square corners are now sticking out from curved titlebar corners, on Ubuntu 18.10

Categories

(Core :: Widget: Gtk, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox-esr60 --- unaffected
firefox64 --- unaffected
firefox65 --- wontfix
firefox66 + fixed

People

(Reporter: dholbert, Assigned: stransky)

References

(Blocks 1 open bug)

Details

(Keywords: regression)

Attachments

(3 files)

Attached image screenshot of bug

STR:

  1. Start Firefox, in Ubuntu 18.10
  2. Drag the window over a dark background, and look at the upper left and upper right corners of the titlebar.

EXPECTED RESULTS:
Corners should be rounded.

ACTUAL RESULTS:
Corners are rounded, but there's a gray area jutting out beyond the rounded edge, "filling in the square" so to speak.

See attached screenshot.

This is a regression from bug 1490344. [confirmed via mozregression]

(You may notice that the "x" icon is mispositioned, too -- I filed that separately as bug 1521010.)

I'm using Ubuntu 18.10 with the default theme (Yaru).

Flags: needinfo?(stransky)

It's caused by Bug 1516224 - we disabled transparent background on Basic compositor due to this, I'll look at it. We should disable the default hidden titlebar (bug 1490344) for the upcoming beta if it's not fixed in time.

Assignee: nobody → stransky
Blocks: gtktitlebar
Flags: needinfo?(stransky)

I think I have a fix for it so we can leave the system titlebar disabled.

To support rounded corners of Gtk+ titlebar themes (Adwaita, Radiance..) in GNOME we need to use X shape mask
as fully transparent toplevel window causes various issues (like Bug 1516224).

We draw mShell as transparent and mContainer as non-transparent with shape mask applied. The shape mask
is generated only when titlebar rendering is enabled and it's generated from GtkHeaderBar Widget
to match the exact look.

We use existing mTransparencyBitmap for the shape mask where mTransparencyBitmapForTitlebar controls
whether it's a general shape mask or our specialised shape for titlebar only.

This is already enabled for GNOME environment by default. So there's a new preference
widget.default-hidden-titlebar added to easily disable it if any issue appears
during testing.

Hi, landing failed with the following message:

On Wed, January 23, 2019, 1:00 PM GMT+2, by dvarga@mozilla.com.
Revisions: D17283 diff 54116
Details: We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again. (255, 'applying /tmp/tmpDBvk69\npatching file widget/gtk/nsWindow.cpp\nHunk #3 FAILED at 3234\n1 out of 10 hunks FAILED -- saving rejects to file widget/gtk/nsWindow.cpp.rej\nabort: patch failed to apply', '')

Flags: needinfo?(stransky)
Keywords: checkin-needed

Updated, Thanks.

Flags: needinfo?(stransky)
Keywords: checkin-needed

I'll update the formatting.

Keywords: checkin-needed

Pushed by dluca@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/64d38928ff5a
[Linux/GNOME] Use X shape mask to draw transparent corners when we draw to titlebar, r=lsalzman

Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
Depends on: 1522774

Noticed a perf improvement! \0/

== Change summary for alert #18853 (as of Wed, 23 Jan 2019 14:09:39 GMT) ==

Improvements:

3% sessionrestore linux64 pgo e10s stylo 315.38 -> 307.25

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=18853

Depends on: 1523556
Depends on: 1523560
Depends on: 1525233
Depends on: 1525850
Depends on: 1526217
Blocks: 1339150
Depends on: 1527315
Depends on: 1527837

This is happening again in Ubuntu 19.04 with Firefox 67.0.1

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: