| Index: components/ntp_snippets/features.cc
|
| diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
|
| index 985f5d6f0ea447ba67d0376d1d687869bd002af8..e8153e19aa1ce5284fa7f07c3f7d9ce13b450b36 100644
|
| --- a/components/ntp_snippets/features.cc
|
| +++ b/components/ntp_snippets/features.cc
|
| @@ -9,7 +9,6 @@
|
| #include "base/time/clock.h"
|
| #include "components/ntp_snippets/category_rankers/click_based_category_ranker.h"
|
| #include "components/ntp_snippets/category_rankers/constant_category_ranker.h"
|
| -#include "components/variations/variations_associated_data.h"
|
|
|
| namespace ntp_snippets {
|
|
|
| @@ -62,38 +61,20 @@ const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
|
| "RemoteSuggestionsEmulateM58FetchingSchedule",
|
| base::FEATURE_DISABLED_BY_DEFAULT};
|
|
|
| -const char kCategoryRankerParameter[] = "category_ranker";
|
| +constexpr base::FeatureParam<CategoryRankerChoice>::Option
|
| + kCategoryRankerParameterOptions[] = {
|
| + {CategoryRankerChoice::CONSTANT, kCategoryRankerConstantRanker},
|
| + {CategoryRankerChoice::CLICK_BASED, kCategoryRankerClickBasedRanker}};
|
| +constexpr base::FeatureParam<CategoryRankerChoice> kCategoryRankerParameter{
|
| + &kCategoryRanker, "category_ranker", CategoryRankerChoice::CONSTANT,
|
| + &kCategoryRankerParameterOptions};
|
| 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()) {
|
| - // TODO(crbug.com/735066): Remove the experiment configurations from
|
| - // fieldtrial_testing_config.json when enabling ClickBasedRanker by default.
|
| -
|
| - // Default, Enabled or Disabled.
|
| - return CategoryRankerChoice::CONSTANT;
|
| - }
|
| - if (category_ranker_value == kCategoryRankerConstantRanker) {
|
| - return CategoryRankerChoice::CONSTANT;
|
| - }
|
| - if (category_ranker_value == kCategoryRankerClickBasedRanker) {
|
| - return CategoryRankerChoice::CLICK_BASED;
|
| - }
|
| -
|
| - LOG(DFATAL) << "The " << kCategoryRankerParameter << " parameter value is '"
|
| - << category_ranker_value << "'";
|
| - return CategoryRankerChoice::CONSTANT;
|
| -}
|
| -
|
| std::unique_ptr<CategoryRanker> BuildSelectedCategoryRanker(
|
| PrefService* pref_service,
|
| std::unique_ptr<base::Clock> clock) {
|
| - CategoryRankerChoice choice = ntp_snippets::GetSelectedCategoryRanker();
|
| + CategoryRankerChoice choice = kCategoryRankerParameter.Get();
|
| switch (choice) {
|
| case CategoryRankerChoice::CONSTANT:
|
| return base::MakeUnique<ConstantCategoryRanker>();
|
| @@ -107,34 +88,21 @@ std::unique_ptr<CategoryRanker> BuildSelectedCategoryRanker(
|
| const base::Feature kCategoryOrder{"ContentSuggestionsCategoryOrder",
|
| base::FEATURE_DISABLED_BY_DEFAULT};
|
|
|
| -const char kCategoryOrderParameter[] = "category_order";
|
| +constexpr base::FeatureParam<CategoryOrderChoice>::Option
|
| + kCategoryOrderParameterOptions[] = {
|
| + {CategoryOrderChoice::GENERAL, kCategoryOrderGeneral},
|
| + {CategoryOrderChoice::EMERGING_MARKETS_ORIENTED,
|
| + kCategoryOrderEmergingMarketsOriented}};
|
| +const base::FeatureParam<CategoryOrderChoice> kCategoryOrderParameter{
|
| + &kCategoryOrder, "category_order", CategoryOrderChoice::GENERAL,
|
| + &kCategoryOrderParameterOptions};
|
| +
|
| const char kCategoryOrderGeneral[] = "general";
|
| const char kCategoryOrderEmergingMarketsOriented[] =
|
| "emerging_markets_oriented";
|
|
|
| CategoryOrderChoice GetSelectedCategoryOrder() {
|
| - if (!base::FeatureList::IsEnabled(kCategoryOrder)) {
|
| - return CategoryOrderChoice::GENERAL;
|
| - }
|
| -
|
| - std::string category_order_value =
|
| - variations::GetVariationParamValueByFeature(kCategoryOrder,
|
| - kCategoryOrderParameter);
|
| -
|
| - if (category_order_value.empty()) {
|
| - // Enabled with no parameters.
|
| - return CategoryOrderChoice::GENERAL;
|
| - }
|
| - if (category_order_value == kCategoryOrderGeneral) {
|
| - return CategoryOrderChoice::GENERAL;
|
| - }
|
| - if (category_order_value == kCategoryOrderEmergingMarketsOriented) {
|
| - return CategoryOrderChoice::EMERGING_MARKETS_ORIENTED;
|
| - }
|
| -
|
| - LOG(DFATAL) << "The " << kCategoryOrderParameter << " parameter value is '"
|
| - << category_order_value << "'";
|
| - return CategoryOrderChoice::GENERAL;
|
| + return kCategoryOrderParameter.Get();
|
| }
|
|
|
| const base::Feature kNotificationsFeature = {"ContentSuggestionsNotifications",
|
|
|