Fix handling of --disable-component-update for legacy component registration (#30440)

Add support for --disable-component-update in all brave components. Use with --allow-brave-component-update to 
restore previous behavior for perf and other testing
This commit is contained in:
Brian Johnson
2025-08-06 14:25:38 +09:00
committed by GitHub
parent 56e99fe3fc
commit 464dabb88c
42 changed files with 184 additions and 103 deletions
+2
View File
@@ -31,6 +31,8 @@ browser/ui/webui/brave_web_uicontroller_factory.cc @bridiver @petemill
# BraveComponent is deprecated
components/brave_component_updater/browser/brave_component.h @bridiver @antonok-edm
components/brave_component_updater/browser/local_data_files_observer.h @bridiver @antonok-edm
components/brave_component_updater/browser/local_data_files_service.h @bridiver @antonok-edm
components/brave_component_updater/browser/BUILD.gn @bridiver
# BravePrefServiceBridge is deprecated
browser/android/preferences/brave_pref_service_bridge.cc @bridiver
+10 -1
View File
@@ -30,7 +30,9 @@ include_rules += [
"+brave/components/brave_account",
"+brave/components/brave_ads/browser",
"+brave/components/brave_ads/core/public",
"+brave/components/brave_component_updater/browser",
"+brave/components/brave_component_updater/browser/brave_on_demand_updater.h",
"+brave/components/brave_component_updater/browser/features.h",
"+brave/components/brave_component_updater/browser/switches.h",
"+brave/components/brave_education",
"+brave/components/brave_news/browser",
"+brave/components/brave_news/common",
@@ -121,4 +123,11 @@ specific_include_rules = {
".*test.*\.cc": [
"!brave/components/l10n/common/test/scoped_default_locale.h",
],
"brave_browser_process_impl\.cc": [
"+brave/components/brave_component_updater/browser/brave_component_updater_delegate.h",
"+brave/components/brave_component_updater/browser/local_data_files_service.h",
],
"brave_browser_process_impl\.h": [
"+brave/components/brave_component_updater/browser/brave_component.h",
],
}
+3
View File
@@ -26,6 +26,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "components/component_updater/component_updater_service.h"
#include "components/prefs/pref_service.h"
#include "components/sync/base/command_line_switches.h"
@@ -77,6 +78,8 @@ ChromeBrowserMainParts::~ChromeBrowserMainParts() = default;
int ChromeBrowserMainParts::PreMainMessageLoopRun() {
brave_component_updater::BraveOnDemandUpdater::GetInstance()
->RegisterOnDemandUpdater(
base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableComponentUpdate),
&g_browser_process->component_updater()->GetOnDemandUpdater());
return ChromeBrowserMainParts_ChromiumImpl::PreMainMessageLoopRun();
+2
View File
@@ -1,4 +1,6 @@
include_rules = [
"+brave/components/ephemeral_storage",
"+brave/components/brave_shields/content/test",
"!brave/components/brave_component_updater/browser/local_data_files_service.h",
"!brave/components/brave_component_updater/browser/local_data_files_observer.h",
]
+2 -3
View File
@@ -23,16 +23,15 @@ source_set("component_loader") {
deps = [
"//base",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_extension:static_resources",
"//brave/components/web_discovery/buildflags",
"//brave/components/web_discovery/common:util",
"//chrome/browser:browser_process",
"//chrome/browser/extensions",
"//chrome/browser/profiles:profile",
"//chrome/common:constants",
"//components/prefs",
"//extensions/browser",
"//extensions/common",
"//ui/base",
]
if (enable_web_discovery_native) {
+9
View File
@@ -2,3 +2,12 @@ include_rules = [
"+brave/components/brave_extension/grit",
"+brave/components/update_client/buildflags.h",
]
specific_include_rules = {
"brave_component_loader\.cc": [
"+brave/components/brave_component_updater/browser/brave_component_installer.h",
],
"brave_base_local_data_files_browsertest\.h": [
"+brave/components/brave_component_updater/browser/local_data_files_observer.h",
],
}
+3 -37
View File
@@ -11,23 +11,17 @@
#include "base/check.h"
#include "base/check_op.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/json/json_reader.h"
#include "brave/components/brave_component_updater/browser/brave_component_installer.h"
#include "brave/components/brave_component_updater/browser/brave_on_demand_updater.h"
#include "brave/components/brave_extension/grit/brave_extension.h"
#include "brave/components/constants/brave_switches.h"
#include "brave/components/constants/pref_names.h"
#include "brave/components/web_discovery/buildflags/buildflags.h"
#include "brave/components/web_discovery/common/util.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "components/grit/brave_components_resources.h"
#include "components/prefs/pref_change_registrar.h"
#include "components/prefs/pref_service.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/constants.h"
@@ -35,12 +29,9 @@
#include "ui/base/resource/resource_bundle.h"
#if BUILDFLAG(ENABLE_WEB_DISCOVERY_NATIVE)
#include "base/feature_list.h"
#include "brave/components/web_discovery/common/features.h"
#endif
using extensions::mojom::ManifestLocation;
namespace extensions {
BraveComponentLoader::BraveComponentLoader(Profile* profile)
@@ -48,45 +39,20 @@ BraveComponentLoader::BraveComponentLoader(Profile* profile)
profile_(profile),
profile_prefs_(profile->GetPrefs()) {
pref_change_registrar_.Init(profile_prefs_);
pref_change_registrar_.Add(
kWebDiscoveryEnabled,
base::BindRepeating(&BraveComponentLoader::UpdateBraveExtension,
base::Unretained(this)));
#if BUILDFLAG(ENABLE_WEB_DISCOVERY_NATIVE)
pref_change_registrar_.Add(
kWebDiscoveryDisabledByPolicy,
base::BindRepeating(&BraveComponentLoader::UpdateBraveExtension,
base::Unretained(this)));
#endif
}
BraveComponentLoader::~BraveComponentLoader() = default;
void BraveComponentLoader::OnComponentRegistered(std::string extension_id) {
brave_component_updater::BraveOnDemandUpdater::GetInstance()->EnsureInstalled(
extension_id);
}
void BraveComponentLoader::OnComponentReady(std::string extension_id,
bool allow_file_access,
const base::FilePath& install_dir,
const std::string& manifest) {
Add(manifest, install_dir);
if (allow_file_access) {
ExtensionPrefs::Get(profile_)->SetAllowFileAccess(extension_id, true);
}
}
void BraveComponentLoader::AddExtension(const std::string& extension_id,
const std::string& name,
const std::string& public_key) {
brave_component_updater::RegisterComponent(
g_browser_process->component_updater(), name, public_key,
base::BindOnce(&BraveComponentLoader::OnComponentRegistered,
base::Unretained(this), extension_id),
base::BindRepeating(&BraveComponentLoader::OnComponentReady,
base::Unretained(this), extension_id, true));
}
void BraveComponentLoader::AddDefaultComponentExtensions(
bool skip_session_components) {
ComponentLoader::AddDefaultComponentExtensions(skip_session_components);
@@ -6,9 +6,6 @@
#ifndef BRAVE_BROWSER_EXTENSIONS_BRAVE_COMPONENT_LOADER_H_
#define BRAVE_BROWSER_EXTENSIONS_BRAVE_COMPONENT_LOADER_H_
#include <string>
#include "base/files/file_path.h"
#include "base/memory/raw_ptr.h"
#include "chrome/browser/extensions/component_loader.h"
#include "components/prefs/pref_change_registrar.h"
@@ -31,15 +28,6 @@ class BraveComponentLoader : public ComponentLoader {
// be loaded unless we are in signed user session (ChromeOS). For all other
// platforms this |skip_session_components| is expected to be unset.
void AddDefaultComponentExtensions(bool skip_session_components) override;
void OnComponentRegistered(std::string extension_id);
void OnComponentReady(std::string extension_id,
bool allow_file_access,
const base::FilePath& install_dir,
const std::string& manifest);
void AddExtension(const std::string& id,
const std::string& name,
const std::string& public_key);
private:
void UpdateBraveExtension();
+3
View File
@@ -9,4 +9,7 @@ specific_include_rules = {
"+content/public/renderer/render_frame.h",
"+third_party/blink/public",
],
".*_browsertest\.cc": [
"+brave/components/brave_component_updater/browser/local_data_files_service.h",
],
}
+6
View File
@@ -12,3 +12,9 @@ include_rules = [
"+brave/components/static_redirect_helper",
"+services/network/host_resolver.h",
]
specific_include_rules = {
"brave_ad_block_tp_network_delegate_helper_unittest\.cc": [
"+brave/components/brave_component_updater/browser/brave_component.h",
],
}
+6
View File
@@ -3,3 +3,9 @@ include_rules = [
"+brave/components/brave_shields/content/test",
"+brave/components/ephemeral_storage",
]
specific_include_rules = {
"localhost_access_permission_browsertest\.cc": [
"+brave/components/brave_component_updater/browser/local_data_files_service.h",
],
}
+1 -1
View File
@@ -17,7 +17,7 @@ source_set("browser_tests") {
"//brave/browser",
"//brave/browser/extensions:test_support",
"//brave/common",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_shields/core/browser",
"//brave/components/brave_shields/core/common",
"//brave/components/request_otr/browser",
@@ -8,7 +8,6 @@
#include "base/check.h"
#include "base/files/scoped_temp_dir.h"
#include "base/path_service.h"
#include "brave/components/brave_component_updater/browser/brave_component.h"
#include "brave/components/brave_shields/content/browser/ad_block_subscription_service_manager.h"
#include "brave/test/base/testing_brave_browser_process.h"
#include "chrome/browser/prefs/browser_prefs.h"
+5
View File
@@ -0,0 +1,5 @@
specific_include_rules = {
"brave_tor_browsertest\.cc": [
"+brave/components/brave_component_updater/browser/brave_component.h",
],
}
@@ -162,6 +162,11 @@ class BraveTorBrowserTest : public InProcessBrowserTest {
DownloadTorComponent(tor::kTorPluggableTransportComponentId);
}
void SetUpDefaultCommandLine(base::CommandLine* command_line) override {
InProcessBrowserTest::SetUpDefaultCommandLine(command_line);
command_line->RemoveSwitch(switches::kDisableComponentUpdate);
}
Profile* OpenTorWindow() {
Browser* tor_browser =
TorProfileManager::SwitchToTorProfile(browser()->profile());
+1 -1
View File
@@ -17,7 +17,7 @@ source_set("widevine") {
deps = [
"//base",
"//brave/app:brave_generated_resources_grit",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/constants",
"//brave/components/widevine:constants",
"//chrome/browser:browser_process",
@@ -22,6 +22,7 @@
#include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "chrome/test/permissions/permission_request_manager_test_api.h"
@@ -69,6 +70,11 @@ class WidevinePermissionRequestBrowserTest
GetPermissionRequestManager()->RemoveObserver(&observer);
}
void SetUpDefaultCommandLine(base::CommandLine* command_line) override {
InProcessBrowserTest::SetUpDefaultCommandLine(command_line);
command_line->RemoveSwitch(switches::kDisableComponentUpdate);
}
content::WebContents* GetActiveWebContents() {
return browser()->tab_strip_model()->GetActiveWebContents();
}
-1
View File
@@ -18,7 +18,6 @@ brave_chrome_common_extensions_sources = [
]
brave_chrome_common_extensions_deps = [
"//brave/components/brave_component_updater/browser",
"//brave/components/https_upgrade_exceptions/browser",
"//brave/components/skus/common",
"//components/component_updater",
+1 -1
View File
@@ -86,7 +86,7 @@ static_library("browser") {
"//brave/components/ai_chat/core/common/mojom",
"//brave/components/ai_chat/core/proto",
"//brave/components/api_request_helper",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_service_keys",
"//brave/components/brave_stats/browser",
"//brave/components/constants",
@@ -5,9 +5,52 @@
import("//extensions/buildflags/buildflags.gni")
source_set("public") {
sources = [
"brave_on_demand_updater.h",
"dat_file_util.h",
"features.h",
"switches.h",
]
public_deps = [
"//base",
"//components/component_updater",
]
}
component("browser") {
defines = [ "IS_BRAVE_COMPONENT_UPDATER_IMPL" ]
# DO NOT ADD NEW TARGETS TO THIS LIST
# All components should have their own InstallerPolicy and be
# registered in RegisterComponentsForUpdate
visibility = [
"//brave/browser/ephemeral_storage:browser_tests",
"//brave/browser/extensions:component_loader",
"//brave/browser/extensions:test_support",
"//brave/browser/farbling:browser_tests",
"//brave/browser/net:unit_tests",
"//brave/browser/permissions:browser_tests",
"//brave/browser/tor/test:browser_tests",
"//brave/components/brave_ads/browser",
"//brave/components/brave_component_updater/browser:test_support",
"//brave/components/brave_shields/content/browser",
"//brave/components/brave_shields/content/test:test_support",
"//brave/components/brave_shields/core/browser",
"//brave/components/debounce/core/browser",
"//brave/components/https_upgrade_exceptions/browser",
"//brave/components/localhost_permission",
"//brave/components/request_otr/browser",
"//brave/components/tor",
"//brave/components/url_sanitizer/browser",
"//brave/components/webcompat/content/browser",
"//brave/ios/app",
"//brave/ios/browser/application_context",
"//brave/test:*",
"//chrome/browser",
]
sources = [
"brave_component.cc",
"brave_component.h",
@@ -142,15 +142,4 @@ bool BraveComponentInstallerPolicy::IsBraveComponent() const {
return true;
}
void RegisterComponent(component_updater::ComponentUpdateService* cus,
const std::string& name,
const std::string& base64_public_key,
base::OnceClosure registered_callback,
BraveComponent::ReadyCallback ready_callback) {
auto installer = base::MakeRefCounted<component_updater::ComponentInstaller>(
std::make_unique<BraveComponentInstallerPolicy>(
name, base64_public_key, std::move(ready_callback)));
installer->Register(cus, std::move(registered_callback));
}
} // namespace brave_component_updater
@@ -58,13 +58,6 @@ class COMPONENT_EXPORT(BRAVE_COMPONENT_UPDATER) BraveComponentInstallerPolicy
BraveComponent::ReadyCallback ready_callback_;
};
COMPONENT_EXPORT(BRAVE_COMPONENT_UPDATER)
void RegisterComponent(component_updater::ComponentUpdateService* cus,
const std::string& name,
const std::string& base64_public_key,
base::OnceClosure registered_callback,
BraveComponent::ReadyCallback ready_callback);
} // namespace brave_component_updater
#endif // BRAVE_COMPONENTS_BRAVE_COMPONENT_UPDATER_BROWSER_BRAVE_COMPONENT_INSTALLER_H_
@@ -5,9 +5,6 @@
#include "brave/components/brave_component_updater/browser/brave_component_updater_delegate.h"
#include <memory>
#include <utility>
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "brave/components/brave_component_updater/browser/brave_component_installer.h"
@@ -21,6 +18,21 @@ using component_updater::ComponentUpdateService;
namespace brave_component_updater {
namespace {
void RegisterComponent(component_updater::ComponentUpdateService* cus,
const std::string& name,
const std::string& base64_public_key,
base::OnceClosure registered_callback,
BraveComponent::ReadyCallback ready_callback) {
auto installer = base::MakeRefCounted<component_updater::ComponentInstaller>(
std::make_unique<BraveComponentInstallerPolicy>(
name, base64_public_key, std::move(ready_callback)));
installer->Register(cus, std::move(registered_callback));
}
} // namespace
BraveComponentUpdaterDelegate::BraveComponentUpdaterDelegate(
ComponentUpdateService* component_updater,
PrefService* local_state,
@@ -40,9 +52,12 @@ void BraveComponentUpdaterDelegate::Register(
const std::string& component_base64_public_key,
base::OnceClosure registered_callback,
BraveComponent::ReadyCallback ready_callback) {
RegisterComponent(base::to_address(component_updater_), component_name,
component_base64_public_key, std::move(registered_callback),
std::move(ready_callback));
if (!BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
RegisterComponent(base::to_address(component_updater_), component_name,
component_base64_public_key,
std::move(registered_callback),
std::move(ready_callback));
}
}
bool BraveComponentUpdaterDelegate::Unregister(
@@ -10,11 +10,17 @@
#include "base/check.h"
#include "base/check_is_test.h"
#include "base/command_line.h"
#include "base/functional/callback.h" // IWYU pragma: keep
#include "base/no_destructor.h"
namespace brave_component_updater {
namespace {
// This is a temporary workaround to preserve existing behavior for perf tests
constexpr char kAllowBraveComponentUpdate[] = "allow-brave-component-update";
} // namespace
BraveOnDemandUpdater* BraveOnDemandUpdater::GetInstance() {
static base::NoDestructor<BraveOnDemandUpdater> instance;
return instance.get();
@@ -26,10 +32,16 @@ BraveOnDemandUpdater::~BraveOnDemandUpdater() = default;
component_updater::OnDemandUpdater*
BraveOnDemandUpdater::RegisterOnDemandUpdater(
bool is_component_update_disabled,
component_updater::OnDemandUpdater* on_demand_updater) {
if (!on_demand_updater) {
CHECK_IS_TEST();
}
bool allow_brave_component_update =
base::CommandLine::ForCurrentProcess()->HasSwitch(
kAllowBraveComponentUpdate);
is_component_update_disabled_ =
is_component_update_disabled && !allow_brave_component_update;
return std::exchange(on_demand_updater_, on_demand_updater);
}
@@ -37,6 +49,7 @@ void BraveOnDemandUpdater::EnsureInstalled(
const std::string& id,
component_updater::Callback callback) {
CHECK(on_demand_updater_);
DCHECK(!is_component_update_disabled());
on_demand_updater_->EnsureInstalled(id, std::move(callback));
}
@@ -45,6 +58,7 @@ void BraveOnDemandUpdater::OnDemandUpdate(
component_updater::OnDemandUpdater::Priority priority,
component_updater::Callback callback) {
CHECK(on_demand_updater_);
DCHECK(!is_component_update_disabled());
on_demand_updater_->OnDemandUpdate(id, priority, std::move(callback));
}
@@ -53,6 +67,7 @@ void BraveOnDemandUpdater::OnDemandUpdate(
component_updater::OnDemandUpdater::Priority priority,
component_updater::Callback callback) {
CHECK(on_demand_updater_);
DCHECK(!is_component_update_disabled());
on_demand_updater_->OnDemandUpdate(ids, priority, std::move(callback));
}
@@ -28,6 +28,7 @@ class COMPONENT_EXPORT(BRAVE_COMPONENT_UPDATER) BraveOnDemandUpdater {
BraveOnDemandUpdater& operator=(const BraveOnDemandUpdater&) = delete;
component_updater::OnDemandUpdater* RegisterOnDemandUpdater(
bool is_component_update_disabled,
component_updater::OnDemandUpdater* on_demand_updater);
// Install the component with the given id. If the component is already
@@ -44,6 +45,8 @@ class COMPONENT_EXPORT(BRAVE_COMPONENT_UPDATER) BraveOnDemandUpdater {
component_updater::OnDemandUpdater::Priority priority,
component_updater::Callback callback = base::DoNothing());
bool is_component_update_disabled() { return is_component_update_disabled_; }
private:
friend base::NoDestructor<BraveOnDemandUpdater>;
BraveOnDemandUpdater();
@@ -51,6 +54,7 @@ class COMPONENT_EXPORT(BRAVE_COMPONENT_UPDATER) BraveOnDemandUpdater {
raw_ptr<component_updater::OnDemandUpdater, DanglingUntriaged>
on_demand_updater_ = nullptr;
bool is_component_update_disabled_ = false;
};
} // namespace brave_component_updater
@@ -11,12 +11,12 @@ namespace brave_component_updater {
MockOnDemandUpdater::MockOnDemandUpdater() {
prev_on_demand_updater_ =
BraveOnDemandUpdater::GetInstance()->RegisterOnDemandUpdater(this);
BraveOnDemandUpdater::GetInstance()->RegisterOnDemandUpdater(false, this);
}
MockOnDemandUpdater::~MockOnDemandUpdater() {
BraveOnDemandUpdater::GetInstance()->RegisterOnDemandUpdater(
prev_on_demand_updater_);
false, prev_on_demand_updater_);
}
} // namespace brave_component_updater
@@ -148,7 +148,8 @@ void RegisterAdBlockDefaultResourceComponent(
component_updater::ComponentUpdateService* cus,
OnComponentReadyCallback callback) {
// In test, |cus| could be nullptr.
if (!cus) {
if (!cus ||
BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
return;
}
@@ -164,7 +165,8 @@ void RegisterAdBlockFilterListCatalogComponent(
component_updater::ComponentUpdateService* cus,
OnComponentReadyCallback callback) {
// In test, |cus| could be nullptr.
if (!cus) {
if (!cus ||
BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
return;
}
@@ -184,7 +186,8 @@ void RegisterAdBlockFiltersComponent(
const std::string& component_name,
OnComponentReadyCallback callback) {
// In test, |cus| could be nullptr.
if (!cus) {
if (!cus ||
BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
return;
}
+1 -1
View File
@@ -15,7 +15,7 @@ static_library("browser") {
deps = [
"//base",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_user_agent/common",
"//components/component_updater",
"//crypto",
+1 -2
View File
@@ -305,7 +305,7 @@ static_library("browser") {
":transaction",
":utils",
"//base",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_stats/browser",
"//brave/components/brave_wallet/api",
"//brave/components/brave_wallet/browser/bitcoin:generated_bitcoin_rpc_responses",
@@ -764,7 +764,6 @@ source_set("unit_tests") {
":transaction",
":utils",
"//base/test:test_support",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:test_support",
"//brave/components/brave_wallet/browser/bitcoin:generated_bitcoin_rpc_responses",
"//brave/components/brave_wallet/browser/cardano:generated_cardano_rpc_blockfrost_api",
@@ -169,6 +169,10 @@ void WalletDataFilesInstaller::SetDelegate(
void WalletDataFilesInstaller::RegisterWalletDataFilesComponentInternal(
component_updater::ComponentUpdateService* cus) {
if (brave_component_updater::BraveOnDemandUpdater::GetInstance()
->is_component_update_disabled()) {
return;
}
auto installer = base::MakeRefCounted<component_updater::ComponentInstaller>(
std::make_unique<WalletDataFilesInstallerPolicy>());
@@ -52,7 +52,7 @@ static_library("browser") {
deps = [
"//base",
"//brave/components/brave_ads/core",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_rewards/core",
"//brave/components/constants",
"//brave/components/ntp_background_images/buildflags",
@@ -167,7 +167,8 @@ void RegisterNTPSponsoredImagesComponentCallback(
void RegisterNTPBackgroundImagesComponent(
component_updater::ComponentUpdateService* component_update_service,
OnComponentReadyCallback callback) {
if (!component_update_service) {
if (!component_update_service ||
BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
// In test, `component_update_service` could be nullptr.
return;
}
@@ -188,7 +189,8 @@ void RegisterNTPSponsoredImagesComponent(
const std::string& component_id,
const std::string& component_name,
OnComponentReadyCallback callback) {
if (!component_update_service) {
if (!component_update_service ||
BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
// In test, `component_update_service` could be nullptr.
return;
}
+1 -1
View File
@@ -70,7 +70,7 @@ static_library("p3a") {
"constellation/rs/cxx:rust_lib",
"//base",
"//brave/brave_domains",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_stats/browser",
"//brave/components/l10n/common",
"//brave/components/p3a:buildflags",
+3 -1
View File
@@ -98,7 +98,9 @@ class P3AComponentInstallerPolicy
void MaybeToggleP3AComponent(ComponentUpdateService* cus,
P3AService* p3a_service) {
if (!cus || !p3a_service) {
if (!cus || !p3a_service ||
brave_component_updater::BraveOnDemandUpdater::GetInstance()
->is_component_update_disabled()) {
return;
}
+1 -1
View File
@@ -50,7 +50,7 @@ static_library("browser") {
deps = [
"//base",
"//brave/components/api_request_helper",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/p3a_utils",
"//brave/components/resources:static_resources",
"//brave/components/resources:strings",
@@ -150,8 +150,10 @@ void RegisterMediaDetectorComponent(
component_updater::ComponentUpdateService* cus,
OnComponentReadyCallback callback) {
// In test, |cus| could be nullptr.
if (!cus)
if (!cus ||
BraveOnDemandUpdater::GetInstance()->is_component_update_disabled()) {
return;
}
auto installer = base::MakeRefCounted<component_updater::ComponentInstaller>(
std::make_unique<MediaDetectorComponentInstallerPolicy>(callback));
+1 -1
View File
@@ -33,7 +33,7 @@ static_library("core") {
]
deps = [
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/psst/common",
"//brave/extensions:common",
"//components/component_updater",
+1 -1
View File
@@ -17,7 +17,7 @@ source_set("brave_shields") {
deps = [
"//base",
"//brave/base/mac",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_shields/core/browser",
"//brave/components/brave_shields/core/browser/adblock",
"//brave/components/brave_shields/core/common",
+1 -1
View File
@@ -13,7 +13,7 @@ source_set("features") {
"//base",
"//brave/components/ai_chat/core/common",
"//brave/components/brave_account:features",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_news/common",
"//brave/components/brave_rewards/core:features",
"//brave/components/brave_search/common",
+1 -1
View File
@@ -6,7 +6,7 @@
brave_flags_deps = [
"//base",
"//brave/components/brave_ads/core",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_rewards/core",
"//brave/components/brave_rewards/core/buildflags",
"//brave/components/brave_shields/core/common",
+1 -1
View File
@@ -13,7 +13,7 @@ source_set("web") {
deps = [
"//base",
"//brave/components/ai_chat/core/browser",
"//brave/components/brave_component_updater/browser",
"//brave/components/brave_component_updater/browser:public",
"//brave/components/brave_user_agent/browser",
"//brave/components/brave_wallet/browser",
"//brave/components/constants",
+4 -1
View File
@@ -60,7 +60,10 @@ void BraveWebMainParts::PreMainMessageLoopRun() {
application_context_->GetComponentUpdateService();
DCHECK(cus);
brave_component_updater::BraveOnDemandUpdater::GetInstance()
->RegisterOnDemandUpdater(&cus->GetOnDemandUpdater());
->RegisterOnDemandUpdater(
base::CommandLine::ForCurrentProcess()->HasSwitch(
"disable-component-update"),
&cus->GetOnDemandUpdater());
RegisterComponentsForUpdate(cus);
static_cast<BraveApplicationContextImpl*>(application_context_.get())