blob: a36ac9fa8ed0e36a3cdbc28cb6ed078173008095 [file] [log] [blame]
[email protected]3a80ea332012-01-09 19:53:291// Copyright (c) 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
5#include "chrome/browser/browser_process_impl.h"
6
[email protected]38489a32012-05-11 02:24:547#include <algorithm>
[email protected]3cdacd42010-04-30 18:55:538#include <map>
[email protected]68f88b992011-05-07 02:01:399#include <vector>
[email protected]3cdacd42010-04-30 18:55:5310
[email protected]b3cc05442011-11-19 22:43:4411#include "base/bind.h"
12#include "base/bind_helpers.h"
initial.commit09911bf2008-07-26 23:55:2913#include "base/command_line.h"
[email protected]6b4e6852012-02-14 04:02:4814#include "base/debug/alias.h"
[email protected]69c019472013-10-15 05:03:4715#include "base/debug/leak_annotations.h"
[email protected]c027d6d2014-06-05 15:25:4016#include "base/files/file_path.h"
initial.commit09911bf2008-07-26 23:55:2917#include "base/path_service.h"
[email protected]03b9b4e2012-10-22 20:01:5218#include "base/prefs/json_pref_store.h"
[email protected]3853a4c2013-02-11 17:15:5719#include "base/prefs/pref_registry_simple.h"
20#include "base/prefs/pref_service.h"
[email protected]985655a2011-02-23 09:54:2521#include "base/synchronization/waitable_event.h"
[email protected]34b99632011-01-01 01:01:0622#include "base/threading/thread.h"
23#include "base/threading/thread_restrictions.h"
[email protected]72f93712014-05-19 15:10:3924#include "base/time/default_tick_clock.h"
[email protected]01996a592013-09-13 06:55:0425#include "chrome/browser/apps/chrome_apps_client.h"
[email protected]a07676b22011-06-17 16:36:5326#include "chrome/browser/background/background_mode_manager.h"
[email protected]c38831a12011-10-28 12:44:4927#include "chrome/browser/chrome_browser_main.h"
[email protected]572f40c9b2012-07-06 20:35:3328#include "chrome/browser/chrome_content_browser_client.h"
[email protected]fdf40f3e2013-07-11 23:55:4629#include "chrome/browser/chrome_notification_types.h"
[email protected]c1adf5a2011-08-03 22:11:3730#include "chrome/browser/component_updater/component_updater_configurator.h"
31#include "chrome/browser/component_updater/component_updater_service.h"
[email protected]9f108f22013-04-09 00:39:5632#include "chrome/browser/component_updater/pnacl/pnacl_component_installer.h"
[email protected]195c99c2012-10-31 06:24:5133#include "chrome/browser/defaults.h"
[email protected]70019152012-12-19 11:44:1934#include "chrome/browser/devtools/remote_debugging_server.h"
[email protected]254ed742011-08-16 18:45:2735#include "chrome/browser/download/download_request_limiter.h"
[email protected]75e51b52012-02-04 16:57:5436#include "chrome/browser/download/download_status_updater.h"
[email protected]9fe42042013-10-29 21:13:3337#include "chrome/browser/extensions/chrome_extensions_browser_client.h"
[email protected]5a38dfd2012-07-23 23:22:1038#include "chrome/browser/extensions/event_router_forwarder.h"
[email protected]d5570942013-01-24 01:42:4339#include "chrome/browser/extensions/extension_renderer_state.h"
[email protected]815856722011-04-13 17:19:1940#include "chrome/browser/first_run/upgrade_util.h"
[email protected]a9830b52012-12-17 23:30:3641#include "chrome/browser/gpu/gl_string_manager.h"
[email protected]e6933d2a2013-03-12 22:32:2142#include "chrome/browser/gpu/gpu_mode_manager.h"
[email protected]dcefa302009-05-20 00:24:3943#include "chrome/browser/icon_manager.h"
[email protected]91901092013-01-31 01:53:5944#include "chrome/browser/idle.h"
[email protected]c4ff4952010-01-08 19:12:4745#include "chrome/browser/intranet_redirect_detector.h"
[email protected]0ac83682010-01-22 17:46:2746#include "chrome/browser/io_thread.h"
[email protected]2e6389f2012-05-18 19:41:2547#include "chrome/browser/lifetime/application_lifetime.h"
[email protected]c3cac952014-05-09 01:51:1848#include "chrome/browser/metrics/metrics_services_manager.h"
[email protected]0b565182011-03-02 18:11:1549#include "chrome/browser/metrics/thread_watcher.h"
[email protected]b2fcd0e2010-12-01 15:19:4050#include "chrome/browser/net/chrome_net_log.h"
[email protected]ca167a32011-09-30 15:19:1151#include "chrome/browser/net/crl_set_fetcher.h"
[email protected]29672ab2009-10-30 03:44:0352#include "chrome/browser/notifications/notification_ui_manager.h"
[email protected]8f4b69e2014-06-26 00:01:3153#include "chrome/browser/omaha_query_params/chrome_omaha_query_params_delegate.h"
[email protected]c2295f72013-01-03 22:18:5654#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
[email protected]de75c702012-09-25 23:06:0255#include "chrome/browser/plugins/plugin_finder.h"
[email protected]caf63aea2011-04-26 11:04:1056#include "chrome/browser/prefs/browser_prefs.h"
[email protected]5b199522012-12-22 17:24:4457#include "chrome/browser/prefs/chrome_pref_service_factory.h"
[email protected]1459fb62011-05-25 19:03:2758#include "chrome/browser/prerender/prerender_tracker.h"
[email protected]68f88b992011-05-07 02:01:3959#include "chrome/browser/printing/background_printing_manager.h"
[email protected]e06131d2010-02-10 18:40:3360#include "chrome/browser/printing/print_job_manager.h"
[email protected]d8ce31e2012-12-19 05:09:2161#include "chrome/browser/printing/print_preview_dialog_controller.h"
[email protected]8ecad5e2010-12-02 21:18:3362#include "chrome/browser/profiles/profile_manager.h"
[email protected]8bcdf072011-06-03 16:52:1563#include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.h"
[email protected]81218f42009-02-05 18:48:0864#include "chrome/browser/safe_browsing/safe_browsing_service.h"
[email protected]e450fa62011-02-01 12:52:5665#include "chrome/browser/shell_integration.h"
[email protected]9e7f015f2011-05-28 00:24:2566#include "chrome/browser/status_icons/status_tray.h"
[email protected]94840bb2013-12-17 19:43:3867#include "chrome/browser/ui/browser_dialogs.h"
[email protected]0665ebe2013-02-13 09:53:1968#include "chrome/browser/ui/browser_finder.h"
[email protected]ed304482013-01-04 04:45:3269#include "chrome/browser/web_resource/promo_resource_service.h"
[email protected]4ef795df2010-02-03 02:35:0870#include "chrome/common/chrome_constants.h"
initial.commit09911bf2008-07-26 23:55:2971#include "chrome/common/chrome_paths.h"
72#include "chrome/common/chrome_switches.h"
[email protected]ad8b4ba2013-08-09 19:52:4473#include "chrome/common/extensions/chrome_extensions_client.h"
initial.commit09911bf2008-07-26 23:55:2974#include "chrome/common/pref_names.h"
[email protected]5c08f222010-09-22 09:37:2175#include "chrome/common/switch_utils.h"
[email protected]985655a2011-02-23 09:54:2576#include "chrome/common/url_constants.h"
[email protected]bd48c2b02010-04-09 20:32:4277#include "chrome/installer/util/google_update_constants.h"
[email protected]48ff2c7f2014-05-23 09:57:4578#include "chrome/installer/util/google_update_settings.h"
[email protected]c027d6d2014-06-05 15:25:4079#include "components/gcm_driver/gcm_driver.h"
[email protected]d6147bd2014-06-11 01:58:1980#include "components/metrics/metrics_service.h"
[email protected]d0ab865b2014-06-04 19:41:3481#include "components/network_time/network_time_tracker.h"
[email protected]8f4b69e2014-06-26 00:01:3182#include "components/omaha_query_params/omaha_query_params.h"
[email protected]76b4b152013-12-08 21:10:0483#include "components/policy/core/common/policy_service.h"
[email protected]1c799ff2014-04-16 01:44:5284#include "components/signin/core/common/profile_management_switches.h"
[email protected]bb1c86cd2014-01-29 18:22:1885#include "components/translate/core/browser/translate_download_manager.h"
[email protected]c38831a12011-10-28 12:44:4986#include "content/public/browser/browser_thread.h"
[email protected]b9535422012-02-09 01:47:5987#include "content/public/browser/child_process_security_policy.h"
[email protected]ad50def52011-10-19 23:17:0788#include "content/public/browser/notification_details.h"
[email protected]3a5180ae2011-12-21 02:39:3889#include "content/public/browser/plugin_service.h"
[email protected]f3b1a082011-11-18 00:34:3090#include "content/public/browser/render_process_host.h"
[email protected]ea114722012-03-12 01:11:2591#include "content/public/browser/resource_dispatcher_host.h"
[email protected]294bdb32014-05-30 07:01:5492#include "content/public/browser/service_worker_context.h"
93#include "content/public/browser/storage_partition.h"
[email protected]885c0e92012-11-13 20:27:4294#include "extensions/common/constants.h"
[email protected]6668e5d2014-04-08 23:32:5295#include "extensions/common/extension_l10n_util.h"
[email protected]12c84e22011-07-11 09:35:4596#include "net/socket/client_socket_pool_manager.h"
[email protected]abe2c032011-03-31 18:49:3497#include "net/url_request/url_request_context_getter.h"
[email protected]c051a1b2011-01-21 23:30:1798#include "ui/base/l10n/l10n_util.h"
[email protected]fb1aac14e2013-05-14 05:30:2499#include "ui/message_center/message_center.h"
[email protected]b112a4c2009-02-01 20:24:01100
101#if defined(OS_WIN)
[email protected]770c6d82012-09-06 22:21:32102#include "base/win/windows_version.h"
[email protected]477ae052011-11-18 23:53:57103#include "ui/views/focus/view_storage.h"
[email protected]03d8d3e92011-09-20 06:07:11