browser_prefs.cc revision ca12bfac764ba476d6cd062bf1dde12cc64c3f40
12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 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) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "apps/prefs.h" 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/debug/trace_event.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_registry_simple.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_service.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/about_flags.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/accessibility/invert_bubble_prefs.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/background/background_mode_manager.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/bookmarks/bookmark_prompt_prefs.h" 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/bookmarks/bookmark_utils.h" 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/browser_process_impl.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/browser_shutdown.h" 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chrome_content_browser_client.h" 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/component_updater/recovery_component_installer.h" 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/content_settings/host_content_settings_map.h" 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/custom_handlers/protocol_handler_registry.h" 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/devtools/devtools_window.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/download/download_prefs.h" 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/api/commands/command_service.h" 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/extensions/api/tabs/tabs_api.h" 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/extension_prefs.h" 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/extension_web_ui.h" 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/external_protocol/external_protocol_handler.h" 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/first_run/first_run.h" 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/geolocation/geolocation_prefs.h" 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/google/google_url_tracker.h" 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/google/google_url_tracker_factory.h" 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/gpu/gl_string_manager.h" 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/gpu/gpu_mode_manager.h" 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/intranet_redirect_detector.h" 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/io_thread.h" 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/media/media_capture_devices_dispatcher.h" 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/media/media_stream_devices_controller.h" 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/metrics_log.h" 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/metrics_service.h" 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/variations/variations_service.h" 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/http_server_properties_manager.h" 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/net_pref_observer.h" 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/predictor.h" 45ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "chrome/browser/net/pref_proxy_config_tracker_impl.h" 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/ssl_config_service_manager.h" 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/notifications/desktop_notification_service.h" 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/notifications/notification_prefs_manager.h" 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/password_manager/password_generation_manager.h" 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/password_manager/password_manager.h" 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/pepper_flash_settings_manager.h" 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/plugins/plugin_finder.h" 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/incognito_mode_prefs.h" 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/prefs/pref_service_syncable.h" 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/session_startup_pref.h" 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/printing/cloud_print/cloud_print_url.h" 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/printing/print_dialog_cloud.h" 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/chrome_version_service.h" 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/profiles/profile.h" 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_impl.h" 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_info_cache.h" 629ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/profiles/profiles_state.h" 63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/renderer_host/pepper/device_id_fetcher.h" 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/renderer_host/web_cache_manager.h" 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/search/search.h" 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/search_engines/template_url_prepopulate_data.h" 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/signin/signin_manager_factory.h" 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/sync/sync_prefs.h" 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/task_manager/task_manager.h" 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/translate/translate_prefs.h" 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/alternate_error_tab_observer.h" 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/app_list/app_list_service.h" 737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/ui/autofill/autofill_credit_card_bubble_controller.h" 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_ui_prefs.h" 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/network_profile_bubble.h" 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/prefs/prefs_tab_helper.h" 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/search_engines/keyword_editor_controller.h" 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/startup/autolaunch_prompt.h" 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/ui/startup/default_browser_prompt.h" 81eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "chrome/browser/ui/sync/sync_promo_ui.h" 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/tabs/pinned_tab_codec.h" 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/extensions/extension_settings_handler.h" 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/flags_ui.h" 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/instant_ui.h" 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/ntp/new_tab_ui.h" 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/plugins_ui.h" 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/print_preview/sticky_settings.h" 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/window_snapshot/window_snapshot.h" 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/upgrade_detector.h" 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/web_resource/promo_resource_service.h" 92b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "chrome/common/metrics/entropy_provider.h" 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/pref_names.h" 94eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "components/autofill/core/browser/autofill_manager.h" 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "components/user_prefs/pref_registry_syncable.h" 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/render_process_host.h" 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/policy/browser_policy_connector.h" 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/policy_statistics_collector.h" 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/policy/url_blacklist_manager.h" 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 10590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/browser/managed_mode/managed_user_registration_service.h" 10690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "chrome/browser/managed_mode/managed_user_service.h" 10790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif 10890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/cocoa/confirm_quit.h" 1117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/ui/cocoa/extensions/browser_actions_controller_prefs.h" 1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_view_prefs.h" 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/tabs/tab_strip_layout_type_prefs.h" 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_GTK) 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/gtk/browser_window_gtk.h" 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 125c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h" 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/audio/audio_handler.h" 127c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/audio/audio_pref_handler_impl.h" 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/customization_document.h" 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/display/display_preferences.h" 130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/login/default_pinned_apps_field_trial.h" 1312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/login/login_utils.h" 1322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/login/oauth2_login_manager.h" 133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/login/startup_utils.h" 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/user_image_manager.h" 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/user_manager.h" 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/wallpaper_manager.h" 1377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/chromeos/net/proxy_config_handler.h" 1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/policy/auto_enrollment_client.h" 139868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/policy/device_status_collector.h" 1419ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/chromeos/power/power_prefs.h" 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/preferences.h" 143c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/settings/device_oauth2_token_service.h" 1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/settings/device_settings_cache.h" 1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/status/data_promo_notification.h" 1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/system/automatic_reboot_manager.h" 147c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api.h" 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/default_apps.h" 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(USE_ASH) 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/ash/chrome_launcher_prefs.h" 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID) 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/ntp/android/promo_handler.h" 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_PLUGIN_INSTALLATION) 1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/plugins/plugins_resource_service.h" 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace { 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum MigratedPreferences { 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NO_PREFS = 0, 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DNS_PREFS = 1 << 0, 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WINDOWS_PREFS = 1 << 1, 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GOOGLE_URL_TRACKER_PREFS = 1 << 2, 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// A previous feature (see 1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// chrome/browser/protector/protected_prefs_watcher.cc in source 1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// control history) used this string as a prefix for various prefs it 1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// registered. We keep it here for now to clear out those old prefs in 1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// MigrateUserPrefs. 1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kBackupPref[] = "backup"; 1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1809ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch// Chrome To Mobile has been removed; this pref will be cleared from user data. 1819ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdochconst char kChromeToMobilePref[] = "chrome_to_mobile.device_list"; 1829ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void RegisterLocalState(PrefRegistrySimple* registry) { 1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Prefs in Local State. 1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0); 1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Please keep this list alphabetized. 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) AppListService::RegisterPrefs(registry); 1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) apps::RegisterPrefs(registry); 1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) browser_shutdown::RegisterPrefs(registry); 1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BrowserProcessImpl::RegisterPrefs(registry); 196c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) RegisterScreenshotPrefs(registry); 1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ExternalProtocolHandler::RegisterPrefs(registry); 1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) FlagsUI::RegisterPrefs(registry); 1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) geolocation::RegisterPrefs(registry); 2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GLStringManager::RegisterPrefs(registry); 2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GpuModeManager::RegisterPrefs(registry); 2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IntranetRedirectDetector::RegisterPrefs(registry); 2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IOThread::RegisterPrefs(registry); 2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) KeywordEditorController::RegisterPrefs(registry); 2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MetricsLog::RegisterPrefs(registry); 2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) MetricsService::RegisterPrefs(registry); 207b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) metrics::CachingPermutedEntropyProvider::RegisterPrefs(registry); 2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefProxyConfigTrackerImpl::RegisterPrefs(registry); 2092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ProfileInfoCache::RegisterPrefs(registry); 2109ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch profiles::RegisterPrefs(registry); 2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PromoResourceService::RegisterPrefs(registry); 2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterPrefsForRecoveryComponent(registry); 2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SigninManagerFactory::RegisterPrefs(registry); 2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SSLConfigServiceManager::RegisterPrefs(registry); 2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UpgradeDetector::RegisterPrefs(registry); 2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) WebCacheManager::RegisterPrefs(registry); 217c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chrome_variations::VariationsService::RegisterPrefs(registry); 2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_PLUGINS) 2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PluginFinder::RegisterPrefs(registry); 2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_PLUGIN_INSTALLATION) 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PluginsResourceService::RegisterPrefs(registry); 2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 2282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::BrowserPolicyConnector::RegisterPrefs(registry); 2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::PolicyStatisticsCollector::RegisterPrefs(registry); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_NOTIFICATIONS) 2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) NotificationPrefsManager::RegisterPrefs(registry); 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_TASK_MANAGER) 2372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TaskManager::RegisterPrefs(registry); 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // defined(ENABLE_TASK_MANAGER) 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterBrowserViewPrefs(registry); 2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterTabStripLayoutTypePrefs(registry); 2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) 2462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BackgroundModeManager::RegisterPrefs(registry); 2472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterBrowserPrefs(registry); 248c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) RegisterDefaultBrowserPromptPrefs(registry); 2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 252c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::AudioDevicesPrefHandlerImpl::RegisterPrefs(registry); 253c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::AudioPrefHandlerImpl::RegisterPrefs(registry); 2542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::DataPromoNotification::RegisterPrefs(registry); 255c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::DeviceOAuth2TokenService::RegisterPrefs(registry); 2562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::device_settings_cache::RegisterPrefs(registry); 257c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::default_pinned_apps_field_trial::RegisterPrefs(registry); 2582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::language_prefs::RegisterPrefs(registry); 2592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::KioskAppManager::RegisterPrefs(registry); 2602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::LoginUtils::RegisterPrefs(registry); 2612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::Preferences::RegisterPrefs(registry); 262ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch chromeos::proxy_config::RegisterPrefs(registry); 2632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::RegisterDisplayLocalStatePrefs(registry); 2642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::ServicesCustomizationDocument::RegisterPrefs(registry); 2652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::system::AutomaticRebootManager::RegisterPrefs(registry); 2662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::UserImageManager::RegisterPrefs(registry); 2672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::UserManager::RegisterPrefs(registry); 2682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::WallpaperManager::RegisterPrefs(registry); 269c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::StartupUtils::RegisterPrefs(registry); 2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::AutoEnrollmentClient::RegisterPrefs(registry); 271868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) policy::DeviceCloudPolicyManagerChromeOS::RegisterPrefs(registry); 2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::DeviceStatusCollector::RegisterPrefs(registry); 2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 2762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) confirm_quit::RegisterLocalState(registry); 2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2807dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Register prefs applicable to all profiles. 2817dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 282868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) TRACE_EVENT0("browser", "chrome::RegisterUserPrefs"); 2832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // User prefs. Please keep this list alphabetized. 2847dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch AlternateErrorPageTabObserver::RegisterProfilePrefs(registry); 2857dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch apps::RegisterProfilePrefs(registry); 2867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch autofill::AutofillCreditCardBubbleController::RegisterUserPrefs(registry); 2877dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch autofill::AutofillDialogControllerImpl::RegisterProfilePrefs(registry); 2887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch autofill::AutofillManager::RegisterProfilePrefs(registry); 2897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch BookmarkPromptPrefs::RegisterProfilePrefs(registry); 2907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch bookmark_utils::RegisterProfilePrefs(registry); 2917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch browser_sync::SyncPrefs::RegisterProfilePrefs(registry); 2927dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ChromeContentBrowserClient::RegisterProfilePrefs(registry); 2937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ChromeVersionService::RegisterProfilePrefs(registry); 2947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chrome_browser_net::HttpServerPropertiesManager::RegisterProfilePrefs( 2952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry); 2967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chrome_browser_net::Predictor::RegisterProfilePrefs(registry); 2977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DownloadPrefs::RegisterProfilePrefs(registry); 2987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch extensions::ExtensionPrefs::RegisterProfilePrefs(registry); 2997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ExtensionWebUI::RegisterProfilePrefs(registry); 3007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch first_run::RegisterProfilePrefs(registry); 3017dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch HostContentSettingsMap::RegisterProfilePrefs(registry); 3027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch IncognitoModePrefs::RegisterProfilePrefs(registry); 3037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch InstantUI::RegisterProfilePrefs(registry); 3047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MediaCaptureDevicesDispatcher::RegisterProfilePrefs(registry); 3057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MediaStreamDevicesController::RegisterProfilePrefs(registry); 3067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch NetPrefObserver::RegisterProfilePrefs(registry); 3077dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch NewTabUI::RegisterProfilePrefs(registry); 3087dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PasswordGenerationManager::RegisterProfilePrefs(registry); 3097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PasswordManager::RegisterProfilePrefs(registry); 3107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PrefProxyConfigTrackerImpl::RegisterProfilePrefs(registry); 3117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PrefsTabHelper::RegisterProfilePrefs(registry); 3127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch Profile::RegisterProfilePrefs(registry); 3137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ProfileImpl::RegisterProfilePrefs(registry); 3147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PromoResourceService::RegisterProfilePrefs(registry); 3157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ProtocolHandlerRegistry::RegisterProfilePrefs(registry); 3162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterBrowserUserPrefs(registry); 3177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch SessionStartupPref::RegisterProfilePrefs(registry); 3187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch TemplateURLPrepopulateData::RegisterProfilePrefs(registry); 3197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch TranslatePrefs::RegisterProfilePrefs(registry); 3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 3227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch policy::URLBlacklistManager::RegisterProfilePrefs(registry); 3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 3267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ManagedUserService::RegisterProfilePrefs(registry); 3277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ManagedUserRegistrationService::RegisterProfilePrefs(registry); 3282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 3292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_NOTIFICATIONS) 3317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DesktopNotificationService::RegisterProfilePrefs(registry); 3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 3352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterInvertBubbleUserPrefs(registry); 3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#elif defined(TOOLKIT_GTK) 3377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch BrowserWindowGtk::RegisterProfilePrefs(registry); 3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID) 3417dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PromoHandler::RegisterProfilePrefs(registry); 3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(USE_ASH) 3452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ash::RegisterChromeLauncherUserPrefs(registry); 3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) 3497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch extensions::TabsCaptureVisibleTabFunction::RegisterProfilePrefs(registry); 3507dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DeviceIDFetcher::RegisterProfilePrefs(registry); 3517dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DevToolsWindow::RegisterProfilePrefs(registry); 3527dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch extensions::CommandService::RegisterProfilePrefs(registry); 3537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ExtensionSettingsHandler::RegisterProfilePrefs(registry); 3547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PepperFlashSettingsManager::RegisterProfilePrefs(registry); 3557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PinnedTabCodec::RegisterProfilePrefs(registry); 3567dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PluginsUI::RegisterProfilePrefs(registry); 3577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch CloudPrintURL::RegisterProfilePrefs(registry); 3587dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch print_dialog_cloud::RegisterProfilePrefs(registry); 3597dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch printing::StickySettings::RegisterProfilePrefs(registry); 3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterAutolaunchUserPrefs(registry); 3617dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch SyncPromoUI::RegisterProfilePrefs(registry); 3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) 3657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch default_apps::RegisterProfilePrefs(registry); 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 3697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chromeos::OAuth2LoginManager::RegisterProfilePrefs(registry); 3707dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chromeos::Preferences::RegisterProfilePrefs(registry); 3717dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chromeos::proxy_config::RegisterProfilePrefs(registry); 372c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) extensions::EnterprisePlatformKeysPrivateChallengeUserKeyFunction:: 3737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterProfilePrefs(registry); 3747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch FlagsUI::RegisterProfilePrefs(registry); 3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 3787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch NetworkProfileBubble::RegisterProfilePrefs(registry); 3797dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 3807dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 3817dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if defined(OS_MACOSX) 3827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterBrowserActionsControllerProfilePrefs(registry); 3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Prefs registered only for migration (clearing or moving to a new 3862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // key) go here. 387c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 388c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) kBackupPref, 389c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) new DictionaryValue(), 390c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 3919ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch registry->RegisterListPref( 3929ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch kChromeToMobilePref, 3939ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 3942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 3952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 3977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterProfilePrefs(registry); 3989ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 3999ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#if defined(OS_CHROMEOS) 4009ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch chromeos::PowerPrefs::RegisterUserProfilePrefs(registry); 4019ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#endif 4027dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 4037dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 4047dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if defined(OS_CHROMEOS) 4057dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid RegisterLoginProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 4067dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterProfilePrefs(registry); 4079ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 4089ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch chromeos::PowerPrefs::RegisterLoginProfilePrefs(registry); 4097dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 4107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 4117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 4122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void MigrateUserPrefs(Profile* profile) { 4132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefService* prefs = profile->GetPrefs(); 4142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Cleanup prefs from now-removed protector feature. 4162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) prefs->ClearPref(kBackupPref); 4172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4189ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch // Cleanup prefs from now-removed Chrome To Mobile feature. 4199ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch prefs->ClearPref(kChromeToMobilePref); 4209ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 4212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefsTabHelper::MigrateUserPrefs(prefs); 4222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PromoResourceService::MigrateUserPrefs(prefs); 4232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TranslatePrefs::MigrateUserPrefs(prefs); 4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void MigrateBrowserPrefs(Profile* profile, PrefService* local_state) { 4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Copy pref values which have been migrated to user_prefs from local_state, 4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // or remove them from local_state outright, if copying is not required. 4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int current_version = 4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetInteger(prefs::kMultipleProfilePrefMigration); 4312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefRegistrySimple* registry = static_cast<PrefRegistrySimple*>( 4322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) local_state->DeprecatedGetPrefRegistry()); 4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & DNS_PREFS)) { 4352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterListPref(prefs::kDnsStartupPrefetchList); 4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDnsStartupPrefetchList); 4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterListPref(prefs::kDnsHostReferralList); 4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDnsHostReferralList); 4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= DNS_PREFS; 4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService* user_prefs = profile->GetPrefs(); 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & WINDOWS_PREFS)) { 4482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kDevToolsHSplitLocation, -1); 4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kDevToolsHSplitLocation)) { 4502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs->SetInteger( 4512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) prefs::kDevToolsHSplitLocation, 4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetInteger(prefs::kDevToolsHSplitLocation)); 4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDevToolsHSplitLocation); 4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); 4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kBrowserWindowPlacement)) { 4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PrefService::Preference* pref = 4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->FindPreference(prefs::kBrowserWindowPlacement); 4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(pref); 4612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs->Set(prefs::kBrowserWindowPlacement, 4622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *(pref->GetValue())); 4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kBrowserWindowPlacement); 4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= WINDOWS_PREFS; 4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & GOOGLE_URL_TRACKER_PREFS)) { 47290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) GoogleURLTrackerFactory::GetInstance()->RegisterUserPrefsOnBrowserContext( 47390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) profile); 4742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterStringPref(prefs::kLastKnownGoogleURL, 4752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GoogleURLTracker::kDefaultGoogleHomepage); 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kLastKnownGoogleURL)) { 4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) user_prefs->SetString(prefs::kLastKnownGoogleURL, 4782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) local_state->GetString(prefs::kLastKnownGoogleURL)); 4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kLastKnownGoogleURL); 4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterStringPref(prefs::kLastPromptedGoogleURL, 4832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string()); 4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kLastPromptedGoogleURL)) { 4852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs->SetString( 4862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) prefs::kLastPromptedGoogleURL, 4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetString(prefs::kLastPromptedGoogleURL)); 4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kLastPromptedGoogleURL); 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= GOOGLE_URL_TRACKER_PREFS; 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 498