| // Copyright 2012 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_PREFS_BROWSER_PREFS_H_ |
| #define CHROME_BROWSER_PREFS_BROWSER_PREFS_H_ |
| |
| #include <string> |
| #include <string_view> |
| |
| #include "build/build_config.h" |
| #include "build/chromeos_buildflags.h" |
| |
| class PrefRegistrySimple; |
| class PrefService; |
| |
| namespace base { |
| class FilePath; |
| } |
| |
| namespace user_prefs { |
| class PrefRegistrySyncable; |
| } |
| |
| // Gets the current country from the browser process. May be empty if the |
| // browser process cannot supply the country. |
| std::string GetCountry(); |
| |
| // Register all prefs that will be used via the local state PrefService. |
| void RegisterLocalState(PrefRegistrySimple* registry); |
| |
| void RegisterScreenshotPrefs(PrefRegistrySimple* registry); |
| |
| // Register all prefs that will be used via a PrefService attached to a user |
| // Profile using the locale of |g_browser_process|. |
| void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry); |
| |
| // Register all prefs that will be used via a PrefService attached to a user |
| // Profile with the given |locale|. |
| void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry, |
| const std::string& locale); |
| |
| #if BUILDFLAG(IS_CHROMEOS_ASH) |
| // Register all prefs that will be used via a PrefService attached to the |
| // sign-in profile using the locale of |g_browser_process|. |country| should be |
| // the permanent country code stored for this client in lowercase ISO 3166-1 |
| // alpha-2. It can be used to pick country specific default values. May be |
| // empty May be empty in which case country specific preferences will be unable |
| // to be set. |
| void RegisterSigninProfilePrefs(user_prefs::PrefRegistrySyncable* registry, |
| std::string_view country); |
| #endif |
| |
| // Migrate/cleanup deprecated prefs in |local_state|. Over time, long deprecated |
| // prefs should be removed as new ones are added, but this call should never go |
| // away (even if it becomes an empty call for some time) as it should remain |
| // *the* place to drop deprecated browser-level (Local State) prefs at. |
| void MigrateObsoleteLocalStatePrefs(PrefService* local_state); |
| |
| // Migrate/cleanup deprecated prefs in |profile_prefs|. Over time, long |
| // deprecated prefs should be removed as new ones are added, but this call |
| // should never go away (even if it becomes an empty call for some time) as it |
| // should remain *the* place to drop deprecated profile prefs at. |
| void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, |
| const base::FilePath& profile_path); |
| |
| #endif // CHROME_BROWSER_PREFS_BROWSER_PREFS_H_ |