Closed Bug 1697331 Opened 5 months ago Closed 5 months ago

Implement "force aqua appearance" with a pref instead of via Info.plist

Categories

(Core :: Widget: Cocoa, task, P1)

All
macOS
task

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: mstange, Assigned: mstange)

References

Details

(Whiteboard: [mac:darkmode])

Attachments

(2 files)

We want to stop forcing the aqua appearance, once we've fixed all the problems.

At the moment, it's a bit tricky to check for the problems that occur once we start respecting the system appearance. There may be a way to do it via a "defaults write" command on the command line, but the way I've been doing it is to make a local build with the changes to the Info.plist files.

It would be better if we could have a pref for this. For example widget.respect-system-appearance.

This patch also sets the Info.plist keys to <false/>, i.e. "we don't require aqua".

Depends on D51462

Assignee: nobody → mstange.moz
Attachment #9207940 - Attachment description: Bug 1697331 - Add a pref called widget.respect-system-appearance which defaults to false. false means "force aqua appearance". r=emilio!,#mac-reviewers → Bug 1697331 - Add a pref called widget.macos.respect-system-appearance which defaults to false. false means "force aqua appearance". r=emilio!,#mac-reviewers
Depends on: 1688113
No longer depends on: 1688113

We have four instances of NSRequiresAquaSystemAppearance <true/> in the tree; this fixes two out of four:

  • The parent process is now protected by the widget.macos.require-system-appearance pref.
  • The updater never shows any UI, and if it does, it's probably using native controls which correctly adapt to Dark Mode.
  • We cannot yet flip the switch for content processes (ipc/app/macbuild/Contents/Info.plist.in) as long as we still allow using the native theme in content processes, due to bug 1688113.
  • And the crash reporter is tracked in bug 1697991.

Depends on D107749

Pushed by mstange@themasta.com:
https://hg.mozilla.org/integration/autoland/rev/60794002f3ef
Add a pref called widget.macos.respect-system-appearance which defaults to false. false means "force aqua appearance". r=emilio
https://hg.mozilla.org/integration/autoland/rev/ebf64c2e7256
Set NSRequiresAquaSystemAppearance to false for the parent process and the updater. r=mac-reviewers,bradwerth
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
Blocks: 1698253
Regressions: 1699993
You need to log in before you can comment on or make changes to this bug.