Index: components/ntp_snippets/features.cc |
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc |
index 03cfbc3bf45f0831f3d6c9836aa39d7f2e8254df..2a41c46fa285aa9db8b34c7c91e649add283461e 100644 |
--- a/components/ntp_snippets/features.cc |
+++ b/components/ntp_snippets/features.cc |
@@ -44,4 +44,28 @@ const base::Feature kFetchMoreFeature{"NTPSuggestionsFetchMore", |
const base::Feature kPreferAmpUrlsFeature{"NTPPreferAmpUrls", |
base::FEATURE_ENABLED_BY_DEFAULT}; |
+const base::Feature kCategoryRanker{"NTPCategoryRanker", |
+ base::FEATURE_ENABLED_BY_DEFAULT}; |
+ |
+CategoryRankerChoice GetSelectedCategoryRanker() { |
+ std::string category_ranker_value = |
+ variations::GetVariationParamValueByFeature(kCategoryRanker, |
+ kCategoryRankerParameter); |
+ |
+ if (category_ranker_value.empty()) { |
+ // Default, Enabled or Disabled. |
+ return CategoryRankerChoice::CONSTANT; |
+ } |
+ if (category_ranker_value == kCategoryRankerConstantRanker) { |
+ return CategoryRankerChoice::CONSTANT; |
+ } |
+ if (category_ranker_value == kCategoryRankerClickBasedRanker) { |
+ return CategoryRankerChoice::CLICK_BASED; |
+ } |
+ |
+ NOTREACHED() << "The " << kCategoryRankerParameter << " parameter value is '" |
+ << category_ranker_value << "'"; |
+ return CategoryRankerChoice::CONSTANT; |
+} |
+ |
} // namespace ntp_snippets |