Closed Bug 2049877 Opened 1 month ago Closed 1 month ago

Build UI to control the browser icon in Settings

Categories

(Toolkit :: Preferences, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox154 --- fixed

People

(Reporter: mconley, Assigned: mconley)

References

()

Details

Attachments

(4 files, 1 obsolete file)

This should be disabled by default, and should only appear when enabled for Windows non-MSIX builds.

Working off of this Figma: https://www.figma.com/design/MPYRmdy1F5sLL0cyhkmAAs/NPO-Experiments-2026?node-id=2003-28001&m=dev

Adds the pixelated, minimal and momo icon variants, embeds them as PE
resources, and registers them (with their about:settings metadata) in the
CustomIconManager catalog.

Adds the Browser icon entry under Appearance and its picker sub-pane (Basic and
Bonus sets), gated behind browser.shell.customIcon.enabled, which is disabled
by default while the feature is in development.

Attachment #9601080 - Attachment is obsolete: true
Attachment #9601085 - Attachment description: WIP: Bug 2049877 - Add custom browser icon variants and embed them as executable resources. r?nrishel → Bug 2049877 - Add custom browser icon variants and embed them as executable resources. r?nrishel
Attachment #9601086 - Attachment description: WIP: Bug 2049877 - Add about:settings UI for choosing a custom browser icon. r?hjones → Bug 2049877 - Add about:settings UI for choosing a custom browser icon. r?hjones
Attachment #9601085 - Attachment description: Bug 2049877 - Add custom browser icon variants and embed them as executable resources. r?nrishel → WIP: Bug 2049877 - Add custom browser icon variants and embed them as executable resources. r?nrishel

Moves the DefaultBrowserHelper object out of main.js into a new
DefaultBrowserHelper.mjs, imported with global: current so window/location/
document still resolve to the preferences window. The object is moved verbatim;
the only adaptations are those required to live in a module: it is exported,
getShellService() is qualified as window.getShellService(), and the GIO service
uses a module-local lazy getter. No behavior change.

Attachment #9601085 - Attachment description: WIP: Bug 2049877 - Add custom browser icon variants and embed them as executable resources. r?nrishel → Bug 2049877 - Add custom browser icon variants and embed them as executable resources. r?nrishel
Attachment #9602720 - Attachment description: WIP: Bug 2049877 - Extract DefaultBrowserHelper into its own module. r?hjones → Bug 2049877 - Extract DefaultBrowserHelper into its own module. r?hjones

Generalizes the default-browser poll from a single callback to a set of
subscribers. pollForDefaultChanges() now adds a listener and returns an
unsubscribe function, starting the timer on the first subscriber and stopping
it once the last unsubscribes. Also recognizes the browserIcon sub-pane in the
poll gate so it stays live there.

Keywords: leave-open
Keywords: leave-open
Regressions: 2053138
Pushed by mconley@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/e4cbc1c992a2 https://hg.mozilla.org/integration/autoland/rev/cfc904a929c6 Add about:settings UI for choosing a custom browser icon. r=hjones,fluent-reviewers,desktop-theme-reviewers,flod
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch
QA Whiteboard: [qa-triage-done-c155/b154][qa-ver-needed-c155/b154]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: