Index: components/ntp_snippets/ntp_snippets_service.cc |
diff --git a/components/ntp_snippets/ntp_snippets_service.cc b/components/ntp_snippets/ntp_snippets_service.cc |
index 1f0909290671e5b99efe52cb9d8630e2a48f1b50..c401f632e4fcef08e046fcf91e59279cf0ea94d4 100644 |
--- a/components/ntp_snippets/ntp_snippets_service.cc |
+++ b/components/ntp_snippets/ntp_snippets_service.cc |
@@ -221,6 +221,8 @@ NTPSnippetsService::NTPSnippetsService( |
RequestThrottler::RequestType::CONTENT_SUGGESTION_THUMBNAIL) { |
// Articles category always exists; others will be added as needed. |
categories_[articles_category_] = CategoryContent(); |
+ categories_[articles_category_].localized_title = |
+ l10n_util::GetStringUTF16(IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_HEADER); |
observer->OnCategoryStatusChanged(this, articles_category_, |
categories_[articles_category_].status); |
if (database_->IsErrorState()) { |
@@ -306,12 +308,11 @@ CategoryStatus NTPSnippetsService::GetCategoryStatus(Category category) { |
CategoryInfo NTPSnippetsService::GetCategoryInfo(Category category) { |
DCHECK(categories_.find(category) != categories_.end()); |
- // TODO(sfiera): pass back titles for server categories. |
- return CategoryInfo( |
- l10n_util::GetStringUTF16(IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_HEADER), |
- ContentSuggestionsCardLayout::FULL_CARD, |
- /* has_more_button */ false, |
- /* show_if_empty */ true); |
+ const CategoryContent& content = categories_[category]; |
+ return CategoryInfo(content.localized_title, |
+ ContentSuggestionsCardLayout::FULL_CARD, |
+ /* has_more_button */ false, |
+ /* show_if_empty */ true); |
} |
void NTPSnippetsService::DismissSuggestion(const std::string& suggestion_id) { |
@@ -558,9 +559,13 @@ void NTPSnippetsService::OnFetchFinished( |
// If snippets were fetched successfully, update our |categories_| from each |
// category provided by the server. |
if (snippets) { |
- for (std::pair<const Category, NTPSnippet::PtrVector>& item : *snippets) { |
- Category category = item.first; |
- NTPSnippet::PtrVector& new_snippets = item.second; |
+ for (NTPSnippetsFetcher::FetchedCategory& fetched_category : *snippets) { |
+ Category category = fetched_category.category; |
+ |
+ if (category != articles_category_) { |
tschumann
2016/08/29 09:59:53
note: special casing the articles category like th
Michael van Ouwerkerk
2016/09/08 13:03:27
The form of "category != articles_category_" is us
|
+ categories_[category].localized_title = |
+ fetched_category.localized_title; |
+ } |
DCHECK_LE(snippets->size(), static_cast<size_t>(kMaxSnippetCount)); |
// TODO(sfiera): histograms for server categories. |
@@ -568,10 +573,10 @@ void NTPSnippetsService::OnFetchFinished( |
// kMaxSnippetCount). |
if (category == articles_category_) { |
UMA_HISTOGRAM_SPARSE_SLOWLY("NewTabPage.Snippets.NumArticlesFetched", |
- new_snippets.size()); |
+ fetched_category.snippets.size()); |
} |
- MergeSnippets(category, std::move(new_snippets)); |
+ MergeSnippets(category, std::move(fetched_category.snippets)); |
// If there are more snippets than we want to show, delete the extra ones. |
CategoryContent* content = &categories_[category]; |