Skip to content

Commit 7a2beb9

Browse files
authored
[ads] Preserve search ad info bar preference when clearing ads data (#29028)
1 parent 7e60a2b commit 7a2beb9

File tree

2 files changed

+44
-15
lines changed

2 files changed

+44
-15
lines changed

components/brave_ads/core/internal/prefs/obsolete_pref_util.cc

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,67 @@
55

66
#include "brave/components/brave_ads/core/public/prefs/obsolete_pref_util.h"
77

8+
#include "brave/components/brave_ads/core/public/prefs/pref_names.h"
89
#include "components/prefs/pref_registry_simple.h"
910
#include "components/prefs/pref_service.h"
1011

1112
namespace brave_ads {
1213

1314
namespace {
1415

15-
constexpr char kHasMigratedConversionState[] =
16+
constexpr char kObsoleteHasMigratedConversionState[] =
1617
"brave.brave_ads.migrated.conversion_state";
17-
constexpr char kHasMigratedNotificationState[] =
18+
constexpr char kObsoleteHasMigratedNotificationState[] =
1819
"brave.brave_ads.has_migrated.notification_state";
19-
constexpr char kHasMigratedRewardsState[] =
20+
constexpr char kObsoleteHasMigratedRewardsState[] =
2021
"brave.brave_ads.migrated.rewards_state";
2122

22-
constexpr char kShouldMigrateVerifiedRewardsUser[] =
23+
constexpr char kObsoleteShouldMigrateVerifiedRewardsUser[] =
2324
"brave.brave_ads.rewards.verified_user.should_migrate";
2425

26+
constexpr char kObsoleteShouldShowSearchResultAdClickedInfoBar[] =
27+
"brave.brave_ads.should_show_search_result_ad_clicked_infobar";
28+
29+
void MaybeMigrateShouldShowSearchResultAdClickedInfoBarProfilePref(
30+
PrefService* const prefs) {
31+
if (!prefs->HasPrefPath(kObsoleteShouldShowSearchResultAdClickedInfoBar)) {
32+
return;
33+
}
34+
35+
prefs->SetBoolean(
36+
prefs::kShouldShowSearchResultAdClickedInfoBar,
37+
prefs->GetBoolean(kObsoleteShouldShowSearchResultAdClickedInfoBar));
38+
prefs->ClearPref(kObsoleteShouldShowSearchResultAdClickedInfoBar);
39+
}
40+
2541
} // namespace
2642

2743
void RegisterProfilePrefsForMigration(PrefRegistrySimple* const registry) {
2844
// Added 08/2024.
29-
registry->RegisterBooleanPref(kHasMigratedConversionState, false);
30-
registry->RegisterBooleanPref(kHasMigratedNotificationState, false);
31-
registry->RegisterBooleanPref(kHasMigratedRewardsState, false);
45+
registry->RegisterBooleanPref(kObsoleteHasMigratedConversionState, false);
46+
registry->RegisterBooleanPref(kObsoleteHasMigratedNotificationState, false);
47+
registry->RegisterBooleanPref(kObsoleteHasMigratedRewardsState, false);
3248

3349
// Added 10/2024.
34-
registry->RegisterBooleanPref(kShouldMigrateVerifiedRewardsUser, false);
50+
registry->RegisterBooleanPref(kObsoleteShouldMigrateVerifiedRewardsUser,
51+
false);
52+
53+
// Added 05/2025.
54+
registry->RegisterBooleanPref(kObsoleteShouldShowSearchResultAdClickedInfoBar,
55+
false);
3556
}
3657

3758
void MigrateObsoleteProfilePrefs(PrefService* const prefs) {
3859
// Added 08/2024.
39-
prefs->ClearPref(kHasMigratedConversionState);
40-
prefs->ClearPref(kHasMigratedNotificationState);
41-
prefs->ClearPref(kHasMigratedRewardsState);
60+
prefs->ClearPref(kObsoleteHasMigratedConversionState);
61+
prefs->ClearPref(kObsoleteHasMigratedNotificationState);
62+
prefs->ClearPref(kObsoleteHasMigratedRewardsState);
4263

4364
// Added 10/2024.
44-
prefs->ClearPref(kShouldMigrateVerifiedRewardsUser);
65+
prefs->ClearPref(kObsoleteShouldMigrateVerifiedRewardsUser);
66+
67+
// Added 05/2025.
68+
MaybeMigrateShouldShowSearchResultAdClickedInfoBarProfilePref(prefs);
4569
}
4670

4771
} // namespace brave_ads

components/brave_ads/core/public/prefs/pref_names.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88

99
namespace brave_ads::prefs {
1010

11+
// IMPORTANT: Prefs that need clearing should be prefixed with
12+
// `brave.brave_ads`.
13+
1114
// Ads prefs.
1215
inline constexpr char kDiagnosticId[] = "brave.brave_ads.diagnostics.id";
1316

@@ -68,9 +71,6 @@ inline constexpr char kNotificationAdDidFallbackToCustom[] =
6871
inline constexpr char kShouldShowOnboardingNotification[] =
6972
"brave.brave_ads.should_show_my_first_ad_notification";
7073

71-
inline constexpr char kShouldShowSearchResultAdClickedInfoBar[] =
72-
"brave.brave_ads.should_show_search_result_ad_clicked_infobar";
73-
7474
// Brave stats prefs.
7575
inline constexpr char kEnabledForLastProfile[] =
7676
"brave.brave_ads.enabled_last_profile";
@@ -80,6 +80,11 @@ inline constexpr char kEverEnabledForAnyProfile[] =
8080
// P2A prefs.
8181
inline constexpr char kP2APrefPathPrefix[] = "brave.weekly_storage.";
8282

83+
// We don't prefix `brave.brave_ads` to this pref path because we don't want
84+
// them cleared if the user clears ads data or resets Brave Rewards.
85+
inline constexpr char kShouldShowSearchResultAdClickedInfoBar[] =
86+
"brave.search.search_result_ad.should_show_clicked_infobar";
87+
8388
} // namespace brave_ads::prefs
8489

8590
#endif // BRAVE_COMPONENTS_BRAVE_ADS_CORE_PUBLIC_PREFS_PREF_NAMES_H_

0 commit comments

Comments
 (0)