browser_prefs.cc revision 34680572440d7894ef8dafce81d8039ed80726a2
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) 76d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include <string> 86d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/debug/trace_event.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_registry_simple.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_service.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/about_flags.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/accessibility/invert_bubble_prefs.h" 146d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/apps/drive/drive_app_mapping.h" 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "chrome/browser/apps/shortcut_manager.h" 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "chrome/browser/autocomplete/zero_suggest_provider.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/background/background_mode_manager.h" 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/browser_process_impl.h" 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/browser_shutdown.h" 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chrome_content_browser_client.h" 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/component_updater/recovery_component_installer.h" 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/content_settings/host_content_settings_map.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/custom_handlers/protocol_handler_registry.h" 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/devtools/devtools_window.h" 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/download/download_prefs.h" 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/external_protocol/external_protocol_handler.h" 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/first_run/first_run.h" 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/geolocation/geolocation_prefs.h" 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/google/google_url_tracker_factory.h" 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/gpu/gl_string_manager.h" 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/gpu/gpu_mode_manager.h" 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/intranet_redirect_detector.h" 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/io_thread.h" 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/media/media_capture_devices_dispatcher.h" 35a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "chrome/browser/media/media_device_id_salt.h" 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/media/media_stream_devices_controller.h" 37f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/metrics/chrome_metrics_service_client.h" 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/metrics/variations/variations_service.h" 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/net/http_server_properties_manager_factory.h" 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/net_pref_observer.h" 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/net/prediction_options.h" 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/predictor.h" 43ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "chrome/browser/net/pref_proxy_config_tracker_impl.h" 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/net/ssl_config_service_manager.h" 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/notifications/desktop_notification_service.h" 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/notifications/extension_welcome_notification.h" 47a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "chrome/browser/notifications/message_center_notification_manager.h" 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/pepper_flash_settings_manager.h" 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/plugins/plugin_finder.h" 505d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/prefs/chrome_pref_service_factory.h" 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/incognito_mode_prefs.h" 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/prefs/pref_service_syncable.h" 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/prefs/session_startup_pref.h" 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/printing/print_dialog_cloud.h" 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/chrome_version_service.h" 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/profiles/profile.h" 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_impl.h" 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile_info_cache.h" 599ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/profiles/profiles_state.h" 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/renderer_host/pepper/device_id_fetcher.h" 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/search/search.h" 62f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/services/gcm/gcm_profile_service.h" 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/signin/signin_manager_factory.h" 64a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/signin/signin_promo.h" 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/task_manager/task_manager.h" 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/ui/app_list/app_list_service.h" 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_ui_prefs.h" 68a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch#include "chrome/browser/ui/navigation_correction_tab_observer.h" 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/network_profile_bubble.h" 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/prefs/prefs_tab_helper.h" 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/search_engines/keyword_editor_controller.h" 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/startup/autolaunch_prompt.h" 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/ui/startup/default_browser_prompt.h" 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/tabs/pinned_tab_codec.h" 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/flags_ui.h" 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/instant_ui.h" 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/ntp/new_tab_ui.h" 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/plugins_ui.h" 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/webui/print_preview/sticky_settings.h" 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/upgrade_detector.h" 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/web_resource/promo_resource_service.h" 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/pref_names.h" 83eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "components/autofill/core/browser/autofill_manager.h" 84cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "components/bookmarks/browser/bookmark_utils.h" 85116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/dom_distiller/core/distilled_page_prefs.h" 861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "components/gcm_driver/gcm_channel_status_syncer.h" 8746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/google/core/browser/google_pref_names.h" 88f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "components/google/core/browser/google_url_tracker.h" 8946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/network_time/network_time_tracker.h" 90a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/password_manager/core/browser/password_manager.h" 91cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "components/pref_registry/pref_registry_syncable.h" 92a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/rappor/rappor_service.h" 93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/search_engines/template_url_prepopulate_data.h" 9423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#include "components/sync_driver/sync_prefs.h" 955d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/translate/core/browser/translate_prefs.h" 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/render_process_host.h" 97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "net/http/http_server_properties_manager.h" 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 99ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#if defined(ENABLE_AUTOFILL_DIALOG) 100ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "chrome/browser/ui/autofill/autofill_dialog_controller.h" 101ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#endif 102ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 1045d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/policy/core/browser/browser_policy_connector.h" 1055d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/policy/core/browser/url_blacklist_manager.h" 106a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/policy/core/common/policy_statistics_collector.h" 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 10946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#if defined(ENABLE_EXTENSIONS) 11046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "chrome/browser/extensions/activity_log/activity_log.h" 11146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "chrome/browser/extensions/api/commands/command_service.h" 11246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "chrome/browser/extensions/api/tabs/tabs_api.h" 1136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "chrome/browser/extensions/extension_web_ui.h" 11446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "chrome/browser/extensions/launch_util.h" 1155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "chrome/browser/signin/easy_unlock_service.h" 1161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/ui/webui/extensions/extension_settings_handler.h" 1176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "extensions/browser/extension_prefs.h" 11846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif 11946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 12090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 121f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/supervised_user/supervised_user_service.h" 122f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/supervised_user/supervised_user_shared_settings_service.h" 123f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/supervised_user/supervised_user_sync_service.h" 12490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif 12590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 12623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#if defined(ENABLE_SERVICE_DISCOVERY) 12768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include "chrome/browser/ui/webui/local_discovery/local_discovery_ui.h" 12868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#endif 12968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1300f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(ENABLE_PLUGIN_INSTALLATION) 1310f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/plugins/plugins_resource_service.h" 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1340f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(OS_ANDROID) 135f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h" 136f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "chrome/browser/android/new_tab_page_prefs.h" 1370f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#else 1380f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/notifications/sync_notifier/chrome_notifier_service.h" 1391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/browser/profile_resetter/automatic_profile_resetter_factory.h" 1400f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h" 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 14558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)#include "chrome/browser/chromeos/attestation/platform_verification_flow.h" 146c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/audio/audio_devices_pref_handler_impl.h" 1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/customization_document.h" 1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/display/display_preferences.h" 149424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#include "chrome/browser/chromeos/extensions/echo_private_api.h" 15046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "chrome/browser/chromeos/file_system_provider/service.h" 1515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/chromeos/first_run/first_run.h" 152c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/login/default_pinned_apps_field_trial.h" 1535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/chromeos/login/saml/saml_offline_signin_limiter.h" 154116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/chromeos/login/session/user_session_manager.h" 155c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/login/startup_utils.h" 156cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" 157cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h" 1586e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h" 159cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" 160cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 1617dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/chromeos/net/proxy_config_handler.h" 1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/policy/auto_enrollment_client.h" 1635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 1646e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "chrome/browser/chromeos/policy/consumer_management_service.h" 165868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" 1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/policy/device_status_collector.h" 1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/chromeos/policy/policy_cert_service_factory.h" 1689ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#include "chrome/browser/chromeos/power/power_prefs.h" 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/preferences.h" 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/chromeos/settings/device_oauth2_token_service.h" 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/settings/device_settings_cache.h" 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/status/data_promo_notification.h" 1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/chromeos/system/automatic_reboot_manager.h" 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "chrome/browser/extensions/api/enterprise_platform_keys_private/enterprise_platform_keys_private_api.h" 175cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/extensions/extension_assets_manager_chromeos.h" 176cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/metrics/chromeos_metrics_provider.h" 1775d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "chrome/browser/ui/webui/chromeos/charger_replacement_handler.h" 178116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h" 179cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#include "chrome/browser/ui/webui/chromeos/login/hid_detection_screen_handler.h" 180f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/ui/webui/chromeos/login/reset_screen_handler.h" 181a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch#include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 182116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/invalidation/invalidator_storage.h" 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#else 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/default_apps.h" 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1870f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(OS_MACOSX) 1885c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "chrome/browser/ui/cocoa/apps/quit_with_apps_controller_mac.h" 1890f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/ui/cocoa/confirm_quit.h" 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1920f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(OS_WIN) 1930f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/apps/app_launch_for_metro_restart_win.h" 1946d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)#include "chrome/browser/component_updater/sw_reporter_installer_win.h" 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1970f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 1980f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/ui/browser_view_prefs.h" 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2010f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(USE_ASH) 2020f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#include "chrome/browser/ui/ash/chrome_launcher_prefs.h" 2034e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif 2044e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace { 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum MigratedPreferences { 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) NO_PREFS = 0, 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DNS_PREFS = 1 << 0, 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) WINDOWS_PREFS = 1 << 1, 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GOOGLE_URL_TRACKER_PREFS = 1 << 2, 2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// A previous feature (see 2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// chrome/browser/protector/protected_prefs_watcher.cc in source 2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// control history) used this string as a prefix for various prefs it 2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// registered. We keep it here for now to clear out those old prefs in 2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// MigrateUserPrefs. 2192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kBackupPref[] = "backup"; 2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 221bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#if !defined(OS_ANDROID) 222bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// The sync promo error message preference has been removed; this pref will 223bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch// be cleared from user data. 224bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdochconst char kSyncPromoErrorMessage[] = "sync_promo.error_message"; 2255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 2261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// The AutomaticProfileResetter service used this preference to save that the 2271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// profile reset prompt had already been shown, however, the preference has been 2281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// renamed in Local State. We keep the name here for now so that we can clear 2291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// out legacy values. 2305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// TODO(engedy): Remove this and usages in M42 or later. See crbug.com/398813. 2311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucciconst char kLegacyProfileResetPromptMemento[] = "profile.reset_prompt_memento"; 232bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#endif 233bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch 2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace 2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void RegisterLocalState(PrefRegistrySimple* registry) { 2392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Prefs in Local State. 2402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0); 2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Please keep this list alphabetized. 2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) AppListService::RegisterPrefs(registry); 2442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) browser_shutdown::RegisterPrefs(registry); 2452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BrowserProcessImpl::RegisterPrefs(registry); 246f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) ChromeMetricsServiceClient::RegisterPrefs(registry); 2475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chrome_prefs::RegisterPrefs(registry); 2480f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) chrome_variations::VariationsService::RegisterPrefs(registry); 2495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) component_updater::RegisterPrefsForRecoveryComponent(registry); 2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ExternalProtocolHandler::RegisterPrefs(registry); 2512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) FlagsUI::RegisterPrefs(registry); 2522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) geolocation::RegisterPrefs(registry); 2532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GLStringManager::RegisterPrefs(registry); 2542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GpuModeManager::RegisterPrefs(registry); 2552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IntranetRedirectDetector::RegisterPrefs(registry); 2562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) IOThread::RegisterPrefs(registry); 25746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) network_time::NetworkTimeTracker::RegisterPrefs(registry); 2582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefProxyConfigTrackerImpl::RegisterPrefs(registry); 2592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) ProfileInfoCache::RegisterPrefs(registry); 2609ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch profiles::RegisterPrefs(registry); 2612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PromoResourceService::RegisterPrefs(registry); 262a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) rappor::RapporService::RegisterPrefs(registry); 2630f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) RegisterScreenshotPrefs(registry); 2642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SigninManagerFactory::RegisterPrefs(registry); 2652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SSLConfigServiceManager::RegisterPrefs(registry); 2662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) UpgradeDetector::RegisterPrefs(registry); 2672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 2680f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(ENABLE_AUTOFILL_DIALOG) 2690f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) autofill::AutofillDialogController::RegisterPrefs(registry); 2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 2732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::BrowserPolicyConnector::RegisterPrefs(registry); 2742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::PolicyStatisticsCollector::RegisterPrefs(registry); 2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 27734680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles)#if defined(ENABLE_EXTENSIONS) 27834680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) EasyUnlockService::RegisterPrefs(registry); 27934680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles)#endif 28034680572440d7894ef8dafce81d8039ed80726a2Torne (Richard Coles) 2815c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#if defined(ENABLE_NOTIFICATIONS) && !defined(OS_ANDROID) 2825c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu // Android does not use the message center for notifications. 283a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch MessageCenterNotificationManager::RegisterPrefs(registry); 2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2860f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(ENABLE_PLUGINS) 2870f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) PluginFinder::RegisterPrefs(registry); 2880f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#endif 2890f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 2900f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(ENABLE_PLUGIN_INSTALLATION) 2910f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) PluginsResourceService::RegisterPrefs(registry); 2920f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#endif 2930f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_TASK_MANAGER) 2952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) TaskManager::RegisterPrefs(registry); 2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // defined(ENABLE_TASK_MANAGER) 2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) 2991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci AutomaticProfileResetterFactory::RegisterPrefs(registry); 3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) BackgroundModeManager::RegisterPrefs(registry); 3012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterBrowserPrefs(registry); 3021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // The native GCM is used on Android instead. 3031320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci gcm::GCMChannelStatusSyncer::RegisterPrefs(registry); 304d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#if !defined(OS_CHROMEOS) 305c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) RegisterDefaultBrowserPromptPrefs(registry); 306d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#endif // !defined(OS_CHROMEOS) 307d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#endif // !defined(OS_ANDROID) 3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 310cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) ChromeOSMetricsProvider::RegisterPrefs(registry); 311c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::AudioDevicesPrefHandlerImpl::RegisterPrefs(registry); 3125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chromeos::ChargerReplacementHandler::RegisterPrefs(registry); 3136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) chromeos::ChromeUserManagerImpl::RegisterPrefs(registry); 3142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::DataPromoNotification::RegisterPrefs(registry); 315c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::DeviceOAuth2TokenService::RegisterPrefs(registry); 3162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::device_settings_cache::RegisterPrefs(registry); 317c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) chromeos::default_pinned_apps_field_trial::RegisterPrefs(registry); 3182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::language_prefs::RegisterPrefs(registry); 3192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::KioskAppManager::RegisterPrefs(registry); 32068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) chromeos::MultiProfileUserController::RegisterPrefs(registry); 321cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) chromeos::HIDDetectionScreenHandler::RegisterPrefs(registry); 322116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch chromeos::DemoModeDetector::RegisterPrefs(registry); 3232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::Preferences::RegisterPrefs(registry); 324ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch chromeos::proxy_config::RegisterPrefs(registry); 3252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::RegisterDisplayLocalStatePrefs(registry); 326f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) chromeos::ResetScreenHandler::RegisterPrefs(registry); 3272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::ServicesCustomizationDocument::RegisterPrefs(registry); 328a3f7b4e666c476898878fa745f637129375cd889Ben Murdoch chromeos::SigninScreenHandler::RegisterPrefs(registry); 329116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch chromeos::StartupUtils::RegisterPrefs(registry); 3302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::system::AutomaticRebootManager::RegisterPrefs(registry); 3312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::UserImageManager::RegisterPrefs(registry); 332116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch chromeos::UserSessionManager::RegisterPrefs(registry); 3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) chromeos::WallpaperManager::RegisterPrefs(registry); 334424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) chromeos::echo_offer::RegisterPrefs(registry); 335cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) extensions::ExtensionAssetsManagerChromeOS::RegisterPrefs(registry); 336116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch invalidation::InvalidatorStorage::RegisterPrefs(registry); 3372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::AutoEnrollmentClient::RegisterPrefs(registry); 3385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) policy::BrowserPolicyConnectorChromeOS::RegisterPrefs(registry); 3396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) policy::ConsumerManagementService::RegisterPrefs(registry); 340868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) policy::DeviceCloudPolicyManagerChromeOS::RegisterPrefs(registry); 3412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) policy::DeviceStatusCollector::RegisterPrefs(registry); 3425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) policy::PolicyCertServiceFactory::RegisterPrefs(registry); 3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 3462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) confirm_quit::RegisterLocalState(registry); 3475c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu QuitWithAppsController::RegisterPrefs(registry); 3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 3494e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 3504e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#if defined(OS_WIN) 3514e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) app_metro_launch::RegisterPrefs(registry); 3526d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) component_updater::RegisterPrefsForSwReporter(registry); 353c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch password_manager::PasswordManager::RegisterLocalPrefs(registry); 3544e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif 3550f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 3560f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 3575d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) RegisterBrowserViewLocalPrefs(registry); 3580f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#endif 3595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 3605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Preferences registered only for migration (clearing or moving to a new key) 3615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // go here. 3625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#if !defined(OS_ANDROID) 3631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci registry->RegisterDictionaryPref(kLegacyProfileResetPromptMemento); 3645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif // !defined(OS_ANDROID) 3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 3677dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Register prefs applicable to all profiles. 3687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 369868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) TRACE_EVENT0("browser", "chrome::RegisterUserPrefs"); 3702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // User prefs. Please keep this list alphabetized. 3717dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch autofill::AutofillManager::RegisterProfilePrefs(registry); 372116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bookmarks::RegisterProfilePrefs(registry); 37323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) sync_driver::SyncPrefs::RegisterProfilePrefs(registry); 3747dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ChromeContentBrowserClient::RegisterProfilePrefs(registry); 3757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ChromeVersionService::RegisterProfilePrefs(registry); 376116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch chrome_browser_net::HttpServerPropertiesManagerFactory::RegisterProfilePrefs( 3772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry); 3787dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chrome_browser_net::Predictor::RegisterProfilePrefs(registry); 379116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch chrome_browser_net::RegisterPredictionOptionsProfilePrefs(registry); 380a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) chrome_prefs::RegisterProfilePrefs(registry); 381116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch dom_distiller::DistilledPagePrefs::RegisterProfilePrefs(registry); 3827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DownloadPrefs::RegisterProfilePrefs(registry); 383f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) gcm::GCMProfileService::RegisterProfilePrefs(registry); 3847dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch HostContentSettingsMap::RegisterProfilePrefs(registry); 3857dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch IncognitoModePrefs::RegisterProfilePrefs(registry); 3867dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch InstantUI::RegisterProfilePrefs(registry); 387a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch NavigationCorrectionTabObserver::RegisterProfilePrefs(registry); 3887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MediaCaptureDevicesDispatcher::RegisterProfilePrefs(registry); 389a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) MediaDeviceIDSalt::RegisterProfilePrefs(registry); 3907dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MediaStreamDevicesController::RegisterProfilePrefs(registry); 3917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch NetPrefObserver::RegisterProfilePrefs(registry); 392c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch password_manager::PasswordManager::RegisterProfilePrefs(registry); 3937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PrefProxyConfigTrackerImpl::RegisterProfilePrefs(registry); 3947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PrefsTabHelper::RegisterProfilePrefs(registry); 3957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch Profile::RegisterProfilePrefs(registry); 3967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ProfileImpl::RegisterProfilePrefs(registry); 3977dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PromoResourceService::RegisterProfilePrefs(registry); 3987dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch ProtocolHandlerRegistry::RegisterProfilePrefs(registry); 3992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterBrowserUserPrefs(registry); 4007dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch SessionStartupPref::RegisterProfilePrefs(registry); 4017dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch TemplateURLPrepopulateData::RegisterProfilePrefs(registry); 4025f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) translate::TranslatePrefs::RegisterProfilePrefs(registry); 403010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ZeroSuggestProvider::RegisterProfilePrefs(registry); 4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#if defined(ENABLE_AUTOFILL_DIALOG) 406ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch autofill::AutofillDialogController::RegisterProfilePrefs(registry); 407ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#endif 408ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(ENABLE_CONFIGURATION_POLICY) 4107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch policy::URLBlacklistManager::RegisterProfilePrefs(registry); 4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#if defined(ENABLE_EXTENSIONS) 4145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) EasyUnlockService::RegisterProfilePrefs(registry); 41568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) extensions::ActivityLog::RegisterProfilePrefs(registry); 41646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) extensions::launch_util::RegisterProfilePrefs(registry); 41746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) ExtensionWebUI::RegisterProfilePrefs(registry); 41846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) extensions::ExtensionPrefs::RegisterProfilePrefs(registry); 4196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif 42068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 4210f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(ENABLE_FULL_PRINTING) 4220f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) print_dialog_cloud::RegisterProfilePrefs(registry); 4230f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) printing::StickySettings::RegisterProfilePrefs(registry); 4240f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#endif 4250f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 4262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if defined(ENABLE_MANAGED_USERS) 427f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) SupervisedUserService::RegisterProfilePrefs(registry); 428f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) SupervisedUserSharedSettingsService::RegisterProfilePrefs(registry); 429f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) SupervisedUserSyncService::RegisterProfilePrefs(registry); 4302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif 4312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 4320f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(ENABLE_NOTIFICATIONS) 4330f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) DesktopNotificationService::RegisterProfilePrefs(registry); 434c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#endif 435c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 4361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if defined(ENABLE_NOTIFICATIONS) && defined(ENABLE_EXTENSIONS) && \ 4371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci !defined(OS_ANDROID) 4381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // The extension welcome notification requires a build that enables extensions 4391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci // and notifications, and uses the UI message center. 4401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ExtensionWelcomeNotification::RegisterProfilePrefs(registry); 4411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 4421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 44323730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#if defined(ENABLE_SERVICE_DISCOVERY) 44423730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) LocalDiscoveryUI::RegisterProfilePrefs(registry); 44523730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles)#endif 44623730a6e56a168d1879203e4b3819bb36e3d8f1fTorne (Richard Coles) 4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_ANDROID) 4485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chrome_variations::VariationsService::RegisterProfilePrefs(registry); 449f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) NewTabPagePrefs::RegisterProfilePrefs(registry); 4500f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) PartnerBookmarksShim::RegisterProfilePrefs(registry); 4510f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#else 4520f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) AppShortcutManager::RegisterProfilePrefs(registry); 4530f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) autofill::GeneratedCreditCardBubbleController::RegisterUserPrefs(registry); 4547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DeviceIDFetcher::RegisterProfilePrefs(registry); 4557dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch DevToolsWindow::RegisterProfilePrefs(registry); 4566d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles) DriveAppMapping::RegisterProfilePrefs(registry); 4577dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch extensions::CommandService::RegisterProfilePrefs(registry); 458a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) extensions::ExtensionSettingsHandler::RegisterProfilePrefs(registry); 4591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#if !defined(USE_ATHENA) 4603240926e260ce088908e02ac07a6cf7b0c0cbf44Ben Murdoch extensions::TabsCaptureVisibleTabFunction::RegisterProfilePrefs(registry); 4611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#endif 4623240926e260ce088908e02ac07a6cf7b0c0cbf44Ben Murdoch first_run::RegisterProfilePrefs(registry); 4631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci gcm::GCMChannelStatusSyncer::RegisterProfilePrefs(registry); 4645c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu NewTabUI::RegisterProfilePrefs(registry); 4657dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PepperFlashSettingsManager::RegisterProfilePrefs(registry); 4667dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PinnedTabCodec::RegisterProfilePrefs(registry); 4677dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch PluginsUI::RegisterProfilePrefs(registry); 4682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) RegisterAutolaunchUserPrefs(registry); 469a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) signin::RegisterProfilePrefs(registry); 4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS) 4737dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch default_apps::RegisterProfilePrefs(registry); 4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_CHROMEOS) 47758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) chromeos::attestation::PlatformVerificationFlow::RegisterProfilePrefs( 47858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) registry); 4795d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chromeos::first_run::RegisterProfilePrefs(registry); 48046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) chromeos::file_system_provider::RegisterProfilePrefs(registry); 48168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) chromeos::MultiProfileUserController::RegisterProfilePrefs(registry); 4827dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chromeos::Preferences::RegisterProfilePrefs(registry); 4837dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch chromeos::proxy_config::RegisterProfilePrefs(registry); 4845d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chromeos::SAMLOfflineSigninLimiter::RegisterProfilePrefs(registry); 485a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) chromeos::ServicesCustomizationDocument::RegisterProfilePrefs(registry); 48658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) chromeos::UserImageSyncObserver::RegisterProfilePrefs(registry); 487c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) extensions::EnterprisePlatformKeysPrivateChallengeUserKeyFunction:: 4887dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterProfilePrefs(registry); 4897dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch FlagsUI::RegisterProfilePrefs(registry); 4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 4931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci component_updater::RegisterProfilePrefsForSwReporter(registry); 4947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch NetworkProfileBubble::RegisterProfilePrefs(registry); 4957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 4967dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 4970f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 4985d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) RegisterBrowserViewProfilePrefs(registry); 4990f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) RegisterInvertBubbleUserPrefs(registry); 5000f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#endif 5010f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) 5020f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)#if defined(USE_ASH) 5030f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) ash::RegisterChromeLauncherUserPrefs(registry); 5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 5052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5065f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // Preferences registered only for migration (clearing or moving to a new key) 5075f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) // go here. 508c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 509c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) kBackupPref, 5105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) new base::DictionaryValue(), 511c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 512bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#if !defined(OS_ANDROID) 513bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch registry->RegisterStringPref( 514bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch kSyncPromoErrorMessage, 515bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch std::string(), 516bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 517bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#endif 5182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 5192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 5217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterProfilePrefs(registry); 5229ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 5239ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#if defined(OS_CHROMEOS) 5249ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch chromeos::PowerPrefs::RegisterUserProfilePrefs(registry); 5259ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch#endif 5267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 5277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 5285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void RegisterScreenshotPrefs(PrefRegistrySimple* registry) { 5295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) registry->RegisterBooleanPref(prefs::kDisableScreenshots, false); 5305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 5315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 5327dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#if defined(OS_CHROMEOS) 5337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid RegisterLoginProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 5347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch RegisterProfilePrefs(registry); 5359ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch 5369ab5563a3196760eb381d102cbb2bc0f7abc6a50Ben Murdoch chromeos::PowerPrefs::RegisterLoginProfilePrefs(registry); 5377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 5387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#endif 5397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 5402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void MigrateUserPrefs(Profile* profile) { 5412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefService* prefs = profile->GetPrefs(); 5422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 5432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Cleanup prefs from now-removed protector feature. 5442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) prefs->ClearPref(kBackupPref); 5452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 546bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#if !defined(OS_ANDROID) 547bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch // Cleanup now-removed sync promo error message preference. 548bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch // TODO(fdoray): Remove this when it's safe to do so (crbug.com/268442). 549bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch prefs->ClearPref(kSyncPromoErrorMessage); 5506e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // Migrate kNetworkPredictionEnabled to kNetworkPredictionOptions when not on 5516e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // Android. On Android, platform-specific code performs preference migration. 5526e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // TODO(bnc): https://crbug.com/401970 Remove migration code one year after 5536e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // M38. 5546e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) chrome_browser_net::MigrateNetworkPredictionUserPrefs(prefs); 555bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch#endif 556bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch 5572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PromoResourceService::MigrateUserPrefs(prefs); 5585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) translate::TranslatePrefs::MigrateUserPrefs(prefs, prefs::kAcceptLanguages); 5593551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 56046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#if defined(OS_MACOSX) && !defined(OS_IOS) 56146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) autofill::AutofillManager::MigrateUserPrefs(prefs); 56246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // defined(OS_MACOSX) && !defined(OS_IOS) 5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void MigrateBrowserPrefs(Profile* profile, PrefService* local_state) { 5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Copy pref values which have been migrated to user_prefs from local_state, 5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // or remove them from local_state outright, if copying is not required. 5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int current_version = 5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetInteger(prefs::kMultipleProfilePrefMigration); 5702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PrefRegistrySimple* registry = static_cast<PrefRegistrySimple*>( 5712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) local_state->DeprecatedGetPrefRegistry()); 5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & DNS_PREFS)) { 5742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterListPref(prefs::kDnsStartupPrefetchList); 5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDnsStartupPrefetchList); 5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterListPref(prefs::kDnsHostReferralList); 5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kDnsHostReferralList); 5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= DNS_PREFS; 5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService* user_prefs = profile->GetPrefs(); 5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & WINDOWS_PREFS)) { 5872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); 5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kBrowserWindowPlacement)) { 5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PrefService::Preference* pref = 5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->FindPreference(prefs::kBrowserWindowPlacement); 5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK(pref); 5922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs->Set(prefs::kBrowserWindowPlacement, 5932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) *(pref->GetValue())); 5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kBrowserWindowPlacement); 5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= WINDOWS_PREFS; 5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!(current_version & GOOGLE_URL_TRACKER_PREFS)) { 6032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterStringPref(prefs::kLastKnownGoogleURL, 6042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) GoogleURLTracker::kDefaultGoogleHomepage); 6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kLastKnownGoogleURL)) { 6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) user_prefs->SetString(prefs::kLastKnownGoogleURL, 6072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) local_state->GetString(prefs::kLastKnownGoogleURL)); 6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kLastKnownGoogleURL); 6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterStringPref(prefs::kLastPromptedGoogleURL, 6122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string()); 6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (local_state->HasPrefPath(prefs::kLastPromptedGoogleURL)) { 6142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) user_prefs->SetString( 6152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) prefs::kLastPromptedGoogleURL, 6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->GetString(prefs::kLastPromptedGoogleURL)); 6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->ClearPref(prefs::kLastPromptedGoogleURL); 6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version |= GOOGLE_URL_TRACKER_PREFS; 6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) current_version); 6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 6245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 6255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#if !defined(OS_ANDROID) 6261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci local_state->ClearPref(kLegacyProfileResetPromptMemento); 6275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#endif 6285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 6295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#if defined(OS_CHROMEOS) 6305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) chromeos::default_pinned_apps_field_trial::MigratePrefs(local_state); 6315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif 632cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 633cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#if defined(TOOLKIT_VIEWS) 634cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) MigrateBrowserTabStripPrefs(local_state); 635cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)#endif 6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 639