[NTP] Create standard pref migration for "hide_all_widgets" pref (#34940)

This commit is contained in:
Kevin Smith
2026-03-26 13:50:07 -04:00
committed by GitHub
parent f1e524783a
commit 4a1adbaa46
5 changed files with 24 additions and 24 deletions
+3 -1
View File
@@ -382,6 +382,9 @@ void RegisterProfilePrefsForMigration(
// Added 2026-03
registry->RegisterDictionaryPref(
serp_metrics::prefs::kDeprecatedSerpMetricsTimePeriodStorage);
// Added 2026-03
registry->RegisterBooleanPref(kNewTabPageHideAllWidgets, false);
}
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -466,7 +469,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterStringPref(kNewTabPageClockFormat, "");
registry->RegisterBooleanPref(kNewTabPageShowStats, true);
registry->RegisterBooleanPref(kNewTabPageShowRewards, true);
registry->RegisterBooleanPref(kNewTabPageHideAllWidgets, false);
#if BUILDFLAG(ENABLE_BRAVE_TALK)
registry->RegisterBooleanPref(brave_talk::prefs::kNewTabPageShowBraveTalk,
@@ -121,7 +121,6 @@ void NewTabPageInitializer::Initialize() {
AddFaviconDataSource();
AddCustomImageDataSource();
AddSanitizedImageDataSource();
MaybeMigrateHideAllWidgetsPref();
web_ui_->AddRequestableScheme(content::kChromeUIUntrustedScheme);
web_ui_->OverrideTitle(l10n_util::GetStringUTF16(IDS_NEW_TAB_TITLE));
@@ -268,25 +267,4 @@ void NewTabPageInitializer::AddSanitizedImageDataSource() {
profile, std::make_unique<BraveSanitizedImageSource>(profile));
}
void NewTabPageInitializer::MaybeMigrateHideAllWidgetsPref() {
// The "hide all widgets" toggle does not exist on this version of the NTP.
// If the user has enabled this pref, hide the individual widgets affected by
// that pref.
// TODO(https://github.com/brave/brave-browser/issues/49544): Deprecate the
// `kNewTabPageHideAllWidgets` pref and perform the migration in
// `MigrateObsoleteProfilePrefs`.
auto* prefs = GetProfile()->GetPrefs();
if (prefs->GetBoolean(kNewTabPageHideAllWidgets)) {
prefs->SetBoolean(kNewTabPageHideAllWidgets, false);
prefs->SetBoolean(kNewTabPageShowRewards, false);
#if BUILDFLAG(ENABLE_BRAVE_TALK)
prefs->SetBoolean(brave_talk::prefs::kNewTabPageShowBraveTalk, false);
#endif
#if BUILDFLAG(ENABLE_BRAVE_VPN)
prefs->SetBoolean(kNewTabPageShowBraveVPN, false);
#endif
}
}
} // namespace brave_new_tab_page_refresh
@@ -52,7 +52,6 @@ class NewTabPageInitializer {
void AddFaviconDataSource();
void AddCustomImageDataSource();
void AddSanitizedImageDataSource();
void MaybeMigrateHideAllWidgetsPref();
raw_ref<content::WebUI> web_ui_;
raw_ptr<content::WebUIDataSource> source_ = nullptr;
+2
View File
@@ -13,6 +13,8 @@ include_rules = [
"+brave/components/brave_shields/content/browser/ad_block_service.h",
"+brave/components/brave_shields/core/browser/brave_shields_p3a.h",
"+brave/components/brave_sync/brave_sync_prefs.h",
"+brave/components/brave_talk/buildflags/buildflags.h",
"+brave/components/brave_talk/pref_names.h",
"+brave/components/brave_vpn/common/buildflags/buildflags.h",
"+brave/components/brave_wallet/browser/pref_names.h",
"+brave/components/brave_wallet/browser/keyring_service.h",
@@ -18,6 +18,7 @@
#include "brave/components/brave_shields/content/browser/ad_block_service.h"
#include "brave/components/brave_shields/core/browser/brave_shields_p3a.h"
#include "brave/components/brave_sync/brave_sync_prefs.h"
#include "brave/components/brave_talk/buildflags/buildflags.h"
#include "brave/components/brave_vpn/common/buildflags/buildflags.h"
#include "brave/components/brave_wallet/common/buildflags/buildflags.h"
#include "brave/components/constants/pref_names.h"
@@ -58,6 +59,10 @@
#include "brave/browser/brave_rewards/rewards_prefs_util.h"
#endif
#if BUILDFLAG(ENABLE_BRAVE_TALK)
#include "brave/components/brave_talk/pref_names.h"
#endif
#if !BUILDFLAG(IS_ANDROID)
#include "brave/browser/ui/tabs/brave_tab_prefs.h"
#include "brave/browser/ui/webui/welcome_page/brave_welcome_ui_prefs.h"
@@ -254,6 +259,20 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
speedreader::MigrateObsoleteProfilePrefs(profile_prefs);
#endif
// Added 2026-03
if (profile_prefs->GetBoolean(kNewTabPageHideAllWidgets)) {
profile_prefs->SetBoolean(kNewTabPageHideAllWidgets, false);
profile_prefs->SetBoolean(kNewTabPageShowRewards, false);
#if BUILDFLAG(ENABLE_BRAVE_TALK)
profile_prefs->SetBoolean(brave_talk::prefs::kNewTabPageShowBraveTalk,
false);
#endif
#if BUILDFLAG(ENABLE_BRAVE_VPN)
profile_prefs->SetBoolean(kNewTabPageShowBraveVPN, false);
#endif
}
profile_prefs->ClearPref(kNewTabPageHideAllWidgets);
// END_MIGRATE_OBSOLETE_PROFILE_PREFS
}