Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/subresource_filter/core/browser/subresource_filter_features .h" | 5 #include "components/subresource_filter/core/browser/subresource_filter_features .h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/strings/string_split.h" | |
| 9 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| 10 #include "components/variations/variations_associated_data.h" | 11 #include "components/variations/variations_associated_data.h" |
| 11 | 12 |
| 12 namespace subresource_filter { | 13 namespace subresource_filter { |
| 13 | 14 |
| 14 const base::Feature kSafeBrowsingSubresourceFilter{ | 15 const base::Feature kSafeBrowsingSubresourceFilter{ |
| 15 "SubresourceFilter", base::FEATURE_DISABLED_BY_DEFAULT}; | 16 "SubresourceFilter", base::FEATURE_DISABLED_BY_DEFAULT}; |
| 16 | 17 |
| 17 const char kActivationStateParameterName[] = "activation_state"; | 18 const char kActivationStateParameterName[] = "activation_state"; |
| 18 const char kActivationStateDryRun[] = "dryrun"; | 19 const char kActivationStateDryRun[] = "dryrun"; |
| 19 const char kActivationStateEnabled[] = "enabled"; | 20 const char kActivationStateEnabled[] = "enabled"; |
| 20 const char kActivationStateDisabled[] = "disabled"; | 21 const char kActivationStateDisabled[] = "disabled"; |
| 21 | 22 |
| 22 const char kActivationScopeParameterName[] = "activation_scope"; | 23 const char kActivationScopeParameterName[] = "activation_scope"; |
| 23 const char kActivationScopeAllSites[] = "all_sites"; | 24 const char kActivationScopeAllSites[] = "all_sites"; |
| 24 const char kActivationScopeActivationList[] = "activation_list"; | 25 const char kActivationScopeActivationList[] = "activation_list"; |
| 25 const char kActivationScopeNoSites[] = "no_sites"; | 26 const char kActivationScopeNoSites[] = "no_sites"; |
| 26 | 27 |
| 28 const char kActivationListsParameterName[] = "activation_lists"; | |
| 29 const char kActivationListSocialEngineeringAdsInterstitial[] = | |
| 30 "social_eng_ads_intertitial"; | |
|
engedy
2016/08/26 17:37:18
Watch out, typo still hiding in this literal. We
| |
| 31 const char kActivationListPhishingInterstitial[] = "phishing_interstitial"; | |
| 32 | |
| 27 ActivationState GetMaximumActivationState() { | 33 ActivationState GetMaximumActivationState() { |
| 28 std::string activation_state = variations::GetVariationParamValueByFeature( | 34 std::string activation_state = variations::GetVariationParamValueByFeature( |
| 29 kSafeBrowsingSubresourceFilter, kActivationStateParameterName); | 35 kSafeBrowsingSubresourceFilter, kActivationStateParameterName); |
| 30 if (base::LowerCaseEqualsASCII(activation_state, kActivationStateEnabled)) | 36 if (base::LowerCaseEqualsASCII(activation_state, kActivationStateEnabled)) |
| 31 return ActivationState::ENABLED; | 37 return ActivationState::ENABLED; |
| 32 else if (base::LowerCaseEqualsASCII(activation_state, kActivationStateDryRun)) | 38 else if (base::LowerCaseEqualsASCII(activation_state, kActivationStateDryRun)) |
| 33 return ActivationState::DRYRUN; | 39 return ActivationState::DRYRUN; |
| 34 return ActivationState::DISABLED; | 40 return ActivationState::DISABLED; |
| 35 } | 41 } |
| 36 | 42 |
| 37 ActivationScope GetCurrentActivationScope() { | 43 ActivationScope GetCurrentActivationScope() { |
| 38 std::string activation_scope = variations::GetVariationParamValueByFeature( | 44 std::string activation_scope = variations::GetVariationParamValueByFeature( |
| 39 kSafeBrowsingSubresourceFilter, kActivationScopeParameterName); | 45 kSafeBrowsingSubresourceFilter, kActivationScopeParameterName); |
| 40 if (base::LowerCaseEqualsASCII(activation_scope, kActivationScopeAllSites)) | 46 if (base::LowerCaseEqualsASCII(activation_scope, kActivationScopeAllSites)) |
| 41 return ActivationScope::ALL_SITES; | 47 return ActivationScope::ALL_SITES; |
| 42 else if (base::LowerCaseEqualsASCII(activation_scope, | 48 else if (base::LowerCaseEqualsASCII(activation_scope, |
| 43 kActivationScopeActivationList)) | 49 kActivationScopeActivationList)) |
| 44 return ActivationScope::ACTIVATION_LIST; | 50 return ActivationScope::ACTIVATION_LIST; |
| 45 return ActivationScope::NO_SITES; | 51 return ActivationScope::NO_SITES; |
| 46 } | 52 } |
| 47 | 53 |
| 54 ActivationList GetCurrentActivationList() { | |
| 55 std::string activation_lists = variations::GetVariationParamValueByFeature( | |
| 56 kSafeBrowsingSubresourceFilter, kActivationListsParameterName); | |
| 57 ActivationList activation_list_type = ActivationList::NONE; | |
| 58 for (const base::StringPiece& activation_list : | |
| 59 base::SplitStringPiece(activation_lists, ",", base::TRIM_WHITESPACE, | |
| 60 base::SPLIT_WANT_NONEMPTY)) { | |
| 61 if (base::LowerCaseEqualsASCII(activation_list, | |
| 62 kActivationListPhishingInterstitial)) { | |
| 63 return ActivationList::PHISHING_INTERSTITIAL; | |
| 64 } else if (base::LowerCaseEqualsASCII( | |
| 65 activation_list, | |
| 66 kActivationListSocialEngineeringAdsInterstitial)) { | |
| 67 activation_list_type = ActivationList::SOCIAL_ENG_ADS_INTERSTITIAL; | |
| 68 } | |
| 69 } | |
| 70 return activation_list_type; | |
| 71 } | |
| 72 | |
| 48 } // namespace subresource_filter | 73 } // namespace subresource_filter |
| OLD | NEW |