| Index: chrome/browser/prefs/browser_prefs.cc
|
| diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
|
| index 61613ee6c42b2c318714b31a947babd414a98e07..086a24c73ba1f9f69f0f9c49e9a47a5b6e0b12e4 100644
|
| --- a/chrome/browser/prefs/browser_prefs.cc
|
| +++ b/chrome/browser/prefs/browser_prefs.cc
|
| @@ -10,6 +10,7 @@
|
| #include "chrome/browser/background/background_mode_manager.h"
|
| #include "chrome/browser/bookmarks/bookmark_prompt_prefs.h"
|
| #include "chrome/browser/bookmarks/bookmark_utils.h"
|
| +#include "chrome/browser/browser_process_impl.h"
|
| #include "chrome/browser/browser_shutdown.h"
|
| #include "chrome/browser/chrome_content_browser_client.h"
|
| #include "chrome/browser/content_settings/host_content_settings_map.h"
|
| @@ -46,6 +47,7 @@
|
| #include "chrome/browser/pepper_flash_settings_manager.h"
|
| #include "chrome/browser/plugins/plugin_finder.h"
|
| #include "chrome/browser/prefs/incognito_mode_prefs.h"
|
| +#include "chrome/browser/prefs/pref_registry_simple.h"
|
| #include "chrome/browser/prefs/pref_service.h"
|
| #include "chrome/browser/prefs/session_startup_pref.h"
|
| #include "chrome/browser/profiles/chrome_version_service.h"
|
| @@ -147,85 +149,90 @@ enum MigratedPreferences {
|
|
|
| namespace chrome {
|
|
|
| -void RegisterLocalState(PrefServiceSimple* local_state) {
|
| +// TODO(joi): Do the work needed to remove the PrefService parameter,
|
| +// i.e. to do all registration up front before a PrefService is even
|
| +// created.
|
| +void RegisterLocalState(PrefRegistrySimple* registry,
|
| + PrefService* local_state) {
|
| // Prefs in Local State.
|
| - local_state->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0);
|
| + registry->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0);
|
|
|
| // Please keep this list alphabetized.
|
| - browser_shutdown::RegisterPrefs(local_state);
|
| - chrome::RegisterScreenshotPrefs(local_state);
|
| - extensions::app_launcher::RegisterPrefs(local_state);
|
| - ExternalProtocolHandler::RegisterPrefs(local_state);
|
| - FlagsUI::RegisterPrefs(local_state);
|
| - geolocation::RegisterPrefs(local_state);
|
| - IntranetRedirectDetector::RegisterPrefs(local_state);
|
| - KeywordEditorController::RegisterPrefs(local_state);
|
| - MetricsLog::RegisterPrefs(local_state);
|
| - MetricsService::RegisterPrefs(local_state);
|
| - PrefProxyConfigTrackerImpl::RegisterPrefs(local_state);
|
| - ProfileInfoCache::RegisterPrefs(local_state);
|
| - ProfileManager::RegisterPrefs(local_state);
|
| - PromoResourceService::RegisterPrefs(local_state);
|
| - SigninManagerFactory::RegisterPrefs(local_state);
|
| - SSLConfigServiceManager::RegisterPrefs(local_state);
|
| - UpgradeDetector::RegisterPrefs(local_state);
|
| - WebCacheManager::RegisterPrefs(local_state);
|
| + browser_shutdown::RegisterPrefs(registry);
|
| + BrowserProcessImpl::RegisterPrefs(registry);
|
| + chrome::RegisterScreenshotPrefs(registry);
|
| + extensions::app_launcher::RegisterPrefs(registry);
|
| + ExternalProtocolHandler::RegisterPrefs(registry);
|
| + FlagsUI::RegisterPrefs(registry);
|
| + geolocation::RegisterPrefs(registry);
|
| + IntranetRedirectDetector::RegisterPrefs(registry);
|
| + KeywordEditorController::RegisterPrefs(registry);
|
| + MetricsLog::RegisterPrefs(registry);
|
| + MetricsService::RegisterPrefs(registry);
|
| + PrefProxyConfigTrackerImpl::RegisterPrefs(registry);
|
| + ProfileInfoCache::RegisterPrefs(registry);
|
| + ProfileManager::RegisterPrefs(registry);
|
| + PromoResourceService::RegisterPrefs(registry);
|
| + SigninManagerFactory::RegisterPrefs(registry);
|
| + SSLConfigServiceManager::RegisterPrefs(registry);
|
| + UpgradeDetector::RegisterPrefs(registry);
|
| + WebCacheManager::RegisterPrefs(registry);
|
|
|
| #if defined(ENABLE_PLUGINS)
|
| - PluginFinder::RegisterPrefs(local_state);
|
| + PluginFinder::RegisterPrefs(registry);
|
| #endif
|
|
|
| #if defined(ENABLE_PLUGIN_INSTALLATION)
|
| - PluginsResourceService::RegisterPrefs(local_state);
|
| + PluginsResourceService::RegisterPrefs(registry);
|
| #endif
|
|
|
| #if defined(ENABLE_CONFIGURATION_POLICY)
|
| - policy::BrowserPolicyConnector::RegisterPrefs(local_state);
|
| - policy::PolicyStatisticsCollector::RegisterPrefs(local_state);
|
| + policy::BrowserPolicyConnector::RegisterPrefs(registry);
|
| + policy::PolicyStatisticsCollector::RegisterPrefs(registry);
|
| #endif
|
|
|
| #if defined(ENABLE_NOTIFICATIONS)
|
| - NotificationPrefsManager::RegisterPrefs(local_state);
|
| + NotificationPrefsManager::RegisterPrefs(local_state, registry);
|
| #endif
|
|
|
| #if defined(ENABLE_TASK_MANAGER)
|
| - TaskManager::RegisterPrefs(local_state);
|
| + TaskManager::RegisterPrefs(registry);
|
| #endif // defined(ENABLE_TASK_MANAGER)
|
|
|
| #if defined(TOOLKIT_VIEWS)
|
| - RegisterBrowserViewPrefs(local_state);
|
| - RegisterTabStripLayoutTypePrefs(local_state);
|
| + RegisterBrowserViewPrefs(registry);
|
| + RegisterTabStripLayoutTypePrefs(registry);
|
| #endif
|
|
|
| #if !defined(OS_ANDROID)
|
| - BackgroundModeManager::RegisterPrefs(local_state);
|
| - chrome_variations::VariationsService::RegisterPrefs(local_state);
|
| - RegisterBrowserPrefs(local_state);
|
| - ManagedMode::RegisterPrefs(local_state);
|
| + BackgroundModeManager::RegisterPrefs(registry);
|
| + chrome_variations::VariationsService::RegisterPrefs(registry);
|
| + RegisterBrowserPrefs(registry);
|
| + ManagedMode::RegisterPrefs(registry);
|
| #endif
|
|
|
| #if defined(OS_CHROMEOS)
|
| - chromeos::AudioHandler::RegisterPrefs(local_state);
|
| - chromeos::DataPromoNotification::RegisterPrefs(local_state);
|
| - chromeos::device_settings_cache::RegisterPrefs(local_state);
|
| - chromeos::language_prefs::RegisterPrefs(local_state);
|
| - chromeos::ProxyConfigServiceImpl::RegisterPrefs(local_state);
|
| - chromeos::RegisterDisplayLocalStatePrefs(local_state);
|
| - chromeos::ServicesCustomizationDocument::RegisterPrefs(local_state);
|
| - chromeos::UserImageManager::RegisterPrefs(local_state);
|
| - chromeos::UserManager::RegisterPrefs(local_state);
|
| - chromeos::WallpaperManager::RegisterPrefs(local_state);
|
| - chromeos::WizardController::RegisterPrefs(local_state);
|
| - policy::AutoEnrollmentClient::RegisterPrefs(local_state);
|
| - policy::DeviceStatusCollector::RegisterPrefs(local_state);
|
| + chromeos::AudioHandler::RegisterPrefs(registry);
|
| + chromeos::DataPromoNotification::RegisterPrefs(registry);
|
| + chromeos::device_settings_cache::RegisterPrefs(registry);
|
| + chromeos::language_prefs::RegisterPrefs(registry);
|
| + chromeos::ProxyConfigServiceImpl::RegisterPrefs(registry);
|
| + chromeos::RegisterDisplayLocalStatePrefs(registry);
|
| + chromeos::ServicesCustomizationDocument::RegisterPrefs(registry);
|
| + chromeos::UserImageManager::RegisterPrefs(registry);
|
| + chromeos::UserManager::RegisterPrefs(registry);
|
| + chromeos::WallpaperManager::RegisterPrefs(registry);
|
| + chromeos::WizardController::RegisterPrefs(registry);
|
| + policy::AutoEnrollmentClient::RegisterPrefs(registry);
|
| + policy::DeviceStatusCollector::RegisterPrefs(registry);
|
| #endif
|
|
|
| #if defined(OS_MACOSX)
|
| - confirm_quit::RegisterLocalState(local_state);
|
| + confirm_quit::RegisterLocalState(registry);
|
| #endif
|
|
|
| #if defined(ENABLE_SETTINGS_APP)
|
| - chrome::RegisterAppListPrefs(local_state);
|
| + chrome::RegisterAppListPrefs(registry);
|
| #endif
|
| }
|
|
|
| @@ -329,17 +336,19 @@ void MigrateUserPrefs(Profile* profile) {
|
| prefs->UnregisterPreference(kBackupPref);
|
| }
|
|
|
| -void MigrateBrowserPrefs(Profile* profile, PrefServiceSimple* local_state) {
|
| +void MigrateBrowserPrefs(Profile* profile, PrefService* local_state) {
|
| // Copy pref values which have been migrated to user_prefs from local_state,
|
| // or remove them from local_state outright, if copying is not required.
|
| int current_version =
|
| local_state->GetInteger(prefs::kMultipleProfilePrefMigration);
|
| + PrefRegistrySimple* registry = static_cast<PrefRegistrySimple*>(
|
| + local_state->DeprecatedGetPrefRegistry());
|
|
|
| if (!(current_version & DNS_PREFS)) {
|
| - local_state->RegisterListPref(prefs::kDnsStartupPrefetchList);
|
| + registry->RegisterListPref(prefs::kDnsStartupPrefetchList);
|
| local_state->ClearPref(prefs::kDnsStartupPrefetchList);
|
|
|
| - local_state->RegisterListPref(prefs::kDnsHostReferralList);
|
| + registry->RegisterListPref(prefs::kDnsHostReferralList);
|
| local_state->ClearPref(prefs::kDnsHostReferralList);
|
|
|
| current_version |= DNS_PREFS;
|
| @@ -349,7 +358,7 @@ void MigrateBrowserPrefs(Profile* profile, PrefServiceSimple* local_state) {
|
|
|
| PrefServiceSyncable* user_prefs = profile->GetPrefs();
|
| if (!(current_version & WINDOWS_PREFS)) {
|
| - local_state->RegisterIntegerPref(prefs::kDevToolsHSplitLocation, -1);
|
| + registry->RegisterIntegerPref(prefs::kDevToolsHSplitLocation, -1);
|
| if (local_state->HasPrefPath(prefs::kDevToolsHSplitLocation)) {
|
| user_prefs->SetInteger(
|
| prefs::kDevToolsHSplitLocation,
|
| @@ -357,7 +366,7 @@ void MigrateBrowserPrefs(Profile* profile, PrefServiceSimple* local_state) {
|
| }
|
| local_state->ClearPref(prefs::kDevToolsHSplitLocation);
|
|
|
| - local_state->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
|
| + registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
|
| if (local_state->HasPrefPath(prefs::kBrowserWindowPlacement)) {
|
| const PrefService::Preference* pref =
|
| local_state->FindPreference(prefs::kBrowserWindowPlacement);
|
| @@ -374,16 +383,16 @@ void MigrateBrowserPrefs(Profile* profile, PrefServiceSimple* local_state) {
|
|
|
| if (!(current_version & GOOGLE_URL_TRACKER_PREFS)) {
|
| GoogleURLTrackerFactory::GetInstance()->RegisterUserPrefsOnProfile(profile);
|
| - local_state->RegisterStringPref(prefs::kLastKnownGoogleURL,
|
| - GoogleURLTracker::kDefaultGoogleHomepage);
|
| + registry->RegisterStringPref(prefs::kLastKnownGoogleURL,
|
| + GoogleURLTracker::kDefaultGoogleHomepage);
|
| if (local_state->HasPrefPath(prefs::kLastKnownGoogleURL)) {
|
| user_prefs->SetString(prefs::kLastKnownGoogleURL,
|
| local_state->GetString(prefs::kLastKnownGoogleURL));
|
| }
|
| local_state->ClearPref(prefs::kLastKnownGoogleURL);
|
|
|
| - local_state->RegisterStringPref(prefs::kLastPromptedGoogleURL,
|
| - std::string());
|
| + registry->RegisterStringPref(prefs::kLastPromptedGoogleURL,
|
| + std::string());
|
| if (local_state->HasPrefPath(prefs::kLastPromptedGoogleURL)) {
|
| user_prefs->SetString(
|
| prefs::kLastPromptedGoogleURL,
|
|
|