blob: 61febd99e8112e60dbfd3620a066134b0ca81f99 [file] [log] [blame]
[email protected]e41982a72012-11-20 07:16:511// Copyright 2012 The Chromium Authors. All rights reserved.
license.botbf09a502008-08-24 00:55:552// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
initial.commit09911bf2008-07-26 23:55:294
[email protected]37858e52010-08-26 00:22:025#include "chrome/browser/prefs/browser_prefs.h"
initial.commit09911bf2008-07-26 23:55:296
[email protected]c5d4b1842014-06-20 21:19:507#include <string>
8
rkaplow058da3132015-02-19 18:18:389#include "base/metrics/histogram_macros.h"
[email protected]3853a4c2013-02-11 17:15:5710#include "base/prefs/pref_registry_simple.h"
11#include "base/prefs/pref_service.h"
wjmacleane530aa742014-10-14 21:43:3012#include "base/prefs/scoped_user_pref_update.h"
primiano6221e572015-01-28 12:14:3413#include "base/trace_event/trace_event.h"
[email protected]1a47d7e2010-10-15 00:37:2414#include "chrome/browser/about_flags.h"
[email protected]7a25d872012-05-21 19:14:1315#include "chrome/browser/accessibility/invert_bubble_prefs.h"
[email protected]b1de2c72013-02-06 02:45:4716#include "chrome/browser/browser_process_impl.h"
[email protected]c5cf01032009-02-16 07:00:3717#include "chrome/browser/browser_shutdown.h"
[email protected]bca18382012-06-25 19:15:2318#include "chrome/browser/chrome_content_browser_client.h"
[email protected]681958c2013-02-21 13:48:1419#include "chrome/browser/component_updater/recovery_component_installer.h"
bauerb22951c32015-02-12 13:18:1720#include "chrome/browser/component_updater/supervised_user_whitelist_installer.h"
[email protected]a6d36cc2011-02-23 00:39:4821#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
[email protected]70019152012-12-19 11:44:1922#include "chrome/browser/devtools/devtools_window.h"
[email protected]e5dc4222010-08-30 22:16:3223#include "chrome/browser/download/download_prefs.h"
[email protected]ed2b1002011-05-25 14:12:1024#include "chrome/browser/external_protocol/external_protocol_handler.h"
[email protected]1b3588d2012-10-10 21:17:2525#include "chrome/browser/first_run/first_run.h"
[email protected]4e48d772010-02-18 12:11:1426#include "chrome/browser/geolocation/geolocation_prefs.h"
[email protected]681958c2013-02-21 13:48:1427#include "chrome/browser/gpu/gl_string_manager.h"
[email protected]e6933d2a2013-03-12 22:32:2128#include "chrome/browser/gpu/gpu_mode_manager.h"
[email protected]5e9d1f72011-01-19 14:15:2329#include "chrome/browser/intranet_redirect_detector.h"
[email protected]3c319eb2013-02-21 14:44:4530#include "chrome/browser/io_thread.h"
[email protected]89c6eaf2012-11-26 18:52:2731#include "chrome/browser/media/media_capture_devices_dispatcher.h"
[email protected]cd80cce2013-12-02 15:19:1932#include "chrome/browser/media/media_device_id_salt.h"
[email protected]76955932012-12-06 11:01:1033#include "chrome/browser/media/media_stream_devices_controller.h"
[email protected]4a55a712014-06-08 16:50:3434#include "chrome/browser/metrics/chrome_metrics_service_client.h"
[email protected]cf265dc02012-08-15 01:01:1635#include "chrome/browser/metrics/variations/variations_service.h"
[email protected]ad66db12014-07-10 12:43:4736#include "chrome/browser/net/http_server_properties_manager_factory.h"
[email protected]5e9d1f72011-01-19 14:15:2337#include "chrome/browser/net/net_pref_observer.h"
[email protected]ba85a602014-06-28 20:37:1238#include "chrome/browser/net/prediction_options.h"
[email protected]67372ecf2011-09-10 01:30:4639#include "chrome/browser/net/predictor.h"
[email protected]53c5b0f2013-07-22 10:54:1140#include "chrome/browser/net/pref_proxy_config_tracker_impl.h"
[email protected]ffa3e4862011-07-23 04:47:3041#include "chrome/browser/net/ssl_config_service_manager.h"
[email protected]480760a2011-01-18 16:14:4842#include "chrome/browser/notifications/desktop_notification_service.h"
peter70152812014-09-24 19:56:2543#include "chrome/browser/notifications/extension_welcome_notification.h"
[email protected]93b1c4e2014-04-11 00:59:1444#include "chrome/browser/notifications/message_center_notification_manager.h"
[email protected]18a4d63c82012-05-25 23:37:0345#include "chrome/browser/pepper_flash_settings_manager.h"
[email protected]cb166d4e3f2012-11-01 06:36:0846#include "chrome/browser/plugins/plugin_finder.h"
[email protected]24f95242014-02-10 17:55:2847#include "chrome/browser/prefs/chrome_pref_service_factory.h"
[email protected]4e94ab32011-08-05 05:28:2748#include "chrome/browser/prefs/incognito_mode_prefs.h"
[email protected]c753f142013-02-10 13:14:0449#include "chrome/browser/prefs/pref_service_syncable.h"
[email protected]37858e52010-08-26 00:22:0250#include "chrome/browser/prefs/session_startup_pref.h"
[email protected]1bee6ed2012-03-14 06:46:3651#include "chrome/browser/profiles/chrome_version_service.h"
[email protected]ee937fe2013-02-27 00:41:5952#include "chrome/browser/profiles/profile.h"
[email protected]8ecad5e2010-12-02 21:18:3353#include "chrome/browser/profiles/profile_impl.h"
[email protected]dee810e2011-06-27 19:43:3954#include "chrome/browser/profiles/profile_info_cache.h"
[email protected]de71ae992013-07-18 03:30:3855#include "chrome/browser/profiles/profiles_state.h"
b.kelemen4596b512015-03-04 18:42:4756#include "chrome/browser/push_messaging/push_messaging_service_impl.h"
[email protected]bb9c9752013-04-25 23:02:1157#include "chrome/browser/renderer_host/pepper/device_id_fetcher.h"
[email protected]a7b8e43d2013-03-18 18:52:4358#include "chrome/browser/search/search.h"
[email protected]8a120892012-06-08 01:18:5059#include "chrome/browser/signin/signin_manager_factory.h"
[email protected]a5d1e1e2010-09-23 19:34:1260#include "chrome/browser/task_manager/task_manager.h"
oysteine386fc9e2015-06-07 18:45:4161#include "chrome/browser/tracing/chrome_tracing_delegate.h"
calamity5ec7ec72014-10-03 03:57:4662#include "chrome/browser/ui/app_list/app_list_prefs.h"
[email protected]f0ee7912013-02-27 06:02:5563#include "chrome/browser/ui/app_list/app_list_service.h"
[email protected]2cd4fde2012-06-26 03:10:2664#include "chrome/browser/ui/browser_ui_prefs.h"
[email protected]26bd3893c2014-04-15 18:59:5865#include "chrome/browser/ui/navigation_correction_tab_observer.h"
[email protected]297fb7c22012-06-26 12:37:4966#include "chrome/browser/ui/network_profile_bubble.h"
[email protected]9ce7cb42011-12-07 18:53:0767#include "chrome/browser/ui/prefs/prefs_tab_helper.h"
[email protected]62f77772011-02-23 19:45:4268#include "chrome/browser/ui/search_engines/keyword_editor_controller.h"
[email protected]bc4303d32012-05-10 14:58:5569#include "chrome/browser/ui/startup/autolaunch_prompt.h"
[email protected]abaca602013-03-29 01:31:2970#include "chrome/browser/ui/startup/default_browser_prompt.h"
[email protected]b56e2e32012-05-11 21:18:0471#include "chrome/browser/ui/tabs/pinned_tab_codec.h"
[email protected]265a1492011-02-27 05:58:0772#include "chrome/browser/ui/webui/flags_ui.h"
[email protected]213723212012-09-21 22:28:4673#include "chrome/browser/ui/webui/instant_ui.h"
[email protected]7c5c6f3a2011-04-28 19:56:4974#include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
[email protected]265a1492011-02-27 05:58:0775#include "chrome/browser/ui/webui/plugins_ui.h"
[email protected]0209b442012-07-18 00:38:0576#include "chrome/browser/ui/webui/print_preview/sticky_settings.h"
wjmacleane530aa742014-10-14 21:43:3077#include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h"
[email protected]8fcec3c72010-06-03 00:17:2278#include "chrome/browser/upgrade_detector.h"
[email protected]18cc5a52011-04-15 16:03:3879#include "chrome/browser/web_resource/promo_resource_service.h"
[email protected]f87919d72011-02-02 18:46:1680#include "chrome/common/pref_names.h"
[email protected]526a16b2013-06-20 11:44:3381#include "components/autofill/core/browser/autofill_manager.h"
[email protected]a90c8ca2014-05-20 17:16:0482#include "components/bookmarks/browser/bookmark_utils.h"
mukai8eaec822014-10-25 17:53:1683#include "components/content_settings/core/browser/host_content_settings_map.h"
[email protected]6a5b0712014-07-16 00:30:1084#include "components/dom_distiller/core/distilled_page_prefs.h"
noyaudaaac3a2014-10-08 11:11:1185#include "components/enhanced_bookmarks/bookmark_server_cluster_service.h"
jianli2dc910b02014-09-19 02:42:4686#include "components/gcm_driver/gcm_channel_status_syncer.h"
[email protected]d0ab865b2014-06-04 19:41:3487#include "components/network_time/network_time_tracker.h"
blundell2102f7c2015-07-09 10:00:5388#include "components/omnibox/browser/zero_suggest_provider.h"
[email protected]1f730bd2014-02-28 15:11:3289#include "components/password_manager/core/browser/password_manager.h"
[email protected]f0c8c4992014-05-15 17:37:2690#include "components/pref_registry/pref_registry_syncable.h"
[email protected]2a172e42014-02-21 04:06:1091#include "components/rappor/rappor_service.h"
[email protected]0915b352014-06-25 19:58:1492#include "components/search_engines/template_url_prepopulate_data.h"
[email protected]34f54052014-03-20 21:33:4093#include "components/sync_driver/sync_prefs.h"
[email protected]81135072014-02-14 14:11:0294#include "components/translate/core/browser/translate_prefs.h"
[email protected]f3b1a082011-11-18 00:34:3095#include "content/public/browser/render_process_host.h"
[email protected]ad66db12014-07-10 12:43:4796#include "net/http/http_server_properties_manager.h"
[email protected]a814d8632009-01-31 20:18:5297
[email protected]a55c6742013-08-10 07:28:4898#if defined(ENABLE_AUTOFILL_DIALOG)
99#include "chrome/browser/ui/autofill/autofill_dialog_controller.h"
100#endif
101
thestige4155842014-10-20 18:58:02102#if defined(ENABLE_BACKGROUND)
103#include "chrome/browser/background/background_mode_manager.h"
104#endif
105
[email protected]e908adf2012-09-20 16:44:32106#if defined(ENABLE_CONFIGURATION_POLICY)
[email protected]97275822014-01-21 19:30:36107#include "components/policy/core/browser/browser_policy_connector.h"
[email protected]f522afa2014-01-08 15:36:36108#include "components/policy/core/browser/url_blacklist_manager.h"
[email protected]76b4b152013-12-08 21:10:04109#include "components/policy/core/common/policy_statistics_collector.h"
[email protected]e908adf2012-09-20 16:44:32110#endif
111
[email protected]17510602014-06-05 11:02:28112#if defined(ENABLE_EXTENSIONS)
je_julie.kim7fbb5a1a2015-02-09 17:26:05113#include "chrome/browser/accessibility/animation_policy_prefs.h"
thestige4155842014-10-20 18:58:02114#include "chrome/browser/apps/drive/drive_app_mapping.h"
115#include "chrome/browser/apps/shortcut_manager.h"
[email protected]17510602014-06-05 11:02:28116#include "chrome/browser/extensions/activity_log/activity_log.h"
117#include "chrome/browser/extensions/api/commands/command_service.h"
118#include "chrome/browser/extensions/api/tabs/tabs_api.h"
[email protected]d5a74be2014-08-08 01:01:27119#include "chrome/browser/extensions/extension_web_ui.h"
[email protected]17510602014-06-05 11:02:28120#include "chrome/browser/extensions/launch_util.h"
[email protected]deba96a2014-08-03 05:48:54121#include "chrome/browser/signin/easy_unlock_service.h"
thestig428c2ca2014-09-07 06:17:51122#include "chrome/browser/ui/webui/extensions/extension_settings_handler.h"
[email protected]d5a74be2014-08-08 01:01:27123#include "extensions/browser/extension_prefs.h"
ckehoef2e12d02015-01-09 23:32:59124#if !defined(OS_ANDROID) && !defined(OS_IOS)
125#include "chrome/browser/extensions/api/copresence/copresence_api.h"
rdevlin.cronin28582da2015-03-19 17:18:41126#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
[email protected]17510602014-06-05 11:02:28127#endif
ckehoef2e12d02015-01-09 23:32:59128#endif // defined(ENABLE_EXTENSIONS)
[email protected]17510602014-06-05 11:02:28129
bauerb4da36132014-12-26 19:53:13130#if defined(ENABLE_PLUGIN_INSTALLATION)
131#include "chrome/browser/plugins/plugins_resource_service.h"
132#endif
133
treib87bb89cbb2014-12-01 16:01:47134#if defined(ENABLE_SUPERVISED_USERS)
kotenkov8695455122015-04-16 16:40:07135#include "chrome/browser/supervised_user/child_accounts/child_account_service.h"
treibb473df22015-01-08 18:08:26136#include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_service.h"
137#include "chrome/browser/supervised_user/legacy/supervised_user_sync_service.h"
[email protected]cce15bb2014-06-17 13:43:51138#include "chrome/browser/supervised_user/supervised_user_service.h"
bauerb4da36132014-12-26 19:53:13139#include "chrome/browser/supervised_user/supervised_user_whitelist_service.h"
[email protected]a0795592013-05-25 14:19:02140#endif
141
[email protected]2188c8d2014-03-21 00:58:56142#if defined(ENABLE_SERVICE_DISCOVERY)
[email protected]9544e562013-09-21 04:20:55143#include "chrome/browser/ui/webui/local_discovery/local_discovery_ui.h"
144#endif
145
[email protected]ceafc462013-11-04 12:26:03146#if defined(OS_ANDROID)
[email protected]53a946f62013-11-07 19:09:13147#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
148#include "chrome/browser/android/new_tab_page_prefs.h"
[email protected]ceafc462013-11-04 12:26:03149#else
Balazs Engedy9d0221cd2014-09-18 10:40:18150#include "chrome/browser/profile_resetter/automatic_profile_resetter_factory.h"
[email protected]ceafc462013-11-04 12:26:03151#include "chrome/browser/ui/autofill/generated_credit_card_bubble_controller.h"
grtf14398c2015-07-14 15:11:44152#include "chrome/browser/ui/startup/startup_browser_creator.h"
[email protected]fc7611b32009-07-31 21:52:44153#endif
154
thestigc91176f42014-10-28 20:16:35155#if !defined(OS_ANDROID) && !defined(OS_IOS)
156#include "chrome/browser/signin/signin_promo.h"
dbeam72db0762015-05-20 20:37:12157#include "chrome/browser/ui/webui/foreign_session_handler.h"
thestigc91176f42014-10-28 20:16:35158#endif
159
[email protected]9acc48602009-11-30 21:18:51160#if defined(OS_CHROMEOS)
[email protected]1637c192013-02-16 04:00:13161#include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
Satoru Takabayashi876d4e62014-12-03 04:52:24162#include "chrome/browser/chromeos/customization/customization_document.h"
[email protected]