Commit 343c0868 authored by Bettina's avatar Bettina Committed by Commit Bot

Do not modify Omaha attributes on extensions for some update events.

Only make a call to PerformActionOnOmahaAttributes iff
COMPONENT_NOT_UPDATED and COMPONENT_UPDATE_FOUND is
true because we don't want to enable an extension by
mistake.

Bug: 1106921
Change-Id: I92d42b7ebfcf99aed91b0fc78836fcd2aa71f4a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2303680
Commit-Queue: Bettina Dea <bdea@chromium.org>
Reviewed-by: default avatarJoshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/master@{#789755}
parent 1d1981a6
......@@ -135,14 +135,15 @@ void UpdateService::OnEvent(Events event, const std::string& extension_id) {
break;
}
base::Value attributes(base::Value::Type::DICTIONARY);
if (should_perform_action_on_omaha_attributes &&
base::FeatureList::IsEnabled(
extensions_features::kDisableMalwareExtensionsRemotely)) {
attributes = GetExtensionOmahaAttributes(extension_id);
if (should_perform_action_on_omaha_attributes) {
base::Value attributes(base::Value::Type::DICTIONARY);
if (base::FeatureList::IsEnabled(
extensions_features::kDisableMalwareExtensionsRemotely)) {
attributes = GetExtensionOmahaAttributes(extension_id);
}
ExtensionSystem::Get(browser_context_)
->PerformActionBasedOnOmahaAttributes(extension_id, attributes);
}
ExtensionSystem::Get(browser_context_)
->PerformActionBasedOnOmahaAttributes(extension_id, attributes);
}
UpdateService::UpdateService(
......
......@@ -497,6 +497,36 @@ TEST_F(UpdateServiceTest, UninstallPings) {
}
}
TEST_F(UpdateServiceTest, NoPerformAction) {
base::test::ScopedFeatureList feature_list;
feature_list.InitAndEnableFeature(
extensions_features::kDisableMalwareExtensionsRemotely);
std::string extension_id = "lpcaedmchfhocbbapmcbpinfpgnhiddi";
ExtensionRegistry* registry = ExtensionRegistry::Get(browser_context());
scoped_refptr<const Extension> extension1 =
ExtensionBuilder("1").SetVersion("1.2").SetID(extension_id).Build();
EXPECT_TRUE(registry->AddEnabled(extension1));
update_client()->set_is_malware_update_item();
update_client()->set_delay_update();
ExtensionUpdateCheckParams update_check_params;
update_check_params.update_info[extension_id] = ExtensionUpdateData();
bool executed = false;
update_service()->StartUpdateCheck(
update_check_params,
base::BindOnce([](bool* executed) { *executed = true; }, &executed));
EXPECT_FALSE(executed);
const auto& request = update_client()->update_request(0);
EXPECT_THAT(request.extension_ids, testing::ElementsAre(extension_id));
update_client()->RunDelayedUpdate(
0, UpdateClientEvents::COMPONENT_CHECKING_FOR_UPDATES);
EXPECT_FALSE(registry->disabled_extensions().GetByID(extension_id));
}
TEST_F(UpdateServiceTest, CheckOmahaAttributes) {
base::test::ScopedFeatureList feature_list;
feature_list.InitAndEnableFeature(
......
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