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 |