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 e85213c37a684ff52f9c6edb9865e3453b45eb8d..9ac0acf69922b6ce64ce4dcb5c8f75076d3bf7fe 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_number_conversions.h" |
#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
#include "components/variations/variations_associated_data.h" |
@@ -30,6 +31,9 @@ const char kActivationListSocialEngineeringAdsInterstitial[] = |
"social_engineering_ads_interstitial"; |
const char kActivationListPhishingInterstitial[] = "phishing_interstitial"; |
+const char kPerformanceMeasurementRateParameterName[] = |
+ "performance_measurement_rate"; |
+ |
ActivationState GetMaximumActivationState() { |
std::string activation_state = variations::GetVariationParamValueByFeature( |
kSafeBrowsingSubresourceFilter, kActivationStateParameterName); |
@@ -70,4 +74,13 @@ ActivationList GetCurrentActivationList() { |
return activation_list_type; |
} |
+double GetPerformanceMeasurementRate() { |
+ const std::string rate = variations::GetVariationParamValueByFeature( |
+ kSafeBrowsingSubresourceFilter, kPerformanceMeasurementRateParameterName); |
+ double value = 0; |
+ if (!base::StringToDouble(rate, &value) || value < 0) |
+ return 0; |
+ return value < 1 ? value : 1; |
+} |
+ |
} // namespace subresource_filter |