blob: 7baf3d7bc0ac482e80ff664f7633c940173b4cbb [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/ntp_snippets/features.h"
#include "base/strings/string_number_conversions.h"
#include "components/variations/variations_associated_data.h"
namespace ntp_snippets {
const base::Feature kArticleSuggestionsFeature{
"NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kBookmarkSuggestionsFeature{
"NTPBookmarkSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kRecentOfflineTabSuggestionsFeature{
"NTPOfflinePageSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kSaveToOfflineFeature{
"NTPSaveToOffline", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDownloadSuggestionsFeature{
"NTPDownloadSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kPhysicalWebPageSuggestionsFeature{
"NTPPhysicalWebPageSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kContentSuggestionsFeature{
"NTPSnippets", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kForeignSessionsSuggestionsFeature{
"NTPForeignSessionsSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
int GetParamAsInt(const base::Feature& feature,
const std::string& param_name,
const int default_value) {
std::string value_as_string =
variations::GetVariationParamValueByFeature(feature, param_name);
int value_as_int = 0;
if (!base::StringToInt(value_as_string, &value_as_int)) {
if (!value_as_string.empty()) {
LOG(WARNING) << "Failed to parse variation param " << param_name
<< " with string value " << value_as_string
<< " under feature " << feature.name
<< " into an int. Falling back to default value of "
<< default_value;
}
value_as_int = default_value;
}
return value_as_int;
}
} // namespace ntp_snippets