browser_prefs.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/browser_prefs.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/about_flags.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/accessibility/invert_bubble_prefs.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/autofill/autofill_manager.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/background/background_mode_manager.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/bookmarks/bookmark_prompt_prefs.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/bookmarks/bookmark_utils.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/browser_shutdown.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chrome_content_browser_client.h" 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/content_settings/host_content_settings_map.h" 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/custom_handlers/protocol_handler_registry.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/debugger/devtools_window.h" 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/download/download_prefs.h" 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/api/commands/command_service.h" 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/api/tabs/tabs.h" 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/component_loader.h" 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/extension_prefs.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/extension_web_ui.h" 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/external_protocol/external_protocol_handler.h" 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/first_run/first_run.h" 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/geolocation/geolocation_prefs.h" 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/google/google_url_tracker.h" 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/google/google_url_tracker_factory.h" 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/instant/instant_controller.h" 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/intents/web_intents_util.h" 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/intranet_redirect_detector.h" 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/managed_mode/managed_mode.h" 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/metrics_log.h" 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/metrics_service.h" 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/variations/variations_service.h" 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/http_server_properties_manager.h" 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/net_pref_observer.h" 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/predictor.h" 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/ssl_config_service_manager.h" 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/notifications/desktop_notification_service.h" 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/notifications/notification_prefs_manager.h" 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/page_info_model.h" 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/password_manager/password_manager.h" 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/pepper_flash_settings_manager.h" 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/plugins/plugin_finder.h" 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/incognito_mode_prefs.h" 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/pref_service.h" 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/session_startup_pref.h" 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/chrome_version_service.h" 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/gaia_info_update_service.h" 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_impl.h" 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_info_cache.h" 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_manager.h" 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/renderer_host/web_cache_manager.h" 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/search_engines/template_url_prepopulate_data.h" 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/signin/signin_manager_factory.h" 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/task_manager/task_manager.h" 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/translate/translate_prefs.h" 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/alternate_error_tab_observer.h" 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_ui_prefs.h" 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/network_profile_bubble.h" 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/prefs/prefs_tab_helper.h" 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/search_engines/keyword_editor_controller.h" 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/startup/autolaunch_prompt.h" 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/tabs/pinned_tab_codec.h" 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/extensions/extension_settings_handler.h" 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/flags_ui.h" 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/instant_ui.h" 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/ntp/new_tab_ui.h" 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/plugins_ui.h" 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/print_preview/sticky_settings.h" 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/sync_promo/sync_promo_ui.h" 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/window_snapshot/window_snapshot.h" 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/upgrade_detector.h" 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/web_resource/promo_resource_service.h" 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/pref_names.h" 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/render_process_host.h" 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/cloud_policy_subsystem.h" 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/policy_statistics_collector.h" 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/url_blacklist_manager.h" 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/cocoa/confirm_quit.h" 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_view_prefs.h" 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/tabs/tab_strip_layout_type_prefs.h" 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_GTK) 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/gtk/browser_window_gtk.h" 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/audio/audio_handler.h" 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/customization_document.h" 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/display/display_preferences.h" 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/user_image_manager.h" 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/user_manager.h" 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/wallpaper_manager.h" 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/wizard_controller.h" 1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/preferences.h" 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/proxy_config_service_impl.h" 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/settings/device_settings_cache.h" 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/status/data_promo_notification.h" 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/auto_enrollment_client.h" 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/device_status_collector.h" 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/default_apps.h" 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(USE_ASH) 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/ash/chrome_launcher_prefs.h" 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chrome_to_mobile_service.h" 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/ntp/android/promo_handler.h" 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_PLUGIN_INSTALLATION) 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/web_resource/plugins_resource_service.h" 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace { 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum MigratedPreferences { 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NO_PREFS = 0, 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DNS_PREFS = 1 << 0, 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WINDOWS_PREFS = 1 << 1, 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GOOGLE_URL_TRACKER_PREFS = 1 << 2, 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void RegisterLocalState(PrefService* local_state) { 1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Prefs in Local State 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0); 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) browser_shutdown::RegisterPrefs(local_state); 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ExternalProtocolHandler::RegisterPrefs(local_state); 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) geolocation::RegisterPrefs(local_state); 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IntranetRedirectDetector::RegisterPrefs(local_state); 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) KeywordEditorController::RegisterPrefs(local_state); 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MetricsLog::RegisterPrefs(local_state); 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MetricsService::RegisterPrefs(local_state); 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PluginFinder::RegisterPrefs(local_state); 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefProxyConfigTrackerImpl::RegisterPrefs(local_state); 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ProfileInfoCache::RegisterPrefs(local_state); 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ProfileManager::RegisterPrefs(local_state); 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SigninManagerFactory::RegisterPrefs(local_state); 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SSLConfigServiceManager::RegisterPrefs(local_state); 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome_variations::VariationsService::RegisterPrefs(local_state); 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WebCacheManager::RegisterPrefs(local_state); 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome::RegisterScreenshotPrefs(local_state); 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_PLUGIN_INSTALLATION) 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PluginsResourceService::RegisterPrefs(local_state); 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) policy::CloudPolicySubsystem::RegisterPrefs(local_state); 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) policy::PolicyStatisticsCollector::RegisterPrefs(local_state); 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_NOTIFICATIONS) 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NotificationPrefsManager::RegisterPrefs(local_state); 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_TASK_MANAGER) 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TaskManager::RegisterPrefs(local_state); 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // defined(ENABLE_TASK_MANAGER) 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RegisterBrowserViewPrefs(local_state); 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RegisterTabStripLayoutTypePrefs(local_state); 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PromoResourceService::RegisterPrefs(local_state); 1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BackgroundModeManager::RegisterPrefs(local_state); 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RegisterBrowserPrefs(local_state); 1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FlagsUI::RegisterPrefs(local_state); 1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ManagedMode::RegisterPrefs(local_state); 1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UpgradeDetector::RegisterPrefs(local_state); 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::AudioHandler::RegisterPrefs(local_state); 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::DataPromoNotification::RegisterPrefs(local_state); 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::device_settings_cache::RegisterPrefs(local_state); 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::language_prefs::RegisterPrefs(local_state); 2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::ProxyConfigServiceImpl::RegisterPrefs(local_state); 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::RegisterDisplayLocalStatePrefs(local_state); 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::ServicesCustomizationDocument::RegisterPrefs(local_state); 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::UserImageManager::RegisterPrefs(local_state); 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::UserManager::RegisterPrefs(local_state); 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::WallpaperManager::RegisterPrefs(local_state); 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::WizardController::RegisterPrefs(local_state); 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) policy::AutoEnrollmentClient::RegisterPrefs(local_state); 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) policy::DeviceStatusCollector::RegisterPrefs(local_state); 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) confirm_quit::RegisterLocalState(local_state); 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void RegisterUserPrefs(PrefService* user_prefs) { 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // User prefs 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AlternateErrorPageTabObserver::RegisterUserPrefs(user_prefs); 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AutofillManager::RegisterUserPrefs(user_prefs); 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BookmarkPromptPrefs::RegisterUserPrefs(user_prefs); 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bookmark_utils::RegisterUserPrefs(user_prefs); 2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ChromeContentBrowserClient::RegisterUserPrefs(user_prefs); 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ChromeVersionService::RegisterUserPrefs(user_prefs); 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome_browser_net::HttpServerPropertiesManager::RegisterPrefs(user_prefs); 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chrome_browser_net::Predictor::RegisterUserPrefs(user_prefs); 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DownloadPrefs::RegisterUserPrefs(user_prefs); 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) extensions::ComponentLoader::RegisterUserPrefs(user_prefs); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) extensions::ExtensionPrefs::RegisterUserPrefs(user_prefs); 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ExtensionWebUI::RegisterUserPrefs(user_prefs); 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) first_run::RegisterUserPrefs(user_prefs); 2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GAIAInfoUpdateService::RegisterUserPrefs(user_prefs); 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) HostContentSettingsMap::RegisterUserPrefs(user_prefs); 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) IncognitoModePrefs::RegisterUserPrefs(user_prefs); 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) InstantController::RegisterUserPrefs(user_prefs); 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NetPrefObserver::RegisterPrefs(user_prefs); 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NewTabUI::RegisterUserPrefs(user_prefs); 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PasswordManager::RegisterUserPrefs(user_prefs); 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefProxyConfigTrackerImpl::RegisterPrefs(user_prefs); 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefsTabHelper::RegisterUserPrefs(user_prefs); 2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ProfileImpl::RegisterUserPrefs(user_prefs); 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PromoResourceService::RegisterUserPrefs(user_prefs); 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ProtocolHandlerRegistry::RegisterPrefs(user_prefs); 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RegisterBrowserUserPrefs(user_prefs); 2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SessionStartupPref::RegisterUserPrefs(user_prefs); 2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TemplateURLPrepopulateData::RegisterUserPrefs(user_prefs); 2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TranslatePrefs::RegisterUserPrefs(user_prefs); 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) InstantUI::RegisterUserPrefs(user_prefs); 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) policy::URLBlacklistManager::RegisterPrefs(user_prefs); 2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_WEB_INTENTS) 2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) web_intents::RegisterUserPrefs(user_prefs); 2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RegisterInvertBubbleUserPrefs(user_prefs); 2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(TOOLKIT_GTK) 2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) BrowserWindowGtk::RegisterUserPrefs(user_prefs); 2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID) 2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) geolocation::RegisterUserPrefs(user_prefs); 2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PromoHandler::RegisterUserPrefs(user_prefs); 2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(USE_ASH) 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ash::RegisterChromeLauncherUserPrefs(user_prefs); 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) CaptureVisibleTabFunction::RegisterUserPrefs(user_prefs); 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ChromeToMobileService::RegisterUserPrefs(user_prefs); 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) extensions::CommandService::RegisterUserPrefs(user_prefs); 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ExtensionSettingsHandler::RegisterUserPrefs(user_prefs); 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) RegisterAutolaunchPrefs(user_prefs); 2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DevToolsWindow::RegisterUserPrefs(user_prefs); 2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PepperFlashSettingsManager::RegisterUserPrefs(user_prefs); 2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PinnedTabCodec::RegisterUserPrefs(user_prefs); 2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PluginsUI::RegisterUserPrefs(user_prefs); 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SyncPromoUI::RegisterUserPrefs(user_prefs); 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) printing::StickySettings::RegisterUserPrefs(user_prefs); 2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) 2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) default_apps::RegisterUserPrefs(user_prefs); 2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::Preferences::RegisterUserPrefs(user_prefs); 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) chromeos::ProxyConfigServiceImpl::RegisterPrefs(user_prefs); 2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NetworkProfileBubble::RegisterPrefs(user_prefs); 2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void MigrateBrowserPrefs(Profile* profile, PrefService* local_state) { 3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Copy pref values which have been migrated to user_prefs from local_state, 3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // or remove them from local_state outright, if copying is not required. 3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int current_version = 3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetInteger(prefs::kMultipleProfilePrefMigration); 3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & DNS_PREFS)) { 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterListPref(prefs::kDnsStartupPrefetchList, 3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService::UNSYNCABLE_PREF); 3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDnsStartupPrefetchList); 3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterListPref(prefs::kDnsHostReferralList, 3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService::UNSYNCABLE_PREF); 3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDnsHostReferralList); 3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= DNS_PREFS; 3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService* user_prefs = profile->GetPrefs(); 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & WINDOWS_PREFS)) { 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterIntegerPref(prefs::kDevToolsHSplitLocation, -1); 3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kDevToolsHSplitLocation)) { 3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) user_prefs->SetInteger(prefs::kDevToolsHSplitLocation, 3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetInteger(prefs::kDevToolsHSplitLocation)); 3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDevToolsHSplitLocation); 3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kBrowserWindowPlacement)) { 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PrefService::Preference* pref = 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->FindPreference(prefs::kBrowserWindowPlacement); 3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(pref); 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) user_prefs->Set(prefs::kBrowserWindowPlacement, *(pref->GetValue())); 3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kBrowserWindowPlacement); 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= WINDOWS_PREFS; 3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & GOOGLE_URL_TRACKER_PREFS)) { 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GoogleURLTrackerFactory::GetInstance()->RegisterUserPrefsOnProfile(profile); 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterStringPref(prefs::kLastKnownGoogleURL, 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GoogleURLTracker::kDefaultGoogleHomepage); 3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kLastKnownGoogleURL)) { 3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) user_prefs->SetString(prefs::kLastKnownGoogleURL, 3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetString(prefs::kLastKnownGoogleURL)); 3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kLastKnownGoogleURL); 3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->RegisterStringPref(prefs::kLastPromptedGoogleURL, 3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string()); 3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kLastPromptedGoogleURL)) { 3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) user_prefs->SetString(prefs::kLastPromptedGoogleURL, 3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetString(prefs::kLastPromptedGoogleURL)); 3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kLastPromptedGoogleURL); 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= GOOGLE_URL_TRACKER_PREFS; 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 370