fix: add preference gate for macOS dock progress to preserve Tahoe icon style#12875
Closed
baton-noir wants to merge 1 commit intozen-browser:devfrom
Closed
fix: add preference gate for macOS dock progress to preserve Tahoe icon style#12875baton-noir wants to merge 1 commit intozen-browser:devfrom
baton-noir wants to merge 1 commit intozen-browser:devfrom
Conversation
Adds browser.taskbar.dockProgress.enabled (default: true) to allow disabling the macOS dock download progress indicator. When disabled, the dock icon is not replaced with a custom NSView during downloads, preserving the macOS Tahoe Clear/Dark/Tinted icon styling. Root cause: Firefox's nsMacDockSupport sets NSDockTile.contentView to a static bitmap + progress bar overlay, replacing the OS-managed icon that macOS applies Clear styling to. After download completes, macOS does not re-apply the styling. Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1997246 Closes zen-browser#12676
0cd0b30 to
3502e2d
Compare
Author
|
Superseded by #12877 (this PR was inadvertently closed during a commit email fix and couldn't be reopened). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a
browser.taskbar.dockProgress.enabledpreference (default:true) that gates the macOS dock download progress indicator inDownloadsTaskbar.sys.mjs. When set tofalse, the dock icon is not replaced with a customNSViewduring downloads, preserving the macOS Tahoe Clear/Dark/Tinted icon styling.Root cause: Firefox's
nsMacDockSupportsetsNSDockTile.contentViewto a static bitmap + progress bar overlay, replacing the OS-managed icon that macOS applies icon styling to. After the download completes, macOS does not re-apply the styling. There is no existing preference to control this behaviour.Upstream: Firefox Bug 1997246
Closes #12676
Implementation
Single patch file:
src/browser/components/downloads/DownloadsTaskbar-sys-mjs.patchThe patch inserts a
Services.prefs.getBoolPref()check before thethis.#taskbarProgresses.add(gInterfaces.macTaskbarProgress)call in the macOS branch ofregisterIndicator(). Default istrue(no behaviour change). Users who want to preserve their Tahoe icon style setbrowser.taskbar.dockProgress.enabledtofalseinabout:config.Testing
I have verified this fix works by binary-patching the equivalent code in
omni.jaon Zen 1.19.3b / macOS Tahoe. With the preference disabled:I have not set up the full Zen build environment to run
surfer import, so I'd appreciate a maintainer verifying the patch applies cleanly.Notes
truemeans no behaviour change for existing usersbrowser.taskbar.*convention