| 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 |