diff --git a/components/brave_shields/content/test/strip_procedural_filters_unittest.cc b/components/brave_shields/content/test/strip_procedural_filters_unittest.cc index e74f915728f..d7c800c7cd0 100644 --- a/components/brave_shields/content/test/strip_procedural_filters_unittest.cc +++ b/components/brave_shields/content/test/strip_procedural_filters_unittest.cc @@ -8,6 +8,7 @@ #include "base/json/json_reader.h" #include "brave/components/brave_shields/adblock/rs/src/lib.rs.h" #include "brave/components/brave_shields/core/browser/ad_block_service_helper.h" +#include "brave/components/brave_shields/core/common/brave_shield_constants.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -46,13 +47,15 @@ TEST_F(StripProceduralFiltersTest, EmptyResources) { std::string rules = ""; auto resources = ResourcesForRules(rules); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 0UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 0UL); StripProceduralFilters(resources); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 0UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 0UL); } TEST_F(StripProceduralFiltersTest, NotRemoved) { @@ -64,14 +67,16 @@ TEST_F(StripProceduralFiltersTest, NotRemoved) { )"; auto resources = ResourcesForRules(rules); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 4UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 4UL); // no-op - no procedural filters StripProceduralFilters(resources); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 4UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 4UL); } TEST_F(StripProceduralFiltersTest, ProceduralFilters) { @@ -84,14 +89,16 @@ TEST_F(StripProceduralFiltersTest, ProceduralFilters) { )"; auto resources = ResourcesForRules(rules); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 5UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 5UL); // All removed; only procedural filters StripProceduralFilters(resources); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 0UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 0UL); } TEST_F(StripProceduralFiltersTest, Mixed) { @@ -108,14 +115,16 @@ TEST_F(StripProceduralFiltersTest, Mixed) { )"; auto resources = ResourcesForRules(rules); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 9UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 9UL); // 5 procedural filters removed; 4 non-procedural filters remaining StripProceduralFilters(resources); - ASSERT_TRUE(resources.FindList("procedural_actions")); - ASSERT_EQ(resources.FindList("procedural_actions")->size(), 4UL); + ASSERT_TRUE(resources.FindList(kCosmeticResourcesProceduralActions)); + ASSERT_EQ(resources.FindList(kCosmeticResourcesProceduralActions)->size(), + 4UL); } } // namespace brave_shields diff --git a/components/brave_shields/core/browser/ad_block_service_helper.cc b/components/brave_shields/core/browser/ad_block_service_helper.cc index 16f174462fe..d33939fd73f 100644 --- a/components/brave_shields/core/browser/ad_block_service_helper.cc +++ b/components/brave_shields/core/browser/ad_block_service_helper.cc @@ -11,6 +11,7 @@ #include "base/json/json_reader.h" #include "base/strings/strcat.h" #include "base/values.h" +#include "brave/components/brave_shields/core/common/brave_shield_constants.h" namespace brave_shields { @@ -64,7 +65,8 @@ void MergeResourcesInto(base::Value::Dict from, } } - constexpr std::string_view kListKeys[] = {"exceptions", "procedural_actions"}; + constexpr std::string_view kListKeys[] = { + "exceptions", kCosmeticResourcesProceduralActions}; for (const auto& key_ : kListKeys) { base::Value::List* resources = into.FindList(key_); base::Value::List* from_resources = from.FindList(key_); @@ -98,7 +100,7 @@ void MergeResourcesInto(base::Value::Dict from, // https://docs.rs/adblock/latest/adblock/cosmetic_filter_cache/struct.ProceduralOrActionFilter.html void StripProceduralFilters(base::Value::Dict& resources) { base::Value::List* procedural_actions = - resources.FindList("procedural_actions"); + resources.FindList(kCosmeticResourcesProceduralActions); if (procedural_actions) { base::Value::List::iterator it = procedural_actions->begin(); while (it < procedural_actions->end()) { diff --git a/components/brave_shields/core/common/brave_shield_constants.h b/components/brave_shields/core/common/brave_shield_constants.h index 607c974a72c..0269c7e648b 100644 --- a/components/brave_shields/core/common/brave_shield_constants.h +++ b/components/brave_shields/core/common/brave_shield_constants.h @@ -33,6 +33,11 @@ inline constexpr char kObsoleteShieldsCookies[] = "shieldsCookies"; // Some users were not properly migrated from fingerprinting V1. inline constexpr char kObsoleteFingerprinting[] = "fingerprinting"; +// Key for procedural and action filters in the UrlCosmeticResources struct from +// adblock-rust +inline constexpr char kCosmeticResourcesProceduralActions[] = + "procedural_actions"; + // Filename for cached text from a custom filter list subscription const base::FilePath::CharType kCustomSubscriptionListText[] = FILE_PATH_LITERAL("list_text.txt"); diff --git a/components/cosmetic_filters/browser/cosmetic_filters_resources.cc b/components/cosmetic_filters/browser/cosmetic_filters_resources.cc index 4809e50fddf..e9fea0c8791 100644 --- a/components/cosmetic_filters/browser/cosmetic_filters_resources.cc +++ b/components/cosmetic_filters/browser/cosmetic_filters_resources.cc @@ -13,6 +13,7 @@ #include "base/json/json_reader.h" #include "base/values.h" #include "brave/components/brave_shields/content/browser/ad_block_service.h" +#include "brave/components/brave_shields/core/common/brave_shield_constants.h" #include "brave/components/brave_shields/core/common/features.h" #include "components/content_settings/core/browser/host_content_settings_map.h" @@ -97,7 +98,7 @@ void CosmeticFiltersResources::UrlCosmeticResources( ad_block_service_->UrlCosmeticResources(url, aggressive_blocking); const auto* procedural_actions_list = - resources.FindList("procedural_actions"); + resources.FindList(brave_shields::kCosmeticResourcesProceduralActions); if (procedural_actions_list && !procedural_actions_list->empty()) { const char* procedural_filtering_feature_enabled = base::FeatureList::IsEnabled(