Commit c9e9f1dd authored by Lei Zhang's avatar Lei Zhang Committed by Commit Bot

Move RegisterComponentsForUpdate() into c/b/component_updater/.

Move the function out of chrome_browser_main.cc and into
c/b/component_updater/registration.cc. Then c/b/component_updater/OWNERS
can own it and chrome_browser_main.cc is now 7% smaller.

Change-Id: I3af6e0bba9993314ab0475bbae2d92d745dfded8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2032186
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: default avatarSorin Jianu <sorin@chromium.org>
Reviewed-by: default avatarJoshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/master@{#738832}
parent 8dcfc695
...@@ -336,6 +336,8 @@ jumbo_static_library("browser") { ...@@ -336,6 +336,8 @@ jumbo_static_library("browser") {
"component_updater/recovery_improved_component_installer.cc", "component_updater/recovery_improved_component_installer.cc",
"component_updater/recovery_improved_component_installer.h", "component_updater/recovery_improved_component_installer.h",
"component_updater/recovery_improved_component_installer_win.cc", "component_updater/recovery_improved_component_installer_win.cc",
"component_updater/registration.cc",
"component_updater/registration.h",
"component_updater/safety_tips_component_installer.cc", "component_updater/safety_tips_component_installer.cc",
"component_updater/safety_tips_component_installer.h", "component_updater/safety_tips_component_installer.h",
"component_updater/soda_component_installer.cc", "component_updater/soda_component_installer.cc",
......
...@@ -56,19 +56,7 @@ ...@@ -56,19 +56,7 @@
#include "chrome/browser/buildflags.h" #include "chrome/browser/buildflags.h"
#include "chrome/browser/chrome_browser_field_trials.h" #include "chrome/browser/chrome_browser_field_trials.h"
#include "chrome/browser/chrome_browser_main_extra_parts.h" #include "chrome/browser/chrome_browser_main_extra_parts.h"
#include "chrome/browser/component_updater/crl_set_component_installer.h" #include "chrome/browser/component_updater/registration.h"
#include "chrome/browser/component_updater/crowd_deny_component_installer.h"
#include "chrome/browser/component_updater/file_type_policies_component_installer.h"
#include "chrome/browser/component_updater/games_component_installer.h"
#include "chrome/browser/component_updater/mei_preload_component_installer.h"
#include "chrome/browser/component_updater/optimization_hints_component_installer.h"
#include "chrome/browser/component_updater/origin_trials_component_installer.h"
#include "chrome/browser/component_updater/safety_tips_component_installer.h"
#include "chrome/browser/component_updater/soda_component_installer.h"
#include "chrome/browser/component_updater/ssl_error_assistant_component_installer.h"
#include "chrome/browser/component_updater/sth_set_component_remover.h"
#include "chrome/browser/component_updater/subresource_filter_component_installer.h"
#include "chrome/browser/component_updater/tls_deprecation_config_component_installer.h"
#include "chrome/browser/defaults.h" #include "chrome/browser/defaults.h"
#include "chrome/browser/first_run/first_run.h" #include "chrome/browser/first_run/first_run.h"
#include "chrome/browser/lifetime/application_lifetime.h" #include "chrome/browser/lifetime/application_lifetime.h"
...@@ -126,9 +114,6 @@ ...@@ -126,9 +114,6 @@
#include "chrome/common/profiler/thread_profiler.h" #include "chrome/common/profiler/thread_profiler.h"
#include "chrome/grit/generated_resources.h" #include "chrome/grit/generated_resources.h"
#include "chrome/installer/util/google_update_settings.h" #include "chrome/installer/util/google_update_settings.h"
#include "components/component_updater/component_updater_service.h"
#include "components/component_updater/crl_set_remover.h"
#include "components/component_updater/installer_policies/on_device_head_suggest_component_installer.h"
#include "components/device_event_log/device_event_log.h" #include "components/device_event_log/device_event_log.h"
#include "components/flags_ui/pref_service_flags_storage.h" #include "components/flags_ui/pref_service_flags_storage.h"
#include "components/google/core/common/google_util.h" #include "components/google/core/common/google_util.h"
...@@ -192,7 +177,6 @@ ...@@ -192,7 +177,6 @@
#include "services/service_manager/public/cpp/connector.h" #include "services/service_manager/public/cpp/connector.h"
#include "services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.h" #include "services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.h"
#include "third_party/blink/public/common/experiments/memory_ablation_experiment.h" #include "third_party/blink/public/common/experiments/memory_ablation_experiment.h"
#include "third_party/widevine/cdm/buildflags.h"
#include "ui/base/layout.h" #include "ui/base/layout.h"
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
...@@ -203,6 +187,7 @@ ...@@ -203,6 +187,7 @@
#include "ui/base/resource/resource_bundle_android.h" #include "ui/base/resource/resource_bundle_android.h"
#else #else
#include "chrome/browser/resource_coordinator/tab_activity_watcher.h" #include "chrome/browser/resource_coordinator/tab_activity_watcher.h"
#include "chrome/browser/resource_coordinator/tab_manager.h"
#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/upgrade_detector/upgrade_detector.h" #include "chrome/browser/upgrade_detector/upgrade_detector.h"
...@@ -250,10 +235,6 @@ ...@@ -250,10 +235,6 @@
#include "base/trace_event/trace_event_etw_export_win.h" #include "base/trace_event/trace_event_etw_export_win.h"
#include "base/win/win_util.h" #include "base/win/win_util.h"
#include "chrome/browser/chrome_browser_main_win.h" #include "chrome/browser/chrome_browser_main_win.h"
#include "chrome/browser/component_updater/sw_reporter_installer_win.h"
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
#include "chrome/browser/component_updater/third_party_module_list_component_installer_win.h"
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#include "chrome/browser/first_run/upgrade_util_win.h" #include "chrome/browser/first_run/upgrade_util_win.h"
#include "chrome/browser/ui/network_profile_bubble.h" #include "chrome/browser/ui/network_profile_bubble.h"
#include "chrome/browser/ui/views/try_chrome_dialog_win/try_chrome_dialog.h" #include "chrome/browser/ui/views/try_chrome_dialog_win/try_chrome_dialog.h"
...@@ -270,12 +251,6 @@ ...@@ -270,12 +251,6 @@
#include "chrome/browser/profiles/profile_activity_metrics_recorder.h" #include "chrome/browser/profiles/profile_activity_metrics_recorder.h"
#endif #endif
#if defined(OS_WIN)
#include "chrome/browser/component_updater/recovery_improved_component_installer.h"
#else
#include "chrome/browser/component_updater/recovery_component_installer.h"
#endif // defined(OS_WIN)
#if BUILDFLAG(ENABLE_BACKGROUND_MODE) #if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h" #include "chrome/browser/background/background_mode_manager.h"
#endif // BUILDFLAG(ENABLE_BACKGROUND_MODE) #endif // BUILDFLAG(ENABLE_BACKGROUND_MODE)
...@@ -292,7 +267,6 @@ ...@@ -292,7 +267,6 @@
#endif // BUILDFLAG(ENABLE_KALEIDOSCOPE) #endif // BUILDFLAG(ENABLE_KALEIDOSCOPE)
#if BUILDFLAG(ENABLE_NACL) #if BUILDFLAG(ENABLE_NACL)
#include "chrome/browser/component_updater/pnacl_component_installer.h"
#include "components/nacl/browser/nacl_process_host.h" #include "components/nacl/browser/nacl_process_host.h"
#endif // BUILDFLAG(ENABLE_NACL) #endif // BUILDFLAG(ENABLE_NACL)
...@@ -301,7 +275,6 @@ ...@@ -301,7 +275,6 @@
#endif #endif
#if BUILDFLAG(ENABLE_PLUGINS) #if BUILDFLAG(ENABLE_PLUGINS)
#include "chrome/browser/component_updater/pepper_flash_component_installer.h"
#include "chrome/browser/plugins/plugin_prefs.h" #include "chrome/browser/plugins/plugin_prefs.h"
#endif #endif
...@@ -325,7 +298,6 @@ ...@@ -325,7 +298,6 @@
#endif // BUILDFLAG(ENABLE_RLZ) #endif // BUILDFLAG(ENABLE_RLZ)
#if BUILDFLAG(ENABLE_VR) #if BUILDFLAG(ENABLE_VR)
#include "chrome/browser/component_updater/vr_assets_component_installer.h"
#include "chrome/browser/vr/service/vr_service_impl.h" #include "chrome/browser/vr/service/vr_service_impl.h"
#if defined(OS_WIN) #if defined(OS_WIN)
#include "chrome/browser/vr/service/xr_session_request_consent_manager_impl.h" #include "chrome/browser/vr/service/xr_session_request_consent_manager_impl.h"
...@@ -333,23 +305,10 @@ ...@@ -333,23 +305,10 @@
#endif #endif
#endif #endif
#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#include "chrome/browser/component_updater/widevine_cdm_component_installer.h"
#endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#if defined(USE_AURA) #if defined(USE_AURA)
#include "ui/aura/env.h" #include "ui/aura/env.h"
#endif #endif
#if !defined(OS_ANDROID)
#include "chrome/browser/component_updater/intervention_policy_database_component_installer.h"
#include "chrome/browser/resource_coordinator/tab_manager.h"
#endif
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
#include "chrome/browser/component_updater/supervised_user_whitelist_installer.h"
#endif
using content::BrowserThread; using content::BrowserThread;
namespace { namespace {
...@@ -466,112 +425,6 @@ OSStatus KeychainCallback(SecKeychainEvent keychain_event, ...@@ -466,112 +425,6 @@ OSStatus KeychainCallback(SecKeychainEvent keychain_event,
} }
#endif // defined(OS_MACOSX) #endif // defined(OS_MACOSX)
void RegisterComponentsForUpdate(bool is_off_the_record_profile,
PrefService* profile_prefs) {
auto* const cus = g_browser_process->component_updater();
#if defined(OS_WIN)
RegisterRecoveryImprovedComponent(cus, g_browser_process->local_state());
#else
// TODO(crbug.com/687231): Implement the Improved component on Mac, etc.
RegisterRecoveryComponent(cus, g_browser_process->local_state());
#endif // defined(OS_WIN)
#if BUILDFLAG(ENABLE_PLUGINS)
RegisterPepperFlashComponent(cus);
#endif
#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
RegisterWidevineCdmComponent(cus);
#endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#if BUILDFLAG(ENABLE_NACL) && !defined(OS_ANDROID)
#if defined(OS_CHROMEOS)
// PNaCl on Chrome OS is on rootfs and there is no need to download it. But
// Chrome4ChromeOS on Linux doesn't contain PNaCl so enable component
// installer when running on Linux. See crbug.com/422121 for more details.
if (!base::SysInfo::IsRunningOnChromeOS())
#endif // defined(OS_CHROMEOS)
RegisterPnaclComponent(cus);
#endif // BUILDFLAG(ENABLE_NACL) && !defined(OS_ANDROID)
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
component_updater::SupervisedUserWhitelistInstaller* whitelist_installer =
g_browser_process->supervised_user_whitelist_installer();
whitelist_installer->RegisterComponents();
#endif
RegisterSubresourceFilterComponent(cus);
RegisterOnDeviceHeadSuggestComponent(
cus, g_browser_process->GetApplicationLocale());
RegisterOptimizationHintsComponent(cus, is_off_the_record_profile,
profile_prefs);
base::FilePath path;
if (base::PathService::Get(chrome::DIR_USER_DATA, &path)) {
// The CRLSet component previously resided in a different location: delete
// the old file.
component_updater::DeleteLegacyCRLSet(path);
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
// Clean up previous STH sets that may have been installed. This is not
// done for:
// Android: Because STH sets were never used
// Chrome OS: On Chrome OS, this cleanup is delayed until user login.
component_updater::DeleteLegacySTHSet(path);
#endif
#if !defined(OS_CHROMEOS)
// CRLSetFetcher attempts to load a CRL set from either the local disk or
// network.
// For Chrome OS this registration is delayed until user login.
component_updater::RegisterCRLSetComponent(cus, path);
#endif // !defined(OS_CHROMEOS)
RegisterOriginTrialsComponent(cus, path);
RegisterFileTypePoliciesComponent(cus, path);
RegisterSSLErrorAssistantComponent(cus, path);
}
RegisterMediaEngagementPreloadComponent(cus, base::OnceClosure());
#if defined(OS_WIN)
// SwReporter is only needed for official builds. However, to enable testing
// on chromium build bots, it is always registered here and
// RegisterSwReporterComponent() has support for running only in official
// builds or tests.
RegisterSwReporterComponent(cus);
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
RegisterThirdPartyModuleListComponent(cus);
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // defined(OS_WIN)
#if !defined(OS_ANDROID)
RegisterInterventionPolicyDatabaseComponent(
cus, g_browser_process->GetTabManager()->intervention_policy_database());
#endif
#if BUILDFLAG(ENABLE_VR)
if (component_updater::ShouldRegisterVrAssetsComponentOnStartup()) {
component_updater::RegisterVrAssetsComponent(cus);
}
#endif
RegisterSafetyTipsComponent(cus, path);
RegisterCrowdDenyComponent(cus, path);
RegisterTLSDeprecationConfigComponent(cus, path);
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OS_ANDROID)
component_updater::RegisterGamesComponent(cus, profile_prefs);
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OS_ANDROID)
if (profile_prefs->GetBoolean(prefs::kLiveCaptionEnabled))
component_updater::RegisterSODAComponent(cus, profile_prefs,
base::OnceClosure());
}
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
void ProcessSingletonNotificationCallbackImpl( void ProcessSingletonNotificationCallbackImpl(
const base::CommandLine& command_line, const base::CommandLine& command_line,
...@@ -1733,9 +1586,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { ...@@ -1733,9 +1586,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
PreBrowserStart(); PreBrowserStart();
if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate)) if (!parsed_command_line().HasSwitch(switches::kDisableComponentUpdate)) {
RegisterComponentsForUpdate(profile_->IsOffTheRecord(), component_updater::RegisterComponentsForUpdate(profile_->IsOffTheRecord(),
profile_->GetPrefs()); profile_->GetPrefs());
}
variations::VariationsService* variations_service = variations::VariationsService* variations_service =
browser_process_->variations_service(); browser_process_->variations_service();
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/component_updater/registration.h"
#include "base/path_service.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/component_updater/crl_set_component_installer.h"
#include "chrome/browser/component_updater/crowd_deny_component_installer.h"
#include "chrome/browser/component_updater/file_type_policies_component_installer.h"
#include "chrome/browser/component_updater/games_component_installer.h"
#include "chrome/browser/component_updater/mei_preload_component_installer.h"
#include "chrome/browser/component_updater/optimization_hints_component_installer.h"
#include "chrome/browser/component_updater/origin_trials_component_installer.h"
#include "chrome/browser/component_updater/safety_tips_component_installer.h"
#include "chrome/browser/component_updater/soda_component_installer.h"
#include "chrome/browser/component_updater/ssl_error_assistant_component_installer.h"
#include "chrome/browser/component_updater/sth_set_component_remover.h"
#include "chrome/browser/component_updater/subresource_filter_component_installer.h"
#include "chrome/browser/component_updater/tls_deprecation_config_component_installer.h"
#include "chrome/common/buildflags.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h"
#include "components/component_updater/component_updater_service.h"
#include "components/component_updater/crl_set_remover.h"
#include "components/component_updater/installer_policies/on_device_head_suggest_component_installer.h"
#include "components/nacl/common/buildflags.h"
#include "device/vr/buildflags/buildflags.h"
#include "third_party/widevine/cdm/buildflags.h"
#if defined(OS_WIN)
#include "chrome/browser/component_updater/sw_reporter_installer_win.h"
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
#include "chrome/browser/component_updater/third_party_module_list_component_installer_win.h"
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // defined(OS_WIN)
#if defined(OS_WIN)
#include "chrome/browser/component_updater/recovery_improved_component_installer.h"
#else
#include "chrome/browser/component_updater/recovery_component_installer.h"
#endif // defined(OS_WIN)
#if !defined(OS_ANDROID)
#include "chrome/browser/component_updater/intervention_policy_database_component_installer.h"
#include "chrome/browser/resource_coordinator/tab_manager.h"
#endif
#if BUILDFLAG(ENABLE_NACL)
#include "chrome/browser/component_updater/pnacl_component_installer.h"
#endif // BUILDFLAG(ENABLE_NACL)
#if BUILDFLAG(ENABLE_PLUGINS)
#include "chrome/browser/component_updater/pepper_flash_component_installer.h"
#endif
#if BUILDFLAG(ENABLE_VR)
#include "chrome/browser/component_updater/vr_assets_component_installer.h"
#endif
#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#include "chrome/browser/component_updater/widevine_cdm_component_installer.h"
#endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#if defined(USE_AURA)
#include "ui/aura/env.h"
#endif
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
#include "chrome/browser/component_updater/supervised_user_whitelist_installer.h"
#endif
namespace component_updater {
void RegisterComponentsForUpdate(bool is_off_the_record_profile,
PrefService* profile_prefs) {
auto* const cus = g_browser_process->component_updater();
#if defined(OS_WIN)
RegisterRecoveryImprovedComponent(cus, g_browser_process->local_state());
#else
// TODO(crbug.com/687231): Implement the Improved component on Mac, etc.
RegisterRecoveryComponent(cus, g_browser_process->local_state());
#endif // defined(OS_WIN)
#if BUILDFLAG(ENABLE_PLUGINS)
RegisterPepperFlashComponent(cus);
#endif
#if BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
RegisterWidevineCdmComponent(cus);
#endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)
#if BUILDFLAG(ENABLE_NACL) && !defined(OS_ANDROID)
#if defined(OS_CHROMEOS)
// PNaCl on Chrome OS is on rootfs and there is no need to download it. But
// Chrome4ChromeOS on Linux doesn't contain PNaCl so enable component
// installer when running on Linux. See crbug.com/422121 for more details.
if (!base::SysInfo::IsRunningOnChromeOS())
#endif // defined(OS_CHROMEOS)
RegisterPnaclComponent(cus);
#endif // BUILDFLAG(ENABLE_NACL) && !defined(OS_ANDROID)
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
component_updater::SupervisedUserWhitelistInstaller* whitelist_installer =
g_browser_process->supervised_user_whitelist_installer();
whitelist_installer->RegisterComponents();
#endif
RegisterSubresourceFilterComponent(cus);
RegisterOnDeviceHeadSuggestComponent(
cus, g_browser_process->GetApplicationLocale());
RegisterOptimizationHintsComponent(cus, is_off_the_record_profile,
profile_prefs);
base::FilePath path;
if (base::PathService::Get(chrome::DIR_USER_DATA, &path)) {
// The CRLSet component previously resided in a different location: delete
// the old file.
component_updater::DeleteLegacyCRLSet(path);
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
// Clean up previous STH sets that may have been installed. This is not
// done for:
// Android: Because STH sets were never used
// Chrome OS: On Chrome OS, this cleanup is delayed until user login.
component_updater::DeleteLegacySTHSet(path);
#endif
#if !defined(OS_CHROMEOS)
// CRLSetFetcher attempts to load a CRL set from either the local disk or
// network.
// For Chrome OS this registration is delayed until user login.
component_updater::RegisterCRLSetComponent(cus, path);
#endif // !defined(OS_CHROMEOS)
RegisterOriginTrialsComponent(cus, path);
RegisterFileTypePoliciesComponent(cus, path);
RegisterSSLErrorAssistantComponent(cus, path);
}
RegisterMediaEngagementPreloadComponent(cus, base::OnceClosure());
#if defined(OS_WIN)
// SwReporter is only needed for official builds. However, to enable testing
// on chromium build bots, it is always registered here and
// RegisterSwReporterComponent() has support for running only in official
// builds or tests.
RegisterSwReporterComponent(cus);
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
RegisterThirdPartyModuleListComponent(cus);
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // defined(OS_WIN)
#if !defined(OS_ANDROID)
RegisterInterventionPolicyDatabaseComponent(
cus, g_browser_process->GetTabManager()->intervention_policy_database());
#endif
#if BUILDFLAG(ENABLE_VR)
if (component_updater::ShouldRegisterVrAssetsComponentOnStartup()) {
component_updater::RegisterVrAssetsComponent(cus);
}
#endif
RegisterSafetyTipsComponent(cus, path);
RegisterCrowdDenyComponent(cus, path);
RegisterTLSDeprecationConfigComponent(cus, path);
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OS_ANDROID)
component_updater::RegisterGamesComponent(cus, profile_prefs);
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) && defined(OS_ANDROID)
if (profile_prefs->GetBoolean(prefs::kLiveCaptionEnabled))
component_updater::RegisterSODAComponent(cus, profile_prefs,
base::OnceClosure());
}
} // namespace component_updater
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_COMPONENT_UPDATER_REGISTRATION_H_
#define CHROME_BROWSER_COMPONENT_UPDATER_REGISTRATION_H_
class PrefService;
namespace component_updater {
void RegisterComponentsForUpdate(bool is_off_the_record_profile,
PrefService* profile_prefs);
} // namespace component_updater
#endif // CHROME_BROWSER_COMPONENT_UPDATER_REGISTRATION_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment