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:
@@ -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
@@ -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",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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",
|
||||
]
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
],
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
+4
-2
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user