blob: 6f85927b5aebfea68b36aadfa8e4588310ecc362 [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2012 The Chromium Authors
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
David Blackdf74125d22024-02-12 19:00:057#include <array>
Arthur Sonzognife132ee2024-01-15 11:01:048#include <optional>
[email protected]c5d4b1842014-06-20 21:19:509#include <string>
John Palmer1e70a002023-08-15 02:20:3410#include <string_view>
[email protected]c5d4b1842014-06-20 21:19:5011
Artsiom Mitrokhincf332e22023-03-07 16:27:4712#include "base/time/time.h"
primiano6221e572015-01-28 12:14:3413#include "base/trace_event/trace_event.h"
Nico Webereaa08412019-08-14 01:24:3714#include "build/branding_buildflags.h"
avib896c712015-12-26 02:10:4315#include "build/build_config.h"
Maksim Sisovb2e86e272021-09-28 05:24:4916#include "build/chromecast_buildflags.h"
[email protected]1a47d7e2010-10-15 00:37:2417#include "chrome/browser/about_flags.h"
Dominic Mazzoni21fb0282019-02-13 18:32:4718#include "chrome/browser/accessibility/accessibility_labels_service.h"
[email protected]7a25d872012-05-21 19:14:1319#include "chrome/browser/accessibility/invert_bubble_prefs.h"
Sam Davis Omekara (from Dev Box)c767f0292024-07-16 18:57:0820#include "chrome/browser/accessibility/page_colors.h"
Evelynn Kaplan840e1c0e2024-02-01 00:47:2721#include "chrome/browser/accessibility/prefers_default_scrollbar_styles_prefs.h"
[email protected]b1de2c72013-02-06 02:45:4722#include "chrome/browser/browser_process_impl.h"
[email protected]bca18382012-06-25 19:15:2323#include "chrome/browser/chrome_content_browser_client.h"
sorinebcfc8dd2016-08-12 21:57:1824#include "chrome/browser/component_updater/component_updater_prefs.h"
[email protected]70019152012-12-19 11:44:1925#include "chrome/browser/devtools/devtools_window.h"
[email protected]e5dc4222010-08-30 22:16:3226#include "chrome/browser/download/download_prefs.h"
dmurph93fa43b2017-02-07 23:45:1627#include "chrome/browser/engagement/important_sites_util.h"
Og Astorga3089fd82021-09-21 00:02:3728#include "chrome/browser/enterprise/reporting/prefs.h"
Dominique Fauteux-Chapleau0e897db02021-04-19 18:42:2229#include "chrome/browser/enterprise/util/managed_browser_utils.h"
[email protected]ed2b1002011-05-25 14:12:1030#include "chrome/browser/external_protocol/external_protocol_handler.h"
[email protected]1b3588d2012-10-10 21:17:2531#include "chrome/browser/first_run/first_run.h"
[email protected]e6933d2a2013-03-12 22:32:2132#include "chrome/browser/gpu/gpu_mode_manager.h"
Avi Drissmand30927342018-05-22 15:04:2733#include "chrome/browser/lifetime/browser_shutdown.h"
rajendrantff2361da2020-12-16 09:18:2734#include "chrome/browser/login_detection/login_detection_prefs.h"
Becca Hughes6354b6b2017-08-31 22:01:5535#include "chrome/browser/media/media_engagement_service.h"
John Rummelle5621c12017-09-05 23:52:1036#include "chrome/browser/media/media_storage_id_salt.h"
Bryant Chandlerd638fb02023-11-03 23:40:1737#include "chrome/browser/media/prefs/capture_device_ranking.h"
George Benz13da3df02022-01-14 00:03:5238#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
Derek Cheng23a01402018-07-24 13:38:1439#include "chrome/browser/media/router/media_router_feature.h"
Simon Hangl2d73e742023-06-16 16:52:4740#include "chrome/browser/media/webrtc/capture_policy_utils.h"
mcasasa2023ab2016-09-08 01:06:3641#include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h"
Evan Stade32d635a2020-04-03 18:51:2542#include "chrome/browser/media/webrtc/permission_bubble_media_access_handler.h"
Sebastien Marchand5a63997a2019-09-27 19:15:3443#include "chrome/browser/memory/enterprise_memory_limit_pref_observer.h"
[email protected]4a55a712014-06-08 16:50:3444#include "chrome/browser/metrics/chrome_metrics_service_client.h"
Eric Secklera5c24e12018-11-28 16:09:2045#include "chrome/browser/net/net_error_tab_helper.h"
Matt Menkecfef87d2017-08-03 13:03:0646#include "chrome/browser/net/profile_network_context_service.h"
Ben Schwartz135746c2020-05-14 04:37:0347#include "chrome/browser/net/secure_dns_util.h"
Matt Menke4dfb375c2018-06-13 18:06:3148#include "chrome/browser/net/system_network_context_manager.h"
Tom Anderson1ef51d032020-02-11 01:05:0849#include "chrome/browser/notifications/notification_display_service_impl.h"
peterc4007912015-07-31 21:13:3750#include "chrome/browser/notifications/notifier_state_tracker.h"
Sharon Yangc6706902018-07-16 13:06:1951#include "chrome/browser/notifications/platform_notification_service_impl.h"
Balazs Engedy715b0ec2019-12-04 15:11:4552#include "chrome/browser/permissions/quiet_notification_permission_ui_state.h"
[email protected]24f95242014-02-10 17:55:2853#include "chrome/browser/prefs/chrome_pref_service_factory.h"
[email protected]4e94ab32011-08-05 05:28:2754#include "chrome/browser/prefs/incognito_mode_prefs.h"
[email protected]37858e52010-08-26 00:22:0255#include "chrome/browser/prefs/session_startup_pref.h"
Max Curran14dd7872023-03-20 19:57:3656#include "chrome/browser/preloading/prefetch/prefetch_service/prefetch_origin_decider.h"
Sreeja Kamishettyb8e18ae2022-07-22 03:12:4357#include "chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_service.h"
Hiroki Nakagawa0977bd02023-09-08 15:33:1158#include "chrome/browser/preloading/preloading_prefs.h"
Nikita Podguzov26222d12019-12-04 11:44:3159#include "chrome/browser/printing/print_preview_sticky_settings.h"
[email protected]1bee6ed2012-03-14 06:46:3660#include "chrome/browser/profiles/chrome_version_service.h"
Thomas Tanglc67ace42019-06-07 19:31:5061#include "chrome/browser/profiles/profile_attributes_entry.h"
Alex Ilinbb08a0d2021-07-08 09:37:2462#include "chrome/browser/profiles/profile_attributes_storage.h"
[email protected]8ecad5e2010-12-02 21:18:3363#include "chrome/browser/profiles/profile_impl.h"
[email protected]de71ae992013-07-18 03:30:3864#include "chrome/browser/profiles/profiles_state.h"
johnmecf2da0c2015-10-28 19:42:1265#include "chrome/browser/push_messaging/push_messaging_app_identifier.h"
Illia Klimov4b72378ed2022-07-18 13:46:5766#include "chrome/browser/push_messaging/push_messaging_service_impl.h"
gab3ca4a492017-03-02 00:19:4167#include "chrome/browser/rlz/chrome_rlz_tracker_delegate.h"
[email protected]a7b8e43d2013-03-18 18:52:4368#include "chrome/browser/search/search.h"
Garfield Tan6aba0032025-02-14 02:07:3569#include "chrome/browser/serial/serial_policy_allowed_ports.h"
Kristi Parkd0f72412021-07-02 01:09:0370#include "chrome/browser/sharing_hub/sharing_hub_features.h"
Ryan Sleevi4689ad32018-04-16 19:09:0571#include "chrome/browser/ssl/ssl_config_service_manager.h"
oysteine386fc9e2015-06-07 18:45:4172#include "chrome/browser/tracing/chrome_tracing_delegate.h"
[email protected]2cd4fde2012-06-26 03:10:2673#include "chrome/browser/ui/browser_ui_prefs.h"
Florian Jackya33ad152023-11-22 11:46:0474#include "chrome/browser/ui/hats/hats_service_desktop.h"
[email protected]297fb7c22012-06-26 12:37:4975#include "chrome/browser/ui/network_profile_bubble.h"
stluongd2d020f82024-06-08 00:01:3176#include "chrome/browser/ui/performance_controls/performance_controls_metrics.h"
[email protected]9ce7cb42011-12-07 18:53:0777#include "chrome/browser/ui/prefs/prefs_tab_helper.h"
Rubin Deliallisicab8416d2024-06-28 14:08:0778#include "chrome/browser/ui/safety_hub/safety_hub_prefs.h"
[email protected]62f77772011-02-23 19:45:4279#include "chrome/browser/ui/search_engines/keyword_editor_controller.h"
Victor Hugo Vianna Silva3452787c2022-07-28 23:25:3080#include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_bubble.h"
dljames77eab0a2024-01-19 23:08:2581#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
Livvie Lin9141d0f132020-03-23 22:47:0482#include "chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.h"
dljames4b665b22023-09-21 19:35:0883#include "chrome/browser/ui/toolbar/toolbar_pref_names.h"
rbpottera58d7c52024-01-26 17:36:3184#include "chrome/browser/ui/webui/accessibility/accessibility_ui.h"
Emily Shack670f745c2023-03-03 19:47:3085#include "chrome/browser/ui/webui/bookmarks/bookmark_prefs.h"
dpapad2be5b61c62020-12-08 11:58:4986#include "chrome/browser/ui/webui/flags/flags_ui.h"
[email protected]7c5c6f3a2011-04-28 19:56:4987#include "chrome/browser/ui/webui/ntp/new_tab_ui.h"
Jayee07bb468c2023-06-01 18:25:3188#include "chrome/browser/ui/webui/policy/policy_ui.h"
Nicolas Ouellet-Payeur4dbdf1e52018-08-06 21:51:0289#include "chrome/browser/ui/webui/print_preview/policy_settings.h"
Xing Liu7252b8d2020-01-22 22:12:4790#include "chrome/browser/updates/announcement_notification/announcement_notification_service.h"
Dana Fried154c57f2024-10-23 17:21:5891#include "chrome/browser/user_education/browser_user_education_storage_service.h"
Martin Kreichgauer0e1b15ef2018-06-20 02:59:5092#include "chrome/browser/webauthn/chrome_authenticator_request_delegate.h"
Martin Kreichgauerd7aa4f92022-02-22 20:46:2193#include "chrome/browser/webauthn/webauthn_pref_names.h"
Scott Violet6200d332018-02-23 21:29:2394#include "chrome/common/buildflags.h"
[email protected]f87919d72011-02-02 18:46:1695#include "chrome/common/pref_names.h"
Ayu Ishiifbb1fad2020-06-22 20:15:0796#include "chrome/common/secure_origin_allowlist.h"
Moe Ahmadi173b0a2b2018-08-03 17:35:5197#include "components/autofill/core/common/autofill_prefs.h"
Clark DuVall8236b6a82020-05-28 22:54:3298#include "components/blocked_content/safe_browsing_triggered_popup_blocker.h"
Jesse McKenna0d767592023-11-03 19:31:5299#include "components/breadcrumbs/core/breadcrumbs_status.h"
ioanapa8bfbc72016-09-07 16:09:05100#include "components/browsing_data/core/pref_names.h"
Doug Turner9e79cf0c2018-04-05 21:32:30101#include "components/certificate_transparency/pref_names.h"
Matt Jones704e1a62022-09-20 16:28:24102#include "components/commerce/core/pref_names.h"
mukai8eaec822014-10-25 17:53:16103#include "components/content_settings/core/browser/host_content_settings_map.h"
Andrew Williams0e136592023-08-09 15:13:34104#include "components/content_settings/core/common/pref_names.h"
Javier Fernández García-Boente7966a892021-12-09 12:28:23105#include "components/custom_handlers/protocol_handler_registry.h"
[email protected]6a5b0712014-07-16 00:30:10106#include "components/dom_distiller/core/distilled_page_prefs.h"
Alex Chen9e56f7352023-01-20 22:56:15107#include "components/domain_reliability/domain_reliability_prefs.h"
Mugdha Lakhanida851fd2021-03-16 18:21:02108#include "components/embedder_support/origin_trials/origin_trial_prefs.h"
hmaree31cadf52022-11-09 22:32:55109#include "components/enterprise/browser/identifiers/identifiers_prefs.h"
Dominique Fauteux-Chapleaub6be8ae2023-09-26 13:48:40110#include "components/enterprise/buildflags/buildflags.h"
Nancy Xiao47dca0b82024-08-02 18:19:03111#include "components/enterprise/connectors/core/connectors_prefs.h"
Patricia Alfonso56617c02024-06-27 15:50:35112#include "components/fingerprinting_protection_filter/common/fingerprinting_protection_filter_constants.h"
Adam Abeshouse810b6972024-10-15 16:31:52113#include "components/fingerprinting_protection_filter/common/prefs.h"
Moe Ahmadi656dd532021-10-06 21:59:18114#include "components/history_clusters/core/history_clusters_prefs.h"
Brandon Wyliec7a94502018-10-18 18:43:25115#include "components/image_fetcher/core/cache/image_cache.h"
Anthony Vallee-Dubois43fded9702020-06-19 16:30:38116#include "components/invalidation/impl/fcm_invalidation_service.h"
Tanja Gornak5c8b5d952018-10-12 14:39:54117#include "components/invalidation/impl/invalidator_registrar_with_memory.h"
Marc Treib8c29f0c2019-12-19 12:48:07118#include "components/invalidation/impl/per_user_topic_subscription_manager.h"
Anthony Vallee-Dubois6f993122018-09-17 16:13:28119#include "components/language/content/browser/geo_language_provider.h"
Alexandre Frechette38f4ef92019-02-25 16:31:57120#include "components/language/content/browser/ulp_language_code_locator/ulp_language_code_locator.h"
Alexandre Frechette572755b2019-02-13 22:30:20121#include "components/language/core/browser/language_prefs.h"
Duncan Mercer8062eef2022-12-28 22:28:37122#include "components/lens/buildflags.h"
Joe DeBlasio59db500b2020-08-21 00:37:35123#include "components/lookalikes/core/lookalike_url_util.h"
Guido Urdaneta9f831c22023-06-22 13:44:34124#include "components/media_device_salt/media_device_id_salt.h"
Mikel Astizf4226912020-10-19 19:10:37125#include "components/metrics/demographics/user_demographics.h"
Peter Wen45025ea2018-09-17 15:16:27126#include "components/metrics/metrics_pref_names.h"
[email protected]d0ab865b2014-06-04 19:41:34127#include "components/network_time/network_time_tracker.h"
treibbb0c5af52016-12-09 17:34:15128#include "components/ntp_tiles/most_visited_sites.h"
Scott Violet9ae82892018-03-01 18:38:12129#include "components/offline_pages/buildflags/buildflags.h"
Travis Skare27cee15c2018-07-19 14:34:13130#include "components/omnibox/browser/document_provider.h"
Moe Ahmadi1266de82020-04-10 17:19:53131#include "components/omnibox/browser/omnibox_prefs.h"
blundell2102f7c2015-07-09 10:00:53132#include "components/omnibox/browser/zero_suggest_provider.h"
rajendrant19e545e2023-12-04 16:51:37133#include "components/optimization_guide/core/model_execution/model_execution_prefs.h"
Sophie Changf2da5f02021-01-07 19:38:47134#include "components/optimization_guide/core/optimization_guide_prefs.h"
Georg Neiscbce7dab2025-02-18 01:11:55135#include "components/page_info/core/merchant_trust_service.h"
[email protected]1f730bd2014-02-28 15:11:32136#include "components/password_manager/core/browser/password_manager.h"
anthonyvd6a43b932017-05-11 18:39:27137#include "components/payments/core/payment_prefs.h"
Anthony Vallee-Duboiscee55b12022-03-24 22:54:02138#include "components/performance_manager/public/user_tuning/prefs.h"
Florian Jackya33ad152023-11-22 11:46:04139#include "components/permissions/permission_hats_trigger_helper.h"
Aisulu Rakhmetullinaac4afcb62023-07-05 18:10:04140#include "components/permissions/pref_names.h"
Georg Neiscbce7dab2025-02-18 01:11:55141#include "components/plus_addresses/plus_address_prefs.h"
brettw03e61962016-03-15 06:27:04142#include "components/policy/core/browser/browser_policy_connector.h"
Aaron Colwellb4226222020-07-25 16:11:36143#include "components/policy/core/browser/url_blocklist_manager.h"
Jayeeb93166c2023-07-17 14:04:49144#include "components/policy/core/common/local_test_policy_provider.h"
Yann Dago9c1e19512022-02-28 22:27:31145#include "components/policy/core/common/management/management_service.h"
David Bienvenu554a259c2020-02-13 20:20:54146#include "components/policy/core/common/policy_pref_names.h"
brettw03e61962016-03-15 06:27:04147#include "components/policy/core/common/policy_statistics_collector.h"
[email protected]f0c8c4992014-05-15 17:37:26148#include "components/pref_registry/pref_registry_syncable.h"
Martin Šrámek5921f6312020-03-25 09:31:47149#include "components/prefs/pref_registry.h"
brettwb1fc1b82016-02-02 00:19:08150#include "components/prefs/pref_registry_simple.h"
151#include "components/prefs/pref_service.h"
Christine Ying25c576ac2025-03-12 15:28:40152#include "components/privacy_sandbox/privacy_sandbox_notice_storage.h"
Sean Harrison4685ab72020-12-08 18:26:22153#include "components/privacy_sandbox/privacy_sandbox_prefs.h"
Georg Neiscbce7dab2025-02-18 01:11:55154#include "components/privacy_sandbox/tpcd_pref_names.h"
abhishek.a2171c612852015-08-31 10:48:19155#include "components/proxy_config/pref_proxy_config_tracker_impl.h"
Byungwoo Lee1a5599e2025-02-06 04:26:31156#include "components/safe_browsing/buildflags.h"
Ali Jumafb3dc1f2020-01-07 17:33:47157#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
Shakti Sahu4118f402024-10-02 16:42:53158#include "components/saved_tab_groups/public/pref_names.h"
Jack Yamminefdf648b2024-09-06 09:18:06159#include "components/search_engines/search_engine_choice/search_engine_choice_service.h"
[email protected]0915b352014-06-25 19:58:14160#include "components/search_engines/template_url_prepopulate_data.h"
Carlos IL06e6c8c2020-07-28 00:25:19161#include "components/security_interstitials/content/insecure_form_blocking_page.h"
Colin Blundell7657b402020-02-25 09:46:50162#include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
Anastasia Helfinstein33187fd2023-01-27 03:06:07163#include "components/segmentation_platform/embedder/default_model/device_switcher_result_dispatcher.h"
Shakti Sahu93bfba22021-06-17 18:05:21164#include "components/segmentation_platform/public/segmentation_platform_service.h"
Georg Neiscbce7dab2025-02-18 01:11:55165#include "components/services/on_device_translation/buildflags/buildflags.h"
Mikel Astizf61f4ba02018-06-01 10:50:19166#include "components/sessions/core/session_id_generator.h"
Georg Neiscbce7dab2025-02-18 01:11:55167#include "components/sharing_message/sharing_sync_preference.h"
168#include "components/signin/core/browser/active_primary_accounts_metrics_recorder.h"
David Roger877bdc72022-10-19 09:38:51169#include "components/signin/public/base/signin_pref_names.h"
Ryan Sultanem7d45ddf2024-04-29 16:36:03170#include "components/signin/public/base/signin_prefs.h"
Henrique Ferreiro94eb46f2019-07-03 14:38:56171#include "components/signin/public/identity_manager/identity_manager.h"
Evan Stade89158192021-01-27 18:45:23172#include "components/site_engagement/content/site_engagement_service.h"
Zainab Rizvid53336d2024-04-03 03:25:42173#include "components/subresource_filter/content/shared/browser/ruleset_service.h"
Tanushree Bishtab717502024-08-01 16:13:04174#include "components/subresource_filter/core/common/constants.h"
[email protected]6189ab72023-11-06 15:55:08175#include "components/supervised_user/core/browser/supervised_user_preferences.h"
Tomasz Jurkiewicz6ddfaf62025-03-24 21:08:22176#include "components/supervised_user/core/common/pref_names.h"
Mikel Astizd848587f2023-10-02 09:28:03177#include "components/sync/base/pref_names.h"
Mikel Astiz91c345c2023-05-16 14:18:56178#include "components/sync/service/glue/sync_transport_data_prefs.h"
Marc Treibd6c8540e2023-07-04 19:18:49179#include "components/sync/service/sync_prefs.h"
Jeffrey Cohen053be24d2019-07-23 23:44:05180#include "components/sync_device_info/device_info_prefs.h"
maxbogueea16ff412016-10-28 16:35:29181#include "components/sync_preferences/pref_service_syncable.h"
Mikel Astiz0889b2be2018-09-25 16:20:41182#include "components/sync_sessions/session_sync_prefs.h"
Jonathan Njeunje87096882024-04-22 16:17:31183#include "components/tpcd/metadata/browser/prefs.h"
Oksana Zhuravlova58c85282022-06-14 20:24:28184#include "components/tracing/common/pref_names.h"
[email protected]81135072014-02-14 14:11:02185#include "components/translate/core/browser/translate_prefs.h"
wafflesd2d9a332016-04-09 01:59:57186#include "components/update_client/update_client.h"
blundell0300cdea2015-09-03 12:47:44187#include "components/variations/service/variations_service.h"
rbpotter7a628502025-01-23 18:17:56188#include "components/webui/chrome_urls/pref_names.h"
rbpotter422d5eb2025-02-05 16:42:48189#include "components/webui/flags/pref_service_flags_storage.h"
[email protected]f3b1a082011-11-18 00:34:30190#include "content/public/browser/render_process_host.h"
Scott Violetc8240b02018-03-08 22:03:59191#include "extensions/buildflags/buildflags.h"
[email protected]ad66db12014-07-10 12:43:47192#include "net/http/http_server_properties_manager.h"
Andy Phan99ccfb42022-11-29 18:57:07193#include "pdf/buildflags.h"
Scott Violet02e38b92018-03-27 23:42:14194#include "ppapi/buildflags/buildflags.h"
Scott Violet318a55f2018-03-30 19:08:19195#include "printing/buildflags/buildflags.h"
Scott Violeta5f7ba12018-04-02 22:03:40196#include "rlz/buildflags/buildflags.h"
[email protected]a814d8632009-01-31 20:18:52197
Denis Kuznetsov32099f32017-12-15 14:04:57198#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
Steven Luong53ba13e2025-02-26 17:19:22199#include "chrome/browser/background/extensions/background_mode_manager.h"
thestige4155842014-10-20 18:58:02200#endif
201
Devlin Croninb9e28e72024-08-30 18:39:00202#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
James Cook031b29dd2025-01-23 12:54:42203#include "chrome/browser/extensions/extension_web_ui.h"
James Cook3cbc8ec22025-02-03 20:41:49204#include "chrome/browser/ui/webui/extensions/extensions_ui_prefs.h"
James Cookbbe845fb2024-10-22 22:17:47205#include "extensions/browser/api/runtime/runtime_api.h"
Devlin Croninb9e28e72024-08-30 18:39:00206#include "extensions/browser/extension_prefs.h"
207#include "extensions/browser/permissions_manager.h"
208#include "extensions/browser/pref_names.h"
209#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
210
brettw00899e62016-11-12 02:10:17211#if BUILDFLAG(ENABLE_EXTENSIONS)
je_julie.kim7fbb5a1a2015-02-09 17:26:05212#include "chrome/browser/accessibility/animation_policy_prefs.h"
Dominick Ng6ff51052018-07-06 05:30:20213#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
[email protected]17510602014-06-05 11:02:28214#include "chrome/browser/extensions/activity_log/activity_log.h"
[email protected]17510602014-06-05 11:02:28215#include "chrome/browser/extensions/api/tabs/tabs_api.h"
David Bertonid7a8bdc32024-08-19 19:06:01216#include "chrome/browser/extensions/commands/command_service.h"
Daniel Murphy3657906d2021-04-13 20:33:12217#include "chrome/browser/extensions/preinstalled_apps.h"
Devlin Cronina997c8e2021-03-18 00:33:18218#include "chrome/browser/ui/extensions/settings_api_bubble_helpers.h"
Devlin Cronin71f0f532018-04-26 16:35:06219#include "chrome/browser/ui/webui/extensions/extensions_ui.h"
tbarzicfa3c7ef62017-04-17 23:12:02220#include "extensions/browser/api/audio/audio_api.h"
Georg Neiscbce7dab2025-02-18 01:11:55221#if BUILDFLAG(IS_CHROMEOS)
Henrique Ferreiro7967dce2021-09-23 11:37:47222#include "chrome/browser/ash/device_name/device_name_store.h"
Henrique Ferreirod67f0472022-11-05 00:40:09223#include "chrome/browser/ash/extensions/extensions_permissions_tracker.h"
Yeunjoo Choi5e8463292021-04-28 01:19:42224#include "chrome/browser/ash/kerberos/kerberos_credentials_manager.h"
Henrique Ferreirod57c4962021-09-29 07:26:59225#include "chrome/browser/ash/net/system_proxy_manager.h"
Yichen0047059e2024-10-03 01:48:20226#include "chrome/browser/ash/performance/doze_mode_power_status_scheduler.h"
Henrique Ferreiro4ebaaa32021-10-13 16:59:35227#include "chrome/browser/ash/platform_keys/key_permissions/key_permissions_manager_impl.h"
Anatoliy Potapchuka460bc12021-11-05 19:23:10228#include "chrome/browser/ash/policy/networking/euicc_status_uploader.h"
Jeroen Dhollander148ee302023-12-08 11:22:22229#include "chrome/browser/ash/policy/remote_commands/crd/crd_admin_session_controller.h"
Danila Kuzmin90a42f02021-12-08 14:00:16230#include "chrome/browser/ash/settings/hardware_data_usage_controller.h"
Yeunjoo Choi5097e9c2021-02-25 08:46:52231#include "chrome/browser/ash/settings/stats_reporting_controller.h"
John Palmerd5ac9f9e2024-06-21 08:05:20232#include "chrome/browser/ash/system_web_apps/apps/media_app/media_app_guest_ui_config.h"
Xiaochu Liu48ab5932018-05-11 03:44:04233#include "chrome/browser/component_updater/metadata_table_chromeos.h"
yilkal95d9f882021-10-18 21:59:00234#include "chrome/browser/ui/ash/projector/projector_app_client_impl.h"
Yeunjoo Choi38cea422022-10-18 06:19:17235#include "chrome/browser/ui/webui/ash/edu_coexistence/edu_coexistence_login_handler.h"
Yeunjoo Choiebbdaa62022-10-20 01:05:31236#include "chrome/browser/ui/webui/signin/ash/inline_login_handler_impl.h"
Michal Mazur55ab4f52023-10-19 11:18:00237#include "chromeos/ash/components/carrier_lock/carrier_lock_manager.h"
Georg Neiscbce7dab2025-02-18 01:11:55238#endif // BUILDFLAG(IS_CHROMEOS)
brettw00899e62016-11-12 02:10:17239#endif // BUILDFLAG(ENABLE_EXTENSIONS)
[email protected]17510602014-06-05 11:02:28240
Andy Phan99ccfb42022-11-29 18:57:07241#if BUILDFLAG(ENABLE_PDF)
242#include "chrome/browser/pdf/pdf_pref_names.h"
243#endif // BUILDFLAG(ENABLE_PDF)
244
Xiaohan Wangae7f9182022-01-16 00:37:52245#if BUILDFLAG(IS_ANDROID)
Amanda Lin Dietz8864d302023-06-26 18:36:39246#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
zpengdb4a58e2017-01-10 17:40:32247#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
Kenichi Ishibashi35ac7132017-12-08 03:44:30248#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
mlliuee3a405c2016-10-28 22:34:52249#include "chrome/browser/android/preferences/browser_prefs_android.h"
Jan Keitel98b2cc42022-09-20 05:38:39250#include "chrome/browser/android/preferences/shared_preferences_migrator_android.h"
Patrick Noland87d9f842019-01-16 03:52:02251#include "chrome/browser/android/usage_stats/usage_stats_bridge.h"
Sky Maliced8eb4302020-08-03 05:46:44252#include "chrome/browser/first_run/android/first_run_prefs.h"
Yu Su4d459862021-04-15 04:19:54253#include "chrome/browser/lens/android/lens_prefs.h"
John Rummell4703af62019-02-15 02:31:00254#include "chrome/browser/media/android/cdm/media_drm_origin_id_manager.h"
Lei Zhangdb0c0872022-03-04 04:26:59255#include "chrome/browser/notifications/notification_channels_provider_android.h"
Brandon Wylie4ebfc432024-12-13 19:28:21256#include "chrome/browser/partnerbookmarks/partner_bookmarks_shim.h"
Victor Hugo Vianna Silva6cc84402023-12-06 15:21:57257#include "chrome/browser/password_manager/android/password_manager_android_util.h"
Ian Wells5d248f012023-11-07 17:30:02258#include "chrome/browser/readaloud/android/prefs.h"
Christopher Thompson2602fea2019-11-26 19:36:54259#include "chrome/browser/ssl/known_interception_disclosure_infobar_delegate.h"
Glen Robertson8a825ae4f2020-09-16 06:50:08260#include "components/cdm/browser/media_drm_storage_impl.h" // nogncheck crbug.com/1125897
Erik Chen16419622024-07-30 21:59:58261#include "components/feed/core/common/pref_names.h" // nogncheck
262#include "components/feed/core/shared_prefs/pref_names.h" // nogncheck
263#include "components/feed/core/v2/ios_shared_prefs.h" // nogncheck
zpengdb4a58e2017-01-10 17:40:32264#include "components/ntp_tiles/popular_sites_impl.h"
Clark DuVall600abea2020-03-23 16:16:17265#include "components/permissions/contexts/geolocation_permission_context_android.h"
Ella Gec7c64062023-05-02 17:16:14266#include "components/webapps/browser/android/install_prompt_prefs.h"
Xiaohan Wangae7f9182022-01-16 00:37:52267#else // BUILDFLAG(IS_ANDROID)
Anqing Zhao9595e482021-06-10 11:33:55268#include "chrome/browser/device_api/device_service_impl.h"
peter9f4490a2017-01-27 00:58:36269#include "chrome/browser/gcm/gcm_product_util.h"
Matt Reynolds1914ff6b2022-02-04 08:48:26270#include "chrome/browser/hid/hid_policy_allowed_devices.h"
Tommy Lid5b7c22b2020-10-28 01:26:51271#include "chrome/browser/intranet_redirect_detector.h"
Lei Zhang6cb9b842019-12-16 20:29:12272#include "chrome/browser/media/unified_autoplay_config.h"
Sebastien Marchande9f7b992021-02-10 03:11:08273#include "chrome/browser/metrics/tab_stats/tab_stats_tracker.h"
Josh Nohle13ea6b432020-07-21 20:46:59274#include "chrome/browser/nearby_sharing/common/nearby_share_prefs.h"
Riley Tatum1af2f442024-04-08 18:55:34275#include "chrome/browser/new_tab_page/modules/file_suggestion/drive_service.h"
Jennifer Serranod1ceee92025-01-23 20:16:52276#include "chrome/browser/new_tab_page/modules/file_suggestion/microsoft_files_page_handler.h"
Rohit Bhatia22e544f2021-10-05 15:32:26277#include "chrome/browser/new_tab_page/modules/safe_browsing/safe_browsing_handler.h"
Paul Adedeji74b66a42024-12-10 19:33:19278#include "chrome/browser/new_tab_page/modules/v2/authentication/microsoft_auth_page_handler.h"
Riley Tatum8a8d2902024-05-14 16:24:16279#include "chrome/browser/new_tab_page/modules/v2/calendar/google_calendar_page_handler.h"
Jennifer Serrano66bd3912025-01-03 01:00:15280#include "chrome/browser/new_tab_page/modules/v2/calendar/outlook_calendar_page_handler.h"
Marlon Facey70b4b352024-06-12 22:59:34281#include "chrome/browser/new_tab_page/modules/v2/most_relevant_tab_resumption/most_relevant_tab_resumption_page_handler.h"
Tibor Goldschwendt53a0eab2021-07-29 10:40:25282#include "chrome/browser/new_tab_page/promos/promo_service.h"
Yann Dago44d6cc322022-07-13 17:46:25283#include "chrome/browser/policy/developer_tools_policy_handler.h"
Nicolas MacBeth32d6457c2024-12-04 14:48:49284#include "chrome/browser/promos/promos_utils.h" // nogncheck crbug.com/1125897
Erik Chen4ee66d62024-08-05 20:47:38285#include "chrome/browser/screen_ai/pref_names.h"
Tibor Goldschwendtf3a3ce92021-08-17 00:42:16286#include "chrome/browser/search/background/ntp_custom_background_service.h"
Boris Sazonovc7c3b8b02024-01-05 11:08:01287#include "chrome/browser/search_engine_choice/search_engine_choice_dialog_service.h"
thestigc91176f42014-10-28 20:16:35288#include "chrome/browser/signin/signin_promo.h"
Maksim Sisov1d3f5eb22024-10-22 06:37:44289#include "chrome/browser/task_manager/task_manager_interface.h"
Ankush Singh100ad112024-08-20 10:23:01290#include "chrome/browser/themes/theme_syncable_service.h"
Matt Jones43bca672023-11-22 15:19:27291#include "chrome/browser/ui/commerce/commerce_ui_tab_helper.h"
zpengdb4a58e2017-01-10 17:40:32292#include "chrome/browser/ui/startup/startup_browser_creator.h"
Maksim Sisov1d3f5eb22024-10-22 06:37:44293#include "chrome/browser/ui/tabs/organization/prefs.h"
294#include "chrome/browser/ui/tabs/pinned_tab_codec.h"
295#include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_pref_names.h"
296#include "chrome/browser/ui/tabs/tab_strip_prefs.h"
297#include "chrome/browser/ui/views/side_panel/side_panel_prefs.h"
Carlos IL8a966d52024-11-19 00:05:18298#include "chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.h"
Roman Arorabc876bf2023-08-03 15:25:21299#include "chrome/browser/ui/webui/cr_components/theme_color_picker/theme_color_picker_handler.h"
rbpotterbe128632019-11-22 04:50:42300#include "chrome/browser/ui/webui/history/foreign_session_handler.h"
Tibor Goldschwendt53ca78b2020-10-07 19:56:18301#include "chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h"
Tibor Goldschwendtbbdbe8f2021-05-20 19:27:39302#include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
John Lee136759f02019-04-15 20:19:11303#include "chrome/browser/ui/webui/settings/settings_ui.h"
Mark Schillaciba4a7322022-06-29 15:08:35304#include "chrome/browser/ui/webui/side_panel/read_anything/read_anything_prefs.h"
Roman Aroracd8462c2021-08-03 01:20:33305#include "chrome/browser/ui/webui/tab_search/tab_search_prefs.h"
Greg Thompson8bcd799b2018-08-10 09:49:33306#include "chrome/browser/upgrade_detector/upgrade_detector.h"
Peter Kvitek6567a8a3a2023-01-31 01:03:57307#include "components/headless/policy/headless_mode_prefs.h"
Radu Nitescue47d5712024-07-12 10:29:02308#include "components/lens/lens_overlay_permission_utils.h"
Abigail Klein153fa7a2021-08-26 19:50:50309#include "components/live_caption/live_caption_controller.h"
evliuc5b5a722022-10-28 00:05:49310#include "components/live_caption/live_translate_controller.h"
Lei Zhang6cb9b842019-12-16 20:29:12311#include "components/ntp_tiles/custom_links_manager_impl.h"
Xiaohan Wangae7f9182022-01-16 00:37:52312#endif // BUILDFLAG(IS_ANDROID)
thestigc91176f42014-10-28 20:16:35313
Mickey Burksd1ae50f2024-06-21 15:08:50314#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
315#include "chrome/browser/ui/webui/whats_new/whats_new_ui.h"
316#endif
317
Xiaohan Wangae7f9182022-01-16 00:37:52318#if BUILDFLAG(IS_CHROMEOS)
Lei Zhangb6c9fbcb62025-03-26 13:17:17319#include "ash/constants/ash_constants.h"
Henrique Ferreirof9d1cb22021-07-13 01:32:47320#include "ash/constants/ash_pref_names.h"
Xiyuan Xia5a8c4172019-05-13 16:23:48321#include "ash/public/cpp/ash_prefs.h"
Elitsa Bankova984491f2023-10-06 07:40:11322#include "chrome/browser/apps/app_discovery_service/almanac_fetcher.h"
Jeevan Shikarama73dec1a2022-09-08 05:51:52323#include "chrome/browser/apps/app_preload_service/app_preload_service.h"
Nancy Wang811fe4f92021-10-08 12:28:13324#include "chrome/browser/apps/app_service/metrics/app_platform_metrics_service.h"
Tim Sergeant1231dcc2021-05-10 14:00:57325#include "chrome/browser/apps/app_service/webapk/webapk_prefs.h"
Anastasiia N0582a902021-12-08 17:44:59326#include "chrome/browser/ash/account_manager/account_apps_availability.h"
Pranav Batra468fbe622021-06-23 01:42:36327#include "chrome/browser/ash/account_manager/account_manager_edu_coexistence_controller.h"
Yeunjoo Choife4364d2022-12-14 10:41:37328#include "chrome/browser/ash/app_list/app_list_syncable_service.h"
Yeunjoo Choi366e3462022-12-06 08:58:53329#include "chrome/browser/ash/app_list/arc/arc_app_list_prefs.h"
Edman Anjosa0162f362024-08-06 13:49:51330#include "chrome/browser/ash/app_mode/kiosk_controller.h"
Sammie Quon21285822021-09-20 19:48:34331#include "chrome/browser/ash/app_restore/full_restore_prefs.h"
Yeunjoo Choidf64fe692021-03-08 05:32:34332#include "chrome/browser/ash/apps/apk_web_app_service.h"
Hidehiko Abe89f9b5c92023-09-19 04:37:11333#include "chrome/browser/ash/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.h"
Henrique Ferreiro2ef82302021-03-24 12:12:25334#include "chrome/browser/ash/arc/policy/arc_policy_bridge.h"
Henrique Ferreiro717d3022021-03-24 15:43:56335#include "chrome/browser/ash/arc/session/arc_session_manager.h"
Yeunjoo Choi2c5e78c2021-04-01 10:51:52336#include "chrome/browser/ash/bluetooth/debug_logs_manager.h"
Theo Johnson-Kanudc9f96272023-01-12 05:11:39337#include "chrome/browser/ash/bluetooth/hats_bluetooth_revamp_trigger_impl.h"
Pranav Batra468fbe622021-06-23 01:42:36338#include "chrome/browser/ash/borealis/borealis_prefs.h"
Fergus Dall54a6a432022-11-18 17:35:29339#include "chrome/browser/ash/bruschetta/bruschetta_pref_names.h"
Yeunjoo Choiebf07312021-03-24 01:48:51340#include "chrome/browser/ash/cert_provisioning/cert_provisioning_common.h"
Yeunjoo Choi8a355962021-04-13 01:22:27341#include "chrome/browser/ash/child_accounts/family_user_chrome_activity_metrics.h"
342#include "chrome/browser/ash/child_accounts/family_user_metrics_service.h"
343#include "chrome/browser/ash/child_accounts/family_user_session_metrics.h"
Yeunjoo Choi52e1c572021-04-08 07:56:27344#include "chrome/browser/ash/child_accounts/parent_access_code/parent_access_service.h"
Yeunjoo Choi8a355962021-04-13 01:22:27345#include "chrome/browser/ash/child_accounts/screen_time_controller.h"
Yeunjoo Choi882388a2021-04-12 05:17:29346#include "chrome/browser/ash/child_accounts/time_limits/app_activity_registry.h"
347#include "chrome/browser/ash/child_accounts/time_limits/app_time_controller.h"
Yeunjoo Choiaba21c02021-05-07 09:06:34348#include "chrome/browser/ash/crostini/crostini_pref_names.h"
Henrique Ferreiro2029590e2021-09-23 08:01:52349#include "chrome/browser/ash/cryptauth/client_app_metadata_provider_service.h"
350#include "chrome/browser/ash/cryptauth/cryptauth_device_id_provider_impl.h"
Yeunjoo Choi91907642021-04-16 13:18:19351#include "chrome/browser/ash/customization/customization_document.h"
Nigel Taoa1d4dce2022-10-18 00:01:20352#include "chrome/browser/ash/file_manager/file_manager_pref_names.h"
Andrew Rayskiy47076d72022-09-27 18:46:14353#include "chrome/browser/ash/file_manager/file_tasks.h"
Yeunjoo Choi627505b7b2021-05-13 15:56:31354#include "chrome/browser/ash/file_system_provider/registry.h"
Yeunjoo Choi55626172021-07-27 03:17:27355#include "chrome/browser/ash/first_run/first_run.h"
Geng Li11526bb42022-02-15 23:59:14356#include "chrome/browser/ash/floating_workspace/floating_workspace_util.h"
Joel Hockeyfcc56a292022-06-17 02:28:00357#include "chrome/browser/ash/guest_os/guest_id.h"
Yeunjoo Choi0a9c1d42021-03-31 01:38:56358#include "chrome/browser/ash/guest_os/guest_os_pref_names.h"
David Munro86435df2022-07-25 01:27:45359#include "chrome/browser/ash/guest_os/guest_os_terminal.h"
Henrique Ferreiroe55c0d5f2021-02-25 02:16:05360#include "chrome/browser/ash/login/quick_unlock/fingerprint_storage.h"
361#include "chrome/browser/ash/login/quick_unlock/pin_storage_prefs.h"
362#include "chrome/browser/ash/login/quick_unlock/quick_unlock_utils.h"
Ahmed Nasrbe0670b72022-03-09 23:28:17363#include "chrome/browser/ash/login/reporting/login_logout_reporter.h"
Henrique Ferreiro96143e5a2021-02-25 12:52:36364#include "chrome/browser/ash/login/saml/saml_profile_prefs.h"
Henrique Ferreiro1786d45a2021-02-25 22:48:19365#include "chrome/browser/ash/login/screens/enable_adb_sideloading_screen.h"
Henrique Ferreiro81312ab2021-02-25 23:14:03366#include "chrome/browser/ash/login/screens/reset_screen.h"
Henrique Ferreiro995b1db2021-03-06 00:41:41367#include "chrome/browser/ash/login/security_token_session_controller.h"
Hidehiko Abe13bceaf92024-04-08 17:53:13368#include "chrome/browser/ash/login/session/chrome_session_manager.h"
Henrique Ferreiroad3c6a572021-03-02 12:43:51369#include "chrome/browser/ash/login/session/user_session_manager.h"
Henrique Ferreiroa264c8c02021-07-20 08:31:47370#include "chrome/browser/ash/login/signin/signin_error_notifier.h"
Kush Sinha31d120b72023-09-04 12:21:54371#include "chrome/browser/ash/login/signin/token_handle_fetcher.h"
Henrique Ferreiro995b1db2021-03-06 00:41:41372#include "chrome/browser/ash/login/startup_utils.h"
Jeffrey Young2e3b8f32024-05-10 15:50:13373#include "chrome/browser/ash/login/users/avatar/user_image_manager_impl.h"
Aiden Chiavatti112d3672023-03-17 21:13:41374#include "chrome/browser/ash/login/users/avatar/user_image_prefs.h"
Henrique Ferreiro2dc9e1c2021-03-04 17:33:58375#include "chrome/browser/ash/login/users/avatar/user_image_sync_observer.h"
Andreea Costinasc33add32023-07-13 16:57:13376#include "chrome/browser/ash/net/ash_proxy_monitor.h"
Henrique Ferreirod57c4962021-09-29 07:26:59377#include "chrome/browser/ash/net/network_throttling_observer.h"
Georg Neiscbce7dab2025-02-18 01:11:55378#include "chrome/browser/ash/net/secure_dns_manager.h"
Yeunjoo Choic5b3bf492021-03-15 13:57:19379#include "chrome/browser/ash/plugin_vm/plugin_vm_pref_names.h"
Yeunjoo Choi7227dba2021-08-04 06:35:47380#include "chrome/browser/ash/policy/core/browser_policy_connector_ash.h"
Yeunjoo Choiead8b3c2021-07-27 08:08:19381#include "chrome/browser/ash/policy/core/device_cloud_policy_manager_ash.h"
Yeunjoo Choia60b6212021-07-06 11:25:12382#include "chrome/browser/ash/policy/enrollment/enrollment_requisition_manager.h"
Roland Bockcb6af522025-03-04 16:18:11383#include "chrome/browser/ash/policy/enrollment/enrollment_state_fetcher.h"
Yeunjoo Choia60b6212021-07-06 11:25:12384#include "chrome/browser/ash/policy/external_data/handlers/device_wallpaper_image_external_data_handler.h"
Yeunjoo Choi5d6eb012021-07-09 03:03:05385#include "chrome/browser/ash/policy/handlers/adb_sideloading_allowance_mode_policy_handler.h"
386#include "chrome/browser/ash/policy/handlers/minimum_version_policy_handler.h"
Henrique Ferreiro11492caf2021-11-02 22:16:16387#include "chrome/browser/ash/policy/handlers/tpm_auto_update_mode_policy_handler.h"
Yeunjoo Choiad73a322021-07-20 04:55:49388#include "chrome/browser/ash/policy/reporting/app_install_event_log_manager_wrapper.h"
389#include "chrome/browser/ash/policy/reporting/arc_app_install_event_logger.h"
Vignesh Shenvi145bf6e2023-05-08 22:11:30390#include "chrome/browser/ash/policy/reporting/metrics_reporting/metric_reporting_prefs.h"
Sanja Perisic91217932022-04-13 13:45:02391#include "chrome/browser/ash/policy/scheduled_task_handler/reboot_notifications_scheduler.h"
Yeunjoo Choid33fdb62021-07-21 06:57:42392#include "chrome/browser/ash/policy/status_collector/device_status_collector.h"
393#include "chrome/browser/ash/policy/status_collector/status_collector.h"
Yeunjoo Choi0bab0cf2021-05-31 05:14:03394#include "chrome/browser/ash/power/auto_screen_brightness/metrics_reporter.h"
Yeunjoo Choi7629a77a12021-06-02 06:37:18395#include "chrome/browser/ash/power/power_metrics_reporter.h"
Georg Neise2f3e2e2024-08-09 08:25:17396#include "chrome/browser/ash/preferences/preferences.h"
Pranav Batra9c0eb782022-02-01 23:13:33397#include "chrome/browser/ash/printing/cups_printers_manager.h"
Sparik Hayrapetyan0b361692024-05-06 21:44:20398#include "chrome/browser/ash/printing/enterprise/enterprise_printers_provider.h"
Yeunjoo Choi0fb01cf62021-04-21 01:30:15399#include "chrome/browser/ash/release_notes/release_notes_storage.h"
Pranav Batra468fbe622021-06-23 01:42:36400#include "chrome/browser/ash/scanning/chrome_scanning_app_delegate.h"
Yeunjoo Choi5097e9c2021-02-25 08:46:52401#include "chrome/browser/ash/settings/device_settings_cache.h"
Yeunjoo Choia43d74a2021-02-10 23:23:19402#include "chrome/browser/ash/system/automatic_reboot_manager.h"
403#include "chrome/browser/ash/system/input_device_settings.h"
Glen Robertson54e553b2023-06-27 03:18:37404#include "chrome/browser/ash/system_web_apps/apps/help_app/help_app_notification_controller.h"
Georg Neiscbce7dab2025-02-18 01:11:55405#include "chrome/browser/ash/wallpaper_handlers/wallpaper_prefs.h"
Lei Zhangb6c9fbcb62025-03-26 13:17:17406#include "chrome/browser/chromeos/enterprise/cloud_storage/pref_utils.h"
Georg Neiscbce7dab2025-02-18 01:11:55407#include "chrome/browser/chromeos/extensions/echo_private/echo_private_api_util.h"
408#include "chrome/browser/chromeos/extensions/login_screen/login/login_api_prefs.h"
409#include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.h"
410#include "chrome/browser/chromeos/reporting/metric_reporting_prefs.h"
Lei Zhangb6c9fbcb62025-03-26 13:17:17411#include "chrome/browser/chromeos/upload_office_to_cloud/upload_office_to_cloud.h"
Anthony Vallee-Dubois85edf222020-03-24 20:30:02412#include "chrome/browser/device_identity/chromeos/device_oauth2_token_store_chromeos.h"
Georg Neiscbce7dab2025-02-18 01:11:55413#include "chrome/browser/extensions/api/document_scan/profile_prefs_registry_util.h"
414#include "chrome/browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_registry_util.h"
[email protected]5a145e82014-05-29 22:19:07415#include "chrome/browser/extensions/extension_assets_manager_chromeos.h"
xhwangc84739e2015-03-14 01:02:46416#include "chrome/browser/media/protected_media_identifier_permission_context.h"
Georg Neiscbce7dab2025-02-18 01:11:55417#include "chrome/browser/memory/oom_kills_monitor.h"
[email protected]8304f61a2014-05-24 12:17:33418#include "chrome/browser/metrics/chromeos_metrics_provider.h"
Georg Neiscbce7dab2025-02-18 01:11:55419#include "chrome/browser/policy/annotations/blocklist_handler.h"
420#include "chrome/browser/policy/system_features_disable_list_policy_handler.h"
Erik Chenc2927bbd2021-09-22 23:20:07421#include "chrome/browser/ui/ash/shelf/chrome_shelf_prefs.h"
Yeunjoo Choi3fc970b2022-10-28 02:55:48422#include "chrome/browser/ui/webui/ash/login/enable_debugging_screen_handler.h"
Xiaohui Chen0b04ceb2023-10-20 21:22:17423#include "chrome/browser/ui/webui/ash/settings/os_settings_ui.h"
Georg Neiscbce7dab2025-02-18 01:11:55424#include "chrome/browser/ui/webui/certificates_handler.h"
Behnood Momenzadeh1684ef642024-01-30 09:35:45425#include "chrome/browser/ui/webui/settings/reset_settings_handler.h"
Roman Aleksandrovd32e34e72019-05-22 17:29:50426#include "chrome/browser/upgrade_detector/upgrade_detector_chromeos.h"
Henrique Ferreiro94c5e502022-08-17 14:20:22427#include "chromeos/ash/components/audio/audio_devices_pref_handler_impl.h"
Ahmed Nasr585db512025-01-23 23:54:43428#include "chromeos/ash/components/boca/babelorca/babel_orca_manager.h"
Vignesh Shenvicb34fe332024-10-04 02:40:12429#include "chromeos/ash/components/boca/on_task/on_task_prefs.h"
Xiqi Ruane4054542024-10-24 18:10:01430#include "chromeos/ash/components/demo_mode/utils/demo_session_utils.h"
Henrique Ferreiroc9e2aaf2022-07-07 13:45:18431#include "chromeos/ash/components/local_search_service/search_metrics_reporter.h"
Yeunjoo Choi1a8bc9942022-06-20 05:31:16432#include "chromeos/ash/components/network/cellular_esim_profile_handler_impl.h"
433#include "chromeos/ash/components/network/cellular_metrics_logger.h"
Yeunjoo Choibe813122022-06-29 15:13:44434#include "chromeos/ash/components/network/fast_transition_observer.h"
435#include "chromeos/ash/components/network/managed_cellular_pref_handler.h"
Yeunjoo Choi643dead2022-07-11 12:52:16436#include "chromeos/ash/components/network/network_metadata_store.h"
Yeunjoo Choida91d6452022-06-02 15:26:42437#include "chromeos/ash/components/network/proxy/proxy_config_handler.h"
Ivan Å andrk7e4eaac2024-08-02 21:11:39438#include "chromeos/ash/components/policy/restriction_schedule/device_restriction_schedule_controller.h"
Georg Neiscbce7dab2025-02-18 01:11:55439#include "chromeos/ash/components/quickoffice/quickoffice_prefs.h"
Hirthanan Subenderan088f7322023-09-20 15:10:29440#include "chromeos/ash/components/report/report_controller.h"
Jun Ishigurobbcab272025-01-27 08:27:40441#include "chromeos/ash/components/scheduler_config/scheduler_configuration_manager.h"
Henrique Ferreiroacf002702022-10-06 21:54:59442#include "chromeos/ash/components/timezone/timezone_resolver.h"
Hidehiko Abe4c4bb7562025-01-22 02:27:08443#include "chromeos/ash/experiences/arc/arc_prefs.h"
Yeunjoo Choi2d3704c12022-06-21 02:44:34444#include "chromeos/ash/services/assistant/public/cpp/assistant_prefs.h"
Anastasiia N1ad94e1e2022-09-15 08:47:28445#include "chromeos/ash/services/auth_factor_config/auth_factor_config.h"
Henrique Ferreiroae001e92022-09-01 16:58:46446#include "chromeos/ash/services/bluetooth_config/bluetooth_power_controller_impl.h"
447#include "chromeos/ash/services/bluetooth_config/device_name_manager_impl.h"
Yeunjoo Choia292ed72022-11-01 01:19:55448#include "chromeos/ash/services/device_sync/public/cpp/device_sync_prefs.h"
Yeunjoo Choie4980f452022-10-21 16:07:58449#include "chromeos/ash/services/multidevice_setup/multidevice_setup_service.h"
Yue Lif0da5bf2021-11-19 22:01:57450#include "chromeos/components/quick_answers/public/cpp/quick_answers_prefs.h"
Georg Neiscbce7dab2025-02-18 01:11:55451#include "chromeos/ui/wm/fullscreen/pref_names.h"
Kushagra Sinhab37e24db2021-07-02 15:14:24452#include "components/account_manager_core/chromeos/account_manager.h"
Maksim Sisov1d3f5eb22024-10-22 06:37:44453#include "components/onc/onc_pref_names.h" // nogncheck
glevin5dd01a72016-03-23 23:08:12454#include "components/quirks/quirks_manager.h"
Hidehiko Abe4e0baf92024-10-07 18:05:58455#include "components/user_manager/user_manager_impl.h"
Georg Neiscbce7dab2025-02-18 01:11:55456#if BUILDFLAG(USE_CUPS)
457#include "chrome/browser/extensions/api/printing/printing_api_handler.h"
458#endif // BUILDFLAG(USE_CUPS)
459#endif // BUILDFLAG(IS_CHROMEOS)
Pranav Batra468fbe622021-06-23 01:42:36460
Xiaohan Wangae7f9182022-01-16 00:37:52461#if BUILDFLAG(IS_MAC)
Lei Zhangdb0c0872022-03-04 04:26:59462#include "chrome/browser/media/webrtc/system_media_capture_permissions_stats_mac.h"
[email protected]425f7a02014-04-29 01:51:44463#include "chrome/browser/ui/cocoa/apps/quit_with_apps_controller_mac.h"
Tom Anderson6a496032018-08-30 23:38:37464#include "chrome/browser/ui/cocoa/confirm_quit.h"
Marijn Kruisselbrink3458a1d82024-06-20 17:37:42465#include "chrome/browser/web_applications/os_integration/mac/app_shim_registry.h"
[email protected]2366a3a2012-10-02 20:41:14466#endif
467
Xiaohan Wangae7f9182022-01-16 00:37:52468#if BUILDFLAG(IS_WIN)
Scott Violet3ff87d062021-12-21 06:10:10469#include "chrome/browser/font_prewarmer_tab_helper.h"
Alex St-Onge9e4b9b72021-06-08 15:35:54470#include "chrome/browser/media/cdm_pref_service_helper.h"
Xiaohan Wang259f34c7a2022-03-26 23:18:19471#include "chrome/browser/media/media_foundation_service_monitor.h"
Will Harrisdda71e212024-03-25 23:56:39472#include "chrome/browser/os_crypt/app_bound_encryption_provider_win.h"
Nico Webereaa08412019-08-14 01:24:37473#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
Patrick Monettebb543942019-05-17 17:45:32474#include "chrome/browser/win/conflicts/incompatible_applications_updater.h"
Patrick Monettebb543942019-05-17 17:45:32475#include "chrome/browser/win/conflicts/third_party_conflicts_manager.h"
Nico Webereaa08412019-08-14 01:24:37476#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
Daniel Ruberyd17b2fd2023-09-07 23:31:36477#endif // BUILDFLAG(IS_WIN)
[email protected]bdb8a1e2013-10-03 08:14:00478
Xiaohan Wangae7f9182022-01-16 00:37:52479#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
Yann Dago77cd4872024-05-23 16:16:15480#include "chrome/browser/enterprise/platform_auth/platform_auth_policy_observer.h"
Maksim Sisov1d3f5eb22024-10-22 06:37:44481#include "components/os_crypt/sync/os_crypt.h" // nogncheck
Will Harris265b3942019-10-21 01:01:33482#endif
483
Sebastien Lalancette413625312023-05-08 13:58:01484#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
Georg Neiscbce7dab2025-02-18 01:11:55485 BUILDFLAG(IS_CHROMEOS)
Sebastien Lalancette120e0592023-05-04 21:02:33486#include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897
Lu Huangcd11f21c2021-02-03 22:24:56487#endif
488
Nicolas Ouellet-Payeurcb894532023-09-28 04:03:15489#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
Georg Neiscbce7dab2025-02-18 01:11:55490#include "chrome/browser/browser_switcher/browser_switcher_prefs.h"
Nicolas Ouellet-Payeurcb894532023-09-28 04:03:15491#include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
492#endif
493
Georg Neiscbce7dab2025-02-18 01:11:55494#if BUILDFLAG(ENABLE_DICE_SUPPORT)
Nicolas Dossou-Gbete7ccc8802022-11-10 15:12:46495#include "chrome/browser/ui/startup/first_run_service.h"
Erik Chen38ceca082020-12-16 01:31:35496#endif
497
Henrique Ferreiro9529d192025-01-24 22:01:33498#if BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
Georg Neisf11427f92024-02-02 01:27:46499#include "chrome/browser/downgrade/downgrade_prefs.h"
500#endif
501
Georg Neiscbce7dab2025-02-18 01:11:55502#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
Yusuke Sato28ab25092021-05-07 23:04:02503#include "chrome/browser/device_identity/device_oauth2_token_store_desktop.h"
Alison Gale1e44b052024-05-08 16:10:49504#include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt.h"
thestigf2a0fa92016-09-07 09:37:29505#endif
506
[email protected]ceafc462013-11-04 12:26:03507#if defined(TOOLKIT_VIEWS)
508#include "chrome/browser/ui/browser_view_prefs.h"
Yuheng Huang9ce54892022-05-06 19:29:39509#include "chrome/browser/ui/side_search/side_search_prefs.h"
[email protected]ceafc462013-11-04 12:26:03510#endif
511
Scott Violet53fb03c2021-01-15 23:48:16512#if BUILDFLAG(ENABLE_SESSION_SERVICE)
Christian Dullweber0747d7c92021-05-10 10:05:13513#include "chrome/browser/sessions/session_data_service.h"
Scott Violet53fb03c2021-01-15 23:48:16514#include "chrome/browser/sessions/session_service_log.h"
515#endif
tomc5dd0cd2021-10-01 22:15:52516
Tom Andersoncb3408482022-09-02 19:06:41517#if BUILDFLAG(IS_LINUX)
518#include "ui/color/system_theme.h"
519#endif
520
Tsuyoshi Horo358ff3f2024-10-16 13:32:29521#if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
522#include "chrome/browser/on_device_translation/pref_names.h"
523#endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION)
524
Dominique Fauteux-Chapleaub6be8ae2023-09-26 13:48:40525#if BUILDFLAG(ENTERPRISE_DATA_CONTROLS)
Dominique Fauteux-Chapleau98a6f6382024-07-23 17:59:10526#include "components/enterprise/data_controls/core/browser/prefs.h"
Dominique Fauteux-Chapleaub6be8ae2023-09-26 13:48:40527#endif
528
David Bokan97177ce02024-12-19 18:47:45529#if BUILDFLAG(ENABLE_GLIC)
Erik Chenead5fe52025-02-20 19:51:14530#include "chrome/browser/glic/glic_pref_names.h"
Charles Meng896d6e02024-11-21 19:56:27531#endif
532
Byungwoo Lee1a5599e2025-02-06 04:26:31533#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
534#include "components/safe_browsing/content/common/file_type_policies_prefs.h"
535#endif
536
[email protected]572f40c9b2012-07-06 20:35:33537namespace {
Yao Xiao9255aec2022-02-05 00:02:19538
Lei Zhang9523de82022-03-14 21:40:21539// Please keep the list of deprecated prefs in chronological order. i.e. Add to
540// the bottom of the list, not here at the top.
Toby Huang33753282020-05-05 18:55:22541
Will Harris234a5252024-02-26 23:44:57542#if BUILDFLAG(IS_WIN)
Will Harris0ba68daa2024-06-04 21:51:01543// Deprecated 06/2024
544constexpr char kOsCryptAppBoundFixedData3PrefName[] =
545 "os_crypt.app_bound_fixed_data3";
Will Harris234a5252024-02-26 23:44:57546#endif // BUILDFLAG(IS_WIN)
547
Georg Neiscbce7dab2025-02-18 01:11:55548#if BUILDFLAG(IS_CHROMEOS)
Theo Johnson-Kanue849d7ee2024-04-30 16:33:26549// Deprecated 04/2024
550constexpr char kLastUploadedEuiccStatusPrefLegacy[] =
551 "esim.last_upload_euicc_status";
Georg Neiscbce7dab2025-02-18 01:11:55552#endif // BUILDFLAG(IS_CHROMEOS)
Theo Johnson-Kanue849d7ee2024-04-30 16:33:26553
Orin Jaworski64918a72024-04-08 19:51:39554// Deprecated 04/2024.
555inline constexpr char kOmniboxInstantKeywordUsed[] =
556 "omnibox.instant_keyword_used";
557
Ryan Tarpine97eabb92024-04-15 21:56:50558// Deprecated 04/2024.
Glen Robertson2604df72024-04-17 02:37:33559inline constexpr char kWebAppPreinstalledAppWindowExperiment[] =
560 "web_apps.preinstalled_app_window_experiment";
561
562// Deprecated 04/2024.
Ryan Tarpine97eabb92024-04-15 21:56:50563inline constexpr char kDIPSTimerLastUpdate[] = "dips_timer_last_update";
564
Georg Neiscbce7dab2025-02-18 01:11:55565#if BUILDFLAG(IS_CHROMEOS)
Hirthanan Subenderanf298e902024-04-17 18:01:05566// Deprecated 04/2024
567constexpr char kMetricsUserInheritOwnerConsent[] =
568 "metrics.user_inherit_owner_consent";
Artsiom Mitrokhin082c26da12024-04-24 23:05:28569constexpr char kGlanceablesEnabled[] = "ash.glanceables_enabled";
Li Lin11034ce2024-05-07 16:25:55570
571// Deprecated 05/2024.
572// A preference to keep track of the device registered time.
573constexpr char kDeviceRegisteredTime[] = "DeviceRegisteredTime";
Jeroen Dhollander1c2be642024-05-15 17:41:11574constexpr char kArcKioskDictionaryName[] = "arc-kiosk";
Georg Neiscbce7dab2025-02-18 01:11:55575#endif // BUILDFLAG(IS_CHROMEOS)
Hirthanan Subenderanf298e902024-04-17 18:01:05576
Nicolas Dossou-Gbete2ddfa4f2024-05-07 12:30:04577#if !BUILDFLAG(IS_ANDROID)
578// Deprecated 05/2024
579inline constexpr char kSearchEnginesStudyGroup[] =
580 "search_engines.client_side_study_group";
581#endif
582
Mickey Burks97bad852024-05-09 14:24:28583#if !BUILDFLAG(IS_ANDROID)
584// Deprecated 05/2024
585// Pref name for the whether whats new refresh page has been shown
586// successfully.
587inline constexpr char kHasShownRefreshWhatsNew[] =
588 "browser.has_shown_refresh_2023_whats_new";
589#endif
590
Georg Neiscbce7dab2025-02-18 01:11:55591#if BUILDFLAG(IS_CHROMEOS)
Tzarial Kuznia9bfae1972024-05-10 19:30:18592// Deprecated 05/2024
593// A boolean pref which determines if you can pause mouse keys with a
594// keyboard shortcut.
595inline constexpr char kAccessibilityMouseKeysShortcutToPauseEnabled[] =
596 "settings.a11y.mouse_keys.ctrl_to_pause_enabled";
Tzarial Kuzniaee33d3a2024-05-14 17:26:59597// A boolean pref which determines if mouse keys is automatically disabled in
598// text fields.
599inline constexpr char kAccessibilityMouseKeysDisableInTextFields[] =
600 "settings.a11y.mouse_keys.disable_in_text_fields";
Tzarial Kuznia5705b482024-05-28 19:11:37601// A boolean pref which determines whether screen magnifier should center
602// the text input focus.
603inline constexpr char kAccessibilityScreenMagnifierCenterFocus[] =
604 "settings.a11y.screen_magnifier_center_focus";
Georg Neiscbce7dab2025-02-18 01:11:55605#endif // BUILDFLAG(IS_CHROMEOS)
Tzarial Kuznia9bfae1972024-05-10 19:30:18606
Andrew Williamsa2ac79b2024-05-16 18:30:32607// Deprecated 05/2024.
608constexpr char kBlockTruncatedCookies[] = "profile.cookie_block_truncated";
609
Jack Yamminedff4e752024-05-17 12:19:11610// Deprecated 05/2024
611inline constexpr char kDefaultSearchProviderChoiceLocationPrefName[] =
612 "default_search_provider_data.choice_location";
613
Mikel Astizf231c2d2024-05-21 14:05:57614// Deprecated 05/2024.
615inline constexpr char kSyncCachedTrustedVaultAutoUpgradeDebugInfo[] =
616 "sync.cached_trusted_vault_auto_upgrade_debug_info";
617
Marc Treiba5e73272024-05-27 11:27:37618// Deprecated 05/2024.
619inline constexpr char kAutologinEnabled[] = "autologin.enabled";
620inline constexpr char kReverseAutologinRejectedEmailList[] =
621 "reverse_autologin.rejected_email_list";
622
Abe Boujane685161212024-06-04 16:37:55623// Deprecated 06/2024.
624inline constexpr char kTrackingProtectionOnboardingNoticeFirstRequested[] =
625 "tracking_protection.tracking_protection_onboarding_notice_first_requested";
626inline constexpr char kTrackingProtectionOnboardingNoticeLastRequested[] =
627 "tracking_protection.tracking_protection_onboarding_notice_last_requested";
628
Abigail Kleindab940b82024-06-06 14:48:34629// Deprecated 06/2024.
630#if !BUILDFLAG(IS_ANDROID)
631inline constexpr char kAccessibilityReadAnythingOmniboxIconLabelShownCount[] =
632 "settings.a11y.read_anything.omnibox_icon_label_shown_count";
Abigail Kleindab940b82024-06-06 14:48:34633
Ramin Halavati1be7ac32024-06-07 08:48:52634// Deprecated 06/2024.
Ramin Halavati1be7ac32024-06-07 08:48:52635inline constexpr char kAccessibilityPdfOcrAlwaysActive[] =
636 "settings.a11y.pdf_ocr_always_active";
637#endif
638
Abe Boujane3d746772024-06-10 12:52:41639// Deprecated 06/2024.
640inline constexpr char kTrackingProtectionOffboarded[] =
641 "tracking_protection.tracking_protection_offboarded";
642inline constexpr char kTrackingProtectionOffboardedSince[] =
643 "tracking_protection.tracking_protection_offboarded_since";
644inline constexpr char kTrackingProtectionOffboardingAckAction[] =
645 "tracking_protection.tracking_protection_offboarding_ack_action";
646
Georg Neiscbce7dab2025-02-18 01:11:55647#if BUILDFLAG(IS_CHROMEOS)
David Black86f60822024-06-11 19:18:03648// Deprecated 06/2024.
649constexpr std::array<const char*, 12u>
650 kHoldingSpaceWallpaperNudgeTimesOfFirstInteraction = {
651 "ash.holding_space.wallpaper_nudge.interaction_time."
652 "DroppedFileOnHoldingSpace.first_time",
653 "ash.holding_space.wallpaper_nudge.interaction_time."
654 "DroppedFileOnWallpaper.first_time",
655 "ash.holding_space.wallpaper_nudge.interaction_time."
656 "DraggedFileOverWallpaper.first_time",
657 "ash.holding_space.wallpaper_nudge.interaction_time.OpenedHoldingSpace."
658 "first_time",
659 "ash.holding_space.wallpaper_nudge.interaction_time."
660 "PinnedFileFromAnySource.first_time",
661 "ash.holding_space.wallpaper_nudge.interaction_time."
662 "PinnedFileFromContextMenu.first_time",
663 "ash.holding_space.wallpaper_nudge.interaction_time."
664 "PinnedFileFromFilesApp.first_time",
665 "ash.holding_space.wallpaper_nudge.interaction_time."
666 "PinnedFileFromHoldingSpaceDrop.first_time",
667 "ash.holding_space.wallpaper_nudge.interaction_time."
668 "PinnedFileFromPinButton.first_time",
669 "ash.holding_space.wallpaper_nudge.interaction_time."
670 "PinnedFileFromWallpaperDrop.first_time",
671 "ash.holding_space.wallpaper_nudge.interaction_time.UsedOtherItem."
672 "first_time",
673 "ash.holding_space.wallpaper_nudge.interaction_time.UsedPinnedItem."
674 "first_time",
675};
676
677// Deprecated 06/2024.
678constexpr char kHoldingSpaceWallpaperNudgeLastTimeNudgeShownCounterfactual[] =
679 "ash.holding_space.wallpaper_nudge.last_shown_time_counterfactual";
680constexpr char kHoldingSpaceWallpaperNudgeLastTimeNudgeShown[] =
681 "ash.holding_space.wallpaper_nudge.last_shown_time";
682constexpr char kHoldingSpaceWallpaperNudgeNudgeShownCountCounterfactual[] =
683 "ash.holding_space.wallpaper_nudge.shown_count_counterfactual";
684constexpr char kHoldingSpaceWallpaperNudgeNudgeShownCount[] =
685 "ash.holding_space.wallpaper_nudge.shown_count";
686constexpr char kHoldingSpaceWallpaperNudgeUserEligibleForNudge[] =
687 "ash.holding_space.wallpaper_nudge.user_eligible";
688constexpr char kHoldingSpaceWallpaperNudgeUserFirstEligibleSessionTime[] =
689 "ash.holding_space.wallpaper_nudge.first_eligible_session_time";
Aida Zolicbe1b89f52024-06-18 13:58:24690
691// Deprecated 06/2024.
692constexpr char kLocalUserFilesMigrationEnabled[] =
693 "filebrowser.local_user_files_migration_enabled";
James Cook3fbf5ba92024-06-28 23:00:21694
695// Deprecated 06/2024.
696constexpr char kBirchUseRecentTabs[] = "ash.birch.use_recent_tabs";
697constexpr char kBirchUseLastActive[] = "ash.birch.use_last_active";
698constexpr char kBirchUseMostVisited[] = "ash.birch.use_most_visited";
699constexpr char kBirchUseSelfShare[] = "ash.birch.use_self_share";
David Black86f60822024-06-11 19:18:03700#endif