Index: components/ntp_snippets/features.cc |
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc |
index 03cfbc3bf45f0831f3d6c9836aa39d7f2e8254df..24005341751d4993fcdfb81e9ae6b4bfc1e9531d 100644 |
--- a/components/ntp_snippets/features.cc |
+++ b/components/ntp_snippets/features.cc |
@@ -44,4 +44,32 @@ 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}; |
+ |
+const char kCategoryRankerParameter[] = "category_ranker"; |
+const char kCategoryRankerConstantRanker[] = "constant"; |
+const char kCategoryRankerClickBasedRanker[] = "click_based"; |
+ |
+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 |