commit d5269d2238bc79ee50c991e1ab120a0c95c08a50
parent ae9c84efa945f0fbbae86b5a91a36772cbe3e646
Author: Nina Pypchenko <npypchenko@mozilla.com>
Date: Fri, 14 Nov 2025 02:12:55 +0000
Bug 1999208 - Place Lists and Timer settings under a group "Widgets" setting r=home-newtab-reviewers,fluent-reviewers,bolsson,reemhamz
Differential Revision: https://phabricator.services.mozilla.com/D272382
Diffstat:
4 files changed, 44 insertions(+), 7 deletions(-)
diff --git a/browser/components/preferences/home.js b/browser/components/preferences/home.js
@@ -49,6 +49,14 @@ if (Services.prefs.getBoolPref("browser.settings-redesign.enabled")) {
},
{ id: "browser.newtabpage.activity-stream.showWeather", type: "bool" },
{
+ id: "browser.newtabpage.activity-stream.widgets.system.enabled",
+ type: "bool",
+ },
+ {
+ id: "browser.newtabpage.activity-stream.widgets.enabled",
+ type: "bool",
+ },
+ {
id: "browser.newtabpage.activity-stream.widgets.system.lists.enabled",
type: "bool",
},
@@ -112,6 +120,18 @@ if (Services.prefs.getBoolPref("browser.settings-redesign.enabled")) {
visible: ({ showWeather }) => showWeather.value,
});
+ // Widgets: general
+ Preferences.addSetting({
+ id: "widgetsEnabled",
+ pref: "browser.newtabpage.activity-stream.widgets.system.enabled",
+ });
+ Preferences.addSetting({
+ id: "widgets",
+ pref: "browser.newtabpage.activity-stream.widgets.enabled",
+ deps: ["widgetsEnabled"],
+ visible: ({ widgetsEnabled }) => widgetsEnabled.value,
+ });
+
// Widgets: lists
Preferences.addSetting({
id: "listsEnabled",
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
@@ -1195,14 +1195,21 @@ let SETTINGS_CONFIG = {
control: "moz-toggle",
},
{
- id: "lists",
- l10nId: "home-prefs-lists-header",
- control: "moz-toggle",
- },
- {
- id: "timer",
- l10nId: "home-prefs-timer-header",
+ id: "widgets",
+ l10nId: "home-prefs-widgets-header",
control: "moz-toggle",
+ items: [
+ {
+ id: "lists",
+ l10nId: "home-prefs-lists-header",
+ control: "moz-checkbox",
+ },
+ {
+ id: "timer",
+ l10nId: "home-prefs-timer-header",
+ control: "moz-checkbox",
+ },
+ ],
},
{
id: "shortcuts",
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
@@ -982,6 +982,13 @@ export const PREFS_CONFIG = new Map([
},
],
[
+ "widgets.enabled",
+ {
+ title: "Allows users to toggle all widgets on and off at once",
+ value: false,
+ },
+ ],
+ [
"widgets.lists.enabled",
{
title: "Enables the to-do lists widget",
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -788,6 +788,9 @@ home-prefs-weather-header =
home-prefs-weather-description = Today’s forecast at a glance
home-prefs-weather-learn-more-link = Learn more
+home-prefs-widgets-header =
+ .label = Widgets
+
# Lists is a widget on New Tab, similar to a to-do widget
home-prefs-lists-header =
.label = Lists