Skip to content

Commit 7e58f3d

Browse files
committed
Explicitly set the default view for shield settings.
Defaults to: - advanced for existing users - simple for new users Changing the default was not "locking in" the setting. This change locks in that default. Fixes brave/brave-browser#8533
1 parent a2379f2 commit 7e58f3d

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

browser/brave_profile_prefs.cc

+5-4
Original file line numberDiff line numberDiff line change
@@ -102,21 +102,22 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
102102
registry->RegisterBooleanPref(kHTTPSEVerywhereControlType, true);
103103
registry->RegisterBooleanPref(kNoScriptControlType, false);
104104
registry->RegisterBooleanPref(kAdControlType, true);
105-
// > advanced view is defaulted to true for EXISTING users; false for new
106-
bool is_new_user = false;
107105

106+
// advanced view is defaulted to true for EXISTING users; false for new.
107+
// also see brave_profile_impl.cc for where default is locked in.
108+
bool is_new_user = false;
108109
#if !defined(OS_ANDROID)
109110
is_new_user = first_run::IsChromeFirstRun();
110111
#endif
112+
registry->RegisterBooleanPref(kShieldsAdvancedViewEnabled,
113+
is_new_user == false);
111114

112115
#if !BUILDFLAG(USE_GCM_FROM_PLATFORM)
113116
// PushMessaging
114117
registry->SetDefaultPrefValue(gcm::prefs::kGCMChannelStatus,
115118
base::Value(false));
116119
#endif
117120

118-
registry->RegisterBooleanPref(kShieldsAdvancedViewEnabled,
119-
is_new_user == false);
120121
registry->RegisterBooleanPref(kShieldsStatsBadgeVisible, true);
121122
registry->RegisterBooleanPref(kGoogleLoginControlType, true);
122123
registry->RegisterBooleanPref(kFBEmbedControlType, true);

browser/brave_profile_prefs_browsertest.cc

+13-2
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,28 @@ typedef FirstRunMasterPrefsBrowserTestT<kFirstRunEmptyPrefs>
8282
BraveProfilePrefsFirstRunBrowserTest;
8383
IN_PROC_BROWSER_TEST_F(BraveProfilePrefsFirstRunBrowserTest,
8484
AdvancedShieldsNewUserValue) {
85-
EXPECT_FALSE(
86-
browser()->profile()->GetPrefs()->GetBoolean(
85+
// verify value of pref (default to simple view)
86+
EXPECT_FALSE(browser()->profile()->GetPrefs()->GetBoolean(
8787
kShieldsAdvancedViewEnabled));
88+
// verify that pref was set (and is not default)
89+
const PrefService::Preference* pref =
90+
browser()->profile()->GetPrefs()->FindPreference(
91+
kShieldsAdvancedViewEnabled);
92+
EXPECT_TRUE(pref->HasUserSetting());
8893
}
8994

9095
// Existing Brave users should default shields to Advanced view
9196
IN_PROC_BROWSER_TEST_F(BraveProfilePrefsBrowserTest,
9297
AdvancedShieldsExistingUserValue) {
98+
// verify value of pref (default to advanced view)
9399
EXPECT_TRUE(
94100
browser()->profile()->GetPrefs()->GetBoolean(
95101
kShieldsAdvancedViewEnabled));
102+
// verify that pref was set (and is not default)
103+
const PrefService::Preference* pref =
104+
browser()->profile()->GetPrefs()->FindPreference(
105+
kShieldsAdvancedViewEnabled);
106+
EXPECT_TRUE(pref->HasUserSetting());
96107
}
97108
#endif
98109

browser/profiles/brave_profile_impl.cc

+13
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "chrome/browser/chrome_notification_types.h"
1212
#include "chrome/browser/profiles/profile_manager.h"
1313
#include "content/public/browser/notification_source.h"
14+
#include "brave/common/pref_names.h"
1415

1516
BraveProfileImpl::BraveProfileImpl(
1617
const base::FilePath& path,
@@ -20,6 +21,18 @@ BraveProfileImpl::BraveProfileImpl(
2021
scoped_refptr<base::SequencedTaskRunner> io_task_runner)
2122
: ProfileImpl(path, delegate, create_mode, creation_time, io_task_runner),
2223
weak_ptr_factory_(this) {
24+
#if !defined(OS_ANDROID)
25+
const PrefService::Preference* pref =
26+
GetPrefs()->FindPreference(kShieldsAdvancedViewEnabled);
27+
if (!pref->HasUserSetting()) {
28+
bool default_value = GetPrefs()->GetBoolean(kShieldsAdvancedViewEnabled);
29+
// advanced view is defaulted to true for EXISTING users; false for new.
30+
// preference needs to be explicitly set to hold its value
31+
// see brave_profile_prefs.cc for where this default is determined
32+
GetPrefs()->SetBoolean(kShieldsAdvancedViewEnabled, default_value);
33+
}
34+
#endif
35+
2336
// In sessions profiles, prefs are created from the original profile like how
2437
// incognito profile works. By the time chromium start to observe prefs
2538
// initialization in ProfileImpl constructor for the async creation case,

0 commit comments

Comments
 (0)