commit 17a58903bf24b4529d37c55f4720ab354f752f09
parent 2eace0bcf051f82ee6c6a679ed743ee57534e736
Author: Reem H <42309026+reemhamz@users.noreply.github.com>
Date: Tue, 18 Nov 2025 02:22:41 +0000
Bug 1998831 - Add 'Support Firefox' section to Firefox Home Settings Redesign. r=fluent-reviewers,mstriemer,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D272385
Diffstat:
3 files changed, 94 insertions(+), 0 deletions(-)
diff --git a/browser/components/preferences/home.js b/browser/components/preferences/home.js
@@ -81,10 +81,26 @@ if (Services.prefs.getBoolPref("browser.settings-redesign.enabled")) {
type: "int",
},
{
+ id: "browser.newtabpage.activity-stream.feeds.system.topstories",
+ type: "bool",
+ },
+ {
id: "browser.newtabpage.activity-stream.feeds.section.topstories",
type: "bool",
},
{
+ id: "browser.newtabpage.activity-stream.showSponsoredCheckboxes",
+ type: "bool",
+ },
+ {
+ id: "browser.newtabpage.activity-stream.showSponsoredTopSites",
+ type: "bool",
+ },
+ {
+ id: "browser.newtabpage.activity-stream.showSponsored",
+ type: "bool",
+ },
+ {
id: "browser.newtabpage.activity-stream.feeds.section.highlights",
type: "bool",
},
@@ -176,6 +192,49 @@ if (Services.prefs.getBoolPref("browser.settings-redesign.enabled")) {
pref: "browser.newtabpage.activity-stream.feeds.section.topstories",
});
+ // Dependency prefs for sponsored stories visibility
+ Preferences.addSetting({
+ id: "systemTopstories",
+ pref: "browser.newtabpage.activity-stream.feeds.system.topstories",
+ });
+ Preferences.addSetting({
+ id: "sectionTopstories",
+ pref: "browser.newtabpage.activity-stream.feeds.section.topstories",
+ });
+
+ // Support Firefox: sponsored content
+ Preferences.addSetting({
+ id: "supportFirefox",
+ pref: "browser.newtabpage.activity-stream.showSponsoredCheckboxes",
+ deps: ["sponsoredShortcuts", "sponsoredStories"],
+ onUserChange(value, { sponsoredShortcuts, sponsoredStories }) {
+ // When supportFirefox changes, automatically update child preferences to match
+ sponsoredShortcuts.value = !!value;
+ sponsoredStories.value = !!value;
+ },
+ });
+ Preferences.addSetting({
+ id: "topsitesEnabled",
+ pref: "browser.newtabpage.activity-stream.feeds.topsites",
+ });
+ Preferences.addSetting({
+ id: "sponsoredShortcuts",
+ pref: "browser.newtabpage.activity-stream.showSponsoredTopSites",
+ deps: ["topsitesEnabled"],
+ disabled: ({ topsitesEnabled }) => !topsitesEnabled.value,
+ });
+ Preferences.addSetting({
+ id: "sponsoredStories",
+ pref: "browser.newtabpage.activity-stream.showSponsored",
+ deps: ["systemTopstories", "sectionTopstories"],
+ visible: ({ systemTopstories }) => !!systemTopstories.value,
+ disabled: ({ sectionTopstories }) => !sectionTopstories.value,
+ });
+ Preferences.addSetting({
+ id: "supportFirefoxPromo",
+ deps: ["supportFirefox"],
+ });
+
// Recent activity
Preferences.addSetting({
id: "recentActivity",
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
@@ -1279,6 +1279,38 @@ SettingGroupManager.registerGroups({
control: "moz-toggle",
},
{
+ id: "supportFirefox",
+ l10nId: "home-prefs-support-firefox-header",
+ control: "moz-toggle",
+ items: [
+ {
+ id: "sponsoredShortcuts",
+ l10nId: "home-prefs-shortcuts-by-option-sponsored",
+ },
+ {
+ id: "sponsoredStories",
+ l10nId: "home-prefs-recommended-by-option-sponsored-stories",
+ },
+ {
+ id: "supportFirefoxPromo",
+ l10nId: "home-prefs-mission-message2",
+ control: "moz-promo",
+ options: [
+ {
+ control: "a",
+ l10nId: "home-prefs-mission-message-learn-more-link",
+ controlAttrs: {
+ is: "moz-support-link",
+ slot: "support-link",
+ "support-page": "sponsor-privacy",
+ "utm-content": "inproduct",
+ },
+ },
+ ],
+ },
+ ],
+ },
+ {
id: "recentActivity",
l10nId: "home-prefs-recent-activity-header",
control: "moz-toggle",
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -810,6 +810,9 @@ home-prefs-support-firefox-header =
home-prefs-mission-message = Our sponsors support our mission to build a better web
home-prefs-mission-message-learn-more-link = Find out how
+home-prefs-mission-message2 =
+ .message = Our sponsors support our mission to build a better web.
+
home-prefs-manage-topics-link = Manage topics
home-prefs-choose-wallpaper-link = Choose a wallpaper