Force-enable lacros updates independent of policy
Admins can turn off most component updates via the
ComponentUpdatesEnabled policy. Setting this policy to false should not
block lacros updates.
Bug: b:324842220
Change-Id: I14e1669a646e0afad733d3e5bfd07f77eeba0a86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5374108
Reviewed-by: Victor Gabriel Savu <vsavu@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Miriam Polzer <mpolzer@google.com>
Cr-Commit-Position: refs/heads/main@{#1278932}
diff --git a/chrome/browser/component_updater/cros_component_installer_chromeos.cc b/chrome/browser/component_updater/cros_component_installer_chromeos.cc
index 74bd654..c023749 100644
--- a/chrome/browser/component_updater/cros_component_installer_chromeos.cc
+++ b/chrome/browser/component_updater/cros_component_installer_chromeos.cc
@@ -286,6 +286,11 @@
return attributes;
}
+// Lacros is supposed to be updated even if component updates are turned off.
+bool LacrosInstallerPolicy::SupportsGroupPolicyEnabledComponentUpdates() const {
+ return false;
+}
+
// static
void LacrosInstallerPolicy::SetAshVersionForTest(const char* version) {
g_ash_version_for_test = version;
diff --git a/chrome/browser/component_updater/cros_component_installer_chromeos.h b/chrome/browser/component_updater/cros_component_installer_chromeos.h
index 6e2ca20..87012c1 100644
--- a/chrome/browser/component_updater/cros_component_installer_chromeos.h
+++ b/chrome/browser/component_updater/cros_component_installer_chromeos.h
@@ -136,6 +136,7 @@
const base::FilePath& path,
base::Value::Dict manifest) override;
update_client::InstallerAttributes GetInstallerAttributes() const override;
+ bool SupportsGroupPolicyEnabledComponentUpdates() const override;
static void SetAshVersionForTest(const char* version);
};
diff --git a/chrome/browser/component_updater/cros_component_installer_chromeos_unittest.cc b/chrome/browser/component_updater/cros_component_installer_chromeos_unittest.cc
index b2b97f6..33390a8 100644
--- a/chrome/browser/component_updater/cros_component_installer_chromeos_unittest.cc
+++ b/chrome/browser/component_updater/cros_component_installer_chromeos_unittest.cc
@@ -485,6 +485,17 @@
LacrosInstallerPolicy::SetAshVersionForTest(nullptr);
}
+TEST_F(CrOSComponentInstallerTest, LacrosUpdatesIgnoreCompoenentUpdaterPolicy) {
+ auto update_service = std::make_unique<MockComponentUpdateService>();
+ auto installer = base::MakeRefCounted<CrOSComponentInstaller>(
+ nullptr, update_service.get());
+ ComponentConfig config{"lacros-fishfood",
+ ComponentConfig::PolicyType::kLacros, "", ""};
+ LacrosInstallerPolicy policy(config, installer.get());
+
+ ASSERT_FALSE(policy.SupportsGroupPolicyEnabledComponentUpdates());
+}
+
TEST_F(CrOSComponentInstallerTest, RegisterComponent) {
auto cus = std::make_unique<MockComponentUpdateService>();
ComponentConfig config{