Index: components/subresource_filter/core/browser/subresource_filter_features.cc |
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc |
index a0dea3959a6db787c5a27ba211922ebcacfe608a..8a10e0e3a41ca4f9de0aa1c51ed3f68862a11467 100644 |
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc |
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc |
@@ -6,6 +6,7 @@ |
#include <string> |
+#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
#include "components/variations/variations_associated_data.h" |
@@ -24,6 +25,11 @@ const char kActivationScopeAllSites[] = "all_sites"; |
const char kActivationScopeActivationList[] = "activation_list"; |
const char kActivationScopeNoSites[] = "no_sites"; |
+const char kActivationListsParameterName[] = "activation_lists"; |
+const char kActivationListSocialEngineeringAdsInterstitial[] = |
+ "social_eng_ads_intertitial"; |
engedy
2016/08/26 17:37:18
Watch out, typo still hiding in this literal. We
|
+const char kActivationListPhishingInterstitial[] = "phishing_interstitial"; |
+ |
ActivationState GetMaximumActivationState() { |
std::string activation_state = variations::GetVariationParamValueByFeature( |
kSafeBrowsingSubresourceFilter, kActivationStateParameterName); |
@@ -45,4 +51,23 @@ ActivationScope GetCurrentActivationScope() { |
return ActivationScope::NO_SITES; |
} |
+ActivationList GetCurrentActivationList() { |
+ std::string activation_lists = variations::GetVariationParamValueByFeature( |
+ kSafeBrowsingSubresourceFilter, kActivationListsParameterName); |
+ ActivationList activation_list_type = ActivationList::NONE; |
+ for (const base::StringPiece& activation_list : |
+ base::SplitStringPiece(activation_lists, ",", base::TRIM_WHITESPACE, |
+ base::SPLIT_WANT_NONEMPTY)) { |
+ if (base::LowerCaseEqualsASCII(activation_list, |
+ kActivationListPhishingInterstitial)) { |
+ return ActivationList::PHISHING_INTERSTITIAL; |
+ } else if (base::LowerCaseEqualsASCII( |
+ activation_list, |
+ kActivationListSocialEngineeringAdsInterstitial)) { |
+ activation_list_type = ActivationList::SOCIAL_ENG_ADS_INTERSTITIAL; |
+ } |
+ } |
+ return activation_list_type; |
+} |
+ |
} // namespace subresource_filter |