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/metrics/field_trial_params.h" | 9 #include "base/metrics/field_trial_params.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
11 #include "base/strings/string_split.h" | 11 #include "base/strings/string_split.h" |
12 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
13 #include "components/variations/variations_associated_data.h" | 13 #include "components/variations/variations_associated_data.h" |
14 | 14 |
15 namespace subresource_filter { | 15 namespace subresource_filter { |
16 | 16 |
17 const base::Feature kSafeBrowsingSubresourceFilter{ | 17 const base::Feature kSafeBrowsingSubresourceFilter{ |
18 "SubresourceFilter", base::FEATURE_DISABLED_BY_DEFAULT}; | 18 "SubresourceFilter", base::FEATURE_DISABLED_BY_DEFAULT}; |
19 | 19 |
20 const base::Feature kSafeBrowsingSubresourceFilterExperimentalUI{ | 20 const base::Feature kSafeBrowsingSubresourceFilterExperimentalUI{ |
21 "SubresourceFilterExperimentalUI", base::FEATURE_DISABLED_BY_DEFAULT}; | 21 "SubresourceFilterExperimentalUI", base::FEATURE_DISABLED_BY_DEFAULT}; |
22 | 22 |
| 23 const base::Feature kSubresourceFilterSafeBrowsingActivationThrottle{ |
| 24 "SubresourceFilterSafeBrowsingActivationThrottle", |
| 25 base::FEATURE_DISABLED_BY_DEFAULT}; |
| 26 |
23 // Legacy name `activation_state` is used in variation parameters. | 27 // Legacy name `activation_state` is used in variation parameters. |
24 const char kActivationLevelParameterName[] = "activation_state"; | 28 const char kActivationLevelParameterName[] = "activation_state"; |
25 const char kActivationLevelDryRun[] = "dryrun"; | 29 const char kActivationLevelDryRun[] = "dryrun"; |
26 const char kActivationLevelEnabled[] = "enabled"; | 30 const char kActivationLevelEnabled[] = "enabled"; |
27 const char kActivationLevelDisabled[] = "disabled"; | 31 const char kActivationLevelDisabled[] = "disabled"; |
28 | 32 |
29 const char kActivationScopeParameterName[] = "activation_scope"; | 33 const char kActivationScopeParameterName[] = "activation_scope"; |
30 const char kActivationScopeAllSites[] = "all_sites"; | 34 const char kActivationScopeAllSites[] = "all_sites"; |
31 const char kActivationScopeActivationList[] = "activation_list"; | 35 const char kActivationScopeActivationList[] = "activation_list"; |
32 const char kActivationScopeNoSites[] = "no_sites"; | 36 const char kActivationScopeNoSites[] = "no_sites"; |
33 | 37 |
34 const char kActivationListsParameterName[] = "activation_lists"; | 38 const char kActivationListsParameterName[] = "activation_lists"; |
35 const char kActivationListSocialEngineeringAdsInterstitial[] = | 39 const char kActivationListSocialEngineeringAdsInterstitial[] = |
36 "social_engineering_ads_interstitial"; | 40 "social_engineering_ads_interstitial"; |
37 const char kActivationListPhishingInterstitial[] = "phishing_interstitial"; | 41 const char kActivationListPhishingInterstitial[] = "phishing_interstitial"; |
| 42 const char kActivationListSubresourceFilter[] = "subresource_filter"; |
38 | 43 |
39 const char kRulesetFlavorParameterName[] = "ruleset_flavor"; | 44 const char kRulesetFlavorParameterName[] = "ruleset_flavor"; |
40 | 45 |
41 const char kPerformanceMeasurementRateParameterName[] = | 46 const char kPerformanceMeasurementRateParameterName[] = |
42 "performance_measurement_rate"; | 47 "performance_measurement_rate"; |
43 | 48 |
44 const char kSuppressNotificationsParameterName[] = "suppress_notifications"; | 49 const char kSuppressNotificationsParameterName[] = "suppress_notifications"; |
45 | 50 |
46 const char kWhitelistSiteOnReloadParameterName[] = "whitelist_site_on_reload"; | 51 const char kWhitelistSiteOnReloadParameterName[] = "whitelist_site_on_reload"; |
47 | 52 |
(...skipping 25 matching lines...) Expand all Loading... |
73 for (const base::StringPiece& activation_list : | 78 for (const base::StringPiece& activation_list : |
74 base::SplitStringPiece(activation_lists, ",", base::TRIM_WHITESPACE, | 79 base::SplitStringPiece(activation_lists, ",", base::TRIM_WHITESPACE, |
75 base::SPLIT_WANT_NONEMPTY)) { | 80 base::SPLIT_WANT_NONEMPTY)) { |
76 if (base::LowerCaseEqualsASCII(activation_list, | 81 if (base::LowerCaseEqualsASCII(activation_list, |
77 kActivationListPhishingInterstitial)) { | 82 kActivationListPhishingInterstitial)) { |
78 return ActivationList::PHISHING_INTERSTITIAL; | 83 return ActivationList::PHISHING_INTERSTITIAL; |
79 } else if (base::LowerCaseEqualsASCII( | 84 } else if (base::LowerCaseEqualsASCII( |
80 activation_list, | 85 activation_list, |
81 kActivationListSocialEngineeringAdsInterstitial)) { | 86 kActivationListSocialEngineeringAdsInterstitial)) { |
82 activation_list_type = ActivationList::SOCIAL_ENG_ADS_INTERSTITIAL; | 87 activation_list_type = ActivationList::SOCIAL_ENG_ADS_INTERSTITIAL; |
| 88 } else if (base::LowerCaseEqualsASCII(activation_list, |
| 89 kActivationListSubresourceFilter)) { |
| 90 activation_list_type = ActivationList::SUBRESOURCE_FILTER; |
83 } | 91 } |
84 } | 92 } |
85 return activation_list_type; | 93 return activation_list_type; |
86 } | 94 } |
87 | 95 |
88 double GetPerformanceMeasurementRate() { | 96 double GetPerformanceMeasurementRate() { |
89 const std::string rate = variations::GetVariationParamValueByFeature( | 97 const std::string rate = variations::GetVariationParamValueByFeature( |
90 kSafeBrowsingSubresourceFilter, kPerformanceMeasurementRateParameterName); | 98 kSafeBrowsingSubresourceFilter, kPerformanceMeasurementRateParameterName); |
91 double value = 0; | 99 double value = 0; |
92 if (!base::StringToDouble(rate, &value) || value < 0) | 100 if (!base::StringToDouble(rate, &value) || value < 0) |
(...skipping 13 matching lines...) Expand all Loading... |
106 subresource_filter::kRulesetFlavorParameterName); | 114 subresource_filter::kRulesetFlavorParameterName); |
107 } | 115 } |
108 | 116 |
109 bool ShouldWhitelistSiteOnReload() { | 117 bool ShouldWhitelistSiteOnReload() { |
110 return base::GetFieldTrialParamByFeatureAsBool( | 118 return base::GetFieldTrialParamByFeatureAsBool( |
111 kSafeBrowsingSubresourceFilter, kWhitelistSiteOnReloadParameterName, | 119 kSafeBrowsingSubresourceFilter, kWhitelistSiteOnReloadParameterName, |
112 false /* default value */); | 120 false /* default value */); |
113 } | 121 } |
114 | 122 |
115 } // namespace subresource_filter | 123 } // namespace subresource_filter |
OLD | NEW |