Index: components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc |
diff --git a/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc b/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc |
index 7e43abd335f02d5e5bbf5d688fa5b23443eb671c..27db53369de864abb9efdf91069fb6b30be533ea 100644 |
--- a/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc |
+++ b/components/ntp_snippets/bookmarks/bookmark_suggestions_provider.cc |
@@ -29,6 +29,8 @@ |
using bookmarks::BookmarkModel; |
using bookmarks::BookmarkNode; |
+namespace ntp_snippets { |
+ |
namespace { |
const int kMaxBookmarks = 10; |
@@ -43,53 +45,37 @@ const char* kUseCreationDateFallbackForDaysParamName = |
"bookmarks_creation_date_fallback_days"; |
const char* kShowIfEmptyParamName = "bookmarks_show_if_empty"; |
+// Any bookmark created or visited after this time will be considered recent. |
+// Note that bookmarks can be shown that do not meet this threshold. |
base::Time GetThresholdTime() { |
- std::string age_in_days_string = variations::GetVariationParamValueByFeature( |
- ntp_snippets::kBookmarkSuggestionsFeature, kMaxBookmarkAgeInDaysParamName); |
- int age_in_days = 0; |
- if (!base::StringToInt(age_in_days_string, &age_in_days)) { |
- if (!age_in_days_string.empty()) |
- LOG(WARNING) << "Failed to parse bookmark age " << age_in_days_string; |
- age_in_days = kMaxBookmarkAgeInDays; |
- } |
- return base::Time::Now() - base::TimeDelta::FromDays(age_in_days); |
+ return base::Time::Now() - |
+ base::TimeDelta::FromDays(GetParamAsInt( |
+ ntp_snippets::kBookmarkSuggestionsFeature, |
+ kMaxBookmarkAgeInDaysParamName, kMaxBookmarkAgeInDays)); |
} |
+// The number of days used as a threshold where if this is larger than the time |
+// since M54 started, then the creation timestamp of a bookmark be used as a |
+// fallback if no last visited timestamp is present. |
int UseCreationDateFallbackForDays() { |
- std::string days_string = variations::GetVariationParamValueByFeature( |
- ntp_snippets::kBookmarkSuggestionsFeature, |
- kUseCreationDateFallbackForDaysParamName); |
- int days = 0; |
- if (!base::StringToInt(days_string, &days)) { |
- if (!days_string.empty()) |
- LOG(WARNING) << "Failed to parse bookmark fallback days " << days_string; |
- days = kUseCreationDateFallbackForDays; |
- } |
- return days; |
+ return GetParamAsInt(ntp_snippets::kBookmarkSuggestionsFeature, |
+ kUseCreationDateFallbackForDaysParamName, |
+ kUseCreationDateFallbackForDays); |
} |
+// The maximum number of suggestions ever provided. |
int GetMaxCount() { |
- std::string max_count_string = variations::GetVariationParamValueByFeature( |
- ntp_snippets::kBookmarkSuggestionsFeature, kMaxBookmarksParamName); |
- int max_count = 0; |
- if (base::StringToInt(max_count_string, &max_count)) |
- return max_count; |
- if (!max_count_string.empty()) |
- LOG(WARNING) << "Failed to parse max bookmarks count " << max_count_string; |
- |
- return kMaxBookmarks; |
+ return GetParamAsInt(ntp_snippets::kBookmarkSuggestionsFeature, |
+ kMaxBookmarksParamName, kMaxBookmarks); |
} |
+// The minimum number of suggestions to try to provide. Depending on other |
+// parameters this may or not be respected. Currently creation date fallback |
+// must be active in order for older bookmarks to be incorporated to meet this |
+// min. |
int GetMinCount() { |
- std::string min_count_string = variations::GetVariationParamValueByFeature( |
- ntp_snippets::kBookmarkSuggestionsFeature, kMinBookmarksParamName); |
- int min_count = 0; |
- if (base::StringToInt(min_count_string, &min_count)) |
- return min_count; |
- if (!min_count_string.empty()) |
- LOG(WARNING) << "Failed to parse min bookmarks count " << min_count_string; |
- |
- return kMinBookmarks; |
+ return GetParamAsInt(ntp_snippets::kBookmarkSuggestionsFeature, |
+ kMinBookmarksParamName, kMinBookmarks); |
} |
bool ShouldShowIfEmpty() { |
@@ -106,8 +92,6 @@ bool ShouldShowIfEmpty() { |
} // namespace |
-namespace ntp_snippets { |
- |
BookmarkSuggestionsProvider::BookmarkSuggestionsProvider( |
ContentSuggestionsProvider::Observer* observer, |
CategoryFactory* category_factory, |
@@ -163,9 +147,8 @@ CategoryInfo BookmarkSuggestionsProvider::GetCategoryInfo(Category category) { |
return CategoryInfo( |
l10n_util::GetStringUTF16(IDS_NTP_BOOKMARK_SUGGESTIONS_SECTION_HEADER), |
ContentSuggestionsCardLayout::MINIMAL_CARD, |
- /* has_more_button */ true, |
- /* show_if_empty */ ShouldShowIfEmpty() && |
- bookmark_model_->HasBookmarks()); |
+ /*has_more_button=*/true, |
+ /*show_if_empty=*/ShouldShowIfEmpty() && bookmark_model_->HasBookmarks()); |
// TODO(treib): Setting show_if_empty to true is a temporary hack, see |
// crbug.com/640568. |
} |