Skip to content

Commit

Permalink
Register prefs in right places
Browse files Browse the repository at this point in the history
1. Prefs used by keyed service must be registered or set default in
RegisterProfilePrefs of pref_service_builder_utils
2. RegisterProfilePrefs or RegisterLocalStatePrefs depends on scope
  • Loading branch information
darkdh committed Jul 26, 2019
1 parent 2287df1 commit 179b070
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 53 deletions.
2 changes: 0 additions & 2 deletions browser/autoplay/autoplay_permission_context_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,6 @@ class AutoplayPermissionContextTests : public ChromeRenderViewHostTestHarness {
auto prefs =
std::make_unique<sync_preferences::TestingPrefServiceSyncable>();
RegisterUserProfilePrefs(prefs->registry());
prefs->registry()->
RegisterBooleanPref(kGoogleLoginControlType, true);
builder.SetPrefService(std::move(prefs));
return builder.Build().release();
}
Expand Down
34 changes: 0 additions & 34 deletions browser/brave_profile_prefs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@

#include "brave/browser/brave_profile_prefs.h"

#include "brave/browser/themes/brave_theme_service.h"
#include "brave/browser/tor/buildflags.h"
#include "brave/common/pref_names.h"
#include "brave/components/brave_rewards/browser/rewards_service.h"
#include "brave/components/brave_shields/browser/brave_shields_web_contents_observer.h"
#include "brave/components/brave_webtorrent/browser/buildflags/buildflags.h"
#include "chrome/browser/net/prediction_options.h"
Expand All @@ -18,7 +15,6 @@
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/safe_browsing/common/safe_browsing_prefs.h"
#include "components/signin/core/browser/signin_pref_names.h"
#include "components/spellcheck/browser/pref_names.h"
#include "components/sync/base/pref_names.h"
#include "extensions/buildflags/buildflags.h"
#include "extensions/common/feature_switch.h"
Expand All @@ -32,30 +28,18 @@
#include "brave/components/brave_webtorrent/browser/webtorrent_util.h"
#endif

#if BUILDFLAG(ENABLE_TOR)
#include "brave/browser/tor/tor_profile_service.h"
#endif

using extensions::FeatureSwitch;

namespace brave {

void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
brave_rewards::RewardsService::RegisterProfilePrefs(registry);
brave_shields::BraveShieldsWebContentsObserver::RegisterProfilePrefs(
registry);

// appearance
#if !defined(OS_ANDROID)
BraveThemeService::RegisterProfilePrefs(registry);
#endif
registry->RegisterBooleanPref(kLocationBarIsWide, false);
registry->RegisterBooleanPref(kHideBraveRewardsButton, false);

#if BUILDFLAG(ENABLE_TOR)
tor::TorProfileService::RegisterProfilePrefs(registry);
#endif

registry->RegisterBooleanPref(kWidevineOptedIn, false);
#if BUILDFLAG(BUNDLE_WIDEVINE_CDM)
BraveWidevineBundleManager::RegisterProfilePrefs(registry);
Expand All @@ -75,11 +59,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
webtorrent::RegisterProfilePrefs(registry);
#endif

#if defined(OS_LINUX)
// Use brave theme by default instead of gtk theme.
registry->SetDefaultPrefValue(prefs::kUsesSystemTheme, base::Value(false));
#endif

// Hangouts
registry->RegisterBooleanPref(kHangoutsEnabled, true);

Expand All @@ -95,9 +74,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
FeatureSwitch::load_media_router_component_extension()->IsEnabled());
#endif

// No sign into Brave functionality
registry->SetDefaultPrefValue(prefs::kSigninAllowed, base::Value(false));

// Restore last profile on restart
registry->SetDefaultPrefValue(
prefs::kRestoreOnStartup,
Expand All @@ -110,10 +86,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->SetDefaultPrefValue(prefs::kAlternateErrorPagesEnabled,
base::Value(false));

// Disable spell check service
registry->SetDefaultPrefValue(
spellcheck::prefs::kSpellCheckUseSpellingService, base::Value(false));

// Disable safebrowsing reporting
registry->SetDefaultPrefValue(
prefs::kSafeBrowsingExtendedReportingOptInAllowed, base::Value(false));
Expand All @@ -130,12 +102,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
// Make sync managed to dsiable some UI after password saving.
registry->SetDefaultPrefValue(syncer::prefs::kSyncManaged, base::Value(true));

// Make sure sign into Brave is not enabled
// The older kSigninAllowed is deprecated and only in use in Android until
// C71.
registry->SetDefaultPrefValue(prefs::kSigninAllowedOnNextStartup,
base::Value(false));

// Disable cloud print
// Cloud Print: Don't allow this browser to act as Cloud Print server
registry->SetDefaultPrefValue(prefs::kCloudPrintProxyEnabled,
Expand Down
5 changes: 0 additions & 5 deletions browser/profiles/tor_unittest_profile_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
#include "base/threading/thread_task_runner_handle.h"
#include "brave/browser/profiles/brave_profile_manager.h"
#include "brave/browser/tor/tor_profile_service.h"
#include "brave/components/brave_webtorrent/browser/buildflags/buildflags.h"
#include "brave/components/brave_webtorrent/browser/webtorrent_util.h"
#include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/test/base/testing_profile.h"
Expand Down Expand Up @@ -63,9 +61,6 @@ Profile* TorUnittestProfileManager::CreateTorProfile(
factory.CreateSyncable(registry.get()));
RegisterUserProfilePrefs(registry.get());
tor::TorProfileService::RegisterProfilePrefs(registry.get());
#if BUILDFLAG(ENABLE_BRAVE_WEBTORRENT)
webtorrent::RegisterProfilePrefs(registry.get());
#endif
profile_builder.SetPrefService(std::move(prefs));
profile_builder.SetPath(path);
profile_builder.SetDelegate(delegate);
Expand Down
6 changes: 6 additions & 0 deletions chromium_src/chrome/browser/prefs/browser_prefs.cc
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
/* Copyright (c) 2019 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "brave/browser/brave_profile_prefs.h"
#include "brave/browser/brave_local_state_prefs.h"
#include "../../../../chrome/browser/prefs/browser_prefs.cc"
54 changes: 54 additions & 0 deletions chromium_src/chrome/browser/profiles/pref_service_builder_utils.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/* Copyright (c) 2019 The Brave Authors. All rights reserved.
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "chrome/browser/profiles/pref_service_builder_utils.h"
#define RegisterProfilePrefs RegisterProfilePrefs_ChromiumImpl
#include "../../../../../chrome/browser/profiles/pref_service_builder_utils.cc"
#undef RegisterProfilePrefs

#include "brave/browser/brave_profile_prefs.h"
#include "brave/browser/themes/brave_theme_service.h"
#include "brave/browser/tor/buildflags.h"
#include "brave/common/pref_names.h"
#include "brave/components/brave_rewards/browser/rewards_service.h"
#include "chrome/common/pref_names.h"
#include "components/spellcheck/browser/pref_names.h"

#if BUILDFLAG(ENABLE_TOR)
#include "brave/browser/tor/tor_profile_service.h"
#endif

// Prefs for KeyedService
void RegisterProfilePrefs(bool is_signin_profile,
const std::string& locale,
user_prefs::PrefRegistrySyncable* registry) {
RegisterProfilePrefs_ChromiumImpl(is_signin_profile, locale, registry);

// appearance
#if !defined(OS_ANDROID)
BraveThemeService::RegisterProfilePrefs(registry);
#endif

#if BUILDFLAG(ENABLE_TOR)
tor::TorProfileService::RegisterProfilePrefs(registry);
#endif

brave_rewards::RewardsService::RegisterProfilePrefs(registry);

// Disable spell check service
registry->SetDefaultPrefValue(
spellcheck::prefs::kSpellCheckUseSpellingService, base::Value(false));

// Make sure sign into Brave is not enabled
// The older kSigninAllowed is deprecated and only in use in Android until
// C71.
registry->SetDefaultPrefValue(prefs::kSigninAllowedOnNextStartup,
base::Value(false));

#if defined(OS_LINUX)
// Use brave theme by default instead of gtk theme.
registry->SetDefaultPrefValue(prefs::kUsesSystemTheme, base::Value(false));
#endif
}
10 changes: 9 additions & 1 deletion patches/chrome-browser-prefs-browser_prefs.cc.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 50312cdb0324e3dad18c77c96e5e609bfb259541..ed0ab71e9e08494abb5016bcb4e1fce6f852ea24 100644
index 50312cdb0324e3dad18c77c96e5e609bfb259541..2298f9b60d2718d82e721dc8483b114931a30d0d 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -658,6 +658,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
Expand All @@ -10,3 +10,11 @@ index 50312cdb0324e3dad18c77c96e5e609bfb259541..ed0ab71e9e08494abb5016bcb4e1fce6
}

// Register prefs applicable to all profiles.
@@ -908,6 +909,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
#endif

RegisterProfilePrefsForMigration(registry);
+ brave::RegisterProfilePrefs(registry);
}

void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
12 changes: 1 addition & 11 deletions patches/chrome-browser-profiles-profile_impl.cc.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
index 71619ca3d5271b0f813110dce0e5570b6eebdda7..a9c1f8ec99aafa581c7fc8261e470261323c6492 100644
index 71619ca3d5271b0f813110dce0e5570b6eebdda7..97003f2bc6f1141ae49dc2a2ac58e5f861fd0615 100644
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -34,6 +34,7 @@
Expand All @@ -10,13 +10,3 @@ index 71619ca3d5271b0f813110dce0e5570b6eebdda7..a9c1f8ec99aafa581c7fc8261e470261
#include "build/build_config.h"
#include "chrome/browser/background/background_contents_service_factory.h"
#include "chrome/browser/background_fetch/background_fetch_delegate_factory.h"
@@ -508,6 +509,9 @@ ProfileImpl::ProfileImpl(
LoadPrefsForNormalStartup(async_prefs);
#endif

+// Done here instead of browser_prefs.cc so it can override default prefs
+brave::RegisterProfilePrefs(pref_registry_.get());
+
content::BrowserContext::Initialize(this, path_);

// Register on BrowserContext.

0 comments on commit 179b070

Please sign in to comment.