Closed Bug 1528490 Opened 10 months ago Closed 9 months ago

Window corners are not transparent making the window appear not to have rounded corners

Categories

(Core :: Widget: Cocoa, defect)

Unspecified
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox-esr60 --- unaffected
firefox65 --- unaffected
firefox66 --- unaffected
firefox67 --- fixed

People

(Reporter: abenson, Assigned: mstange)

References

Details

(Keywords: regression)

Attachments

(4 files)

In the last two days of Nightly updates in macOS the corners appear to have an artifact that doesn't make the corners appear rounded as they should be. See attached screenshot.

Component: General → Graphics
Keywords: regression
Product: Firefox → Core

Seeing the same issue in 67.0a1 (2019-02-20) (64-bit) on macOS 10.14.3 (18D109).

Steps to reproduce:

  • Open Firefox Nightly
  • Select "dark" or "default" theme

Observations:

  • The issue is not present when switching to the "light" theme.
  • The issue is consistent between high/low DPI displays and primary/secondary displays.
  • There was a visually-similar issue reported for GTK a month ago: bug 1521012.

This is an effect from the gfx.compositor.glcontext.opaque pref. It looks better if you set it to false.

Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1491121
Attached image ff-nightly-config.png

gfx.compositor.glcontext.opaque is set to false in my local copy and I don't believe I've ever changed this setting. With it set to false, still have an issue with rounded corners filling white using the dark theme.

Attaching screenshot showing settings and the corner issue as "ff-nightly-config.png"

I see! Sorry about jumping the gun there.

Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Assignee: nobody → mstange
Blocks: 1491445
Status: REOPENED → ASSIGNED
Duplicate of this bug: 1531384
Component: Graphics → Widget: Cocoa

Markus, will this be fixed in time fr 67 soft freeze (Mar 11)?

Flags: needinfo?(mstange)

I'm hoping it will; but if not, we can just back out bug 1491445.

Flags: needinfo?(mstange)

Do you have "Reduce transparency" checked in the system preferences under Accessibility -> Display?

Flags: needinfo?(actionscripted)

@mstange: no, I do not have "Reduce transparency" enabled under System Preferences > Accessibility > Display. Adding screenshot to this ticket so you can see all options and their settings in Accessibility > Display.

Flags: needinfo?(actionscripted)
Duplicate of this bug: 1532781

Thanks! I can reproduce it now, even on 10.12, with the dark Firefox theme. It only happens with the "default" Firefox theme if you're on 10.14 and have set the system theme set to dark.

This is a regression from https://hg.mozilla.org/mozilla-central/rev/be263e3d8bdf , which removed the clearCorners method. We need to clear the top corners even when our ChildView is not opaque: The frame view's drawRect implementation, or more specifically -[NSThemeFrame drawWindowBackgroundRect:], draws opaque gray in those corners. Or at least this happens in our current configuration, with a non-CA-backed window, which does not have NSFullsizeContentViewWindowMask set but still has the content view covering the entire window due to our overrides of -[NSWindow contentRectForFrameRect:] and friends. The gray square corners which are painted by the frame view shine through under our OpenGL surface.

Pushed by mstange@themasta.com:
https://hg.mozilla.org/integration/autoland/rev/a5641ee4b227
Reinstate corner clearing code which I overeagerly removed in bug 1491445. r=spohl
Status: ASSIGNED → RESOLVED
Closed: 10 months ago9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
You need to log in before you can comment on or make changes to this bug.