Index: components/ntp_snippets/offline_pages/offline_page_suggestions_provider.cc |
diff --git a/components/ntp_snippets/offline_pages/offline_page_suggestions_provider.cc b/components/ntp_snippets/offline_pages/offline_page_suggestions_provider.cc |
index 9f3ab3e37db64a5c0d69d012112b549a314638e3..539bd801b52692d1d50753496664edce8573369b 100644 |
--- a/components/ntp_snippets/offline_pages/offline_page_suggestions_provider.cc |
+++ b/components/ntp_snippets/offline_pages/offline_page_suggestions_provider.cc |
@@ -20,11 +20,14 @@ const int kMaxSuggestionsCount = 5; |
} // namespace |
OfflinePageSuggestionsProvider::OfflinePageSuggestionsProvider( |
+ ContentSuggestionsCategoryFactory* category_factory, |
OfflinePageModel* offline_page_model) |
- : ContentSuggestionsProvider({ContentSuggestionsCategory::OFFLINE_PAGES}), |
+ : ContentSuggestionsProvider(category_factory), |
category_status_(ContentSuggestionsCategoryStatus::AVAILABLE_LOADING), |
observer_(nullptr), |
- offline_page_model_(offline_page_model) { |
+ offline_page_model_(offline_page_model), |
+ provided_category_(category_factory->FromKnownCategory( |
+ KnownSuggestionsCategories::OFFLINE_PAGES)) { |
offline_page_model_->AddObserver(this); |
} |
@@ -39,6 +42,11 @@ void OfflinePageSuggestionsProvider::Shutdown() { |
//////////////////////////////////////////////////////////////////////////////// |
// Private methods |
+std::vector<ContentSuggestionsCategory> |
+OfflinePageSuggestionsProvider::GetProvidedCategories() { |
+ return std::vector<ContentSuggestionsCategory>({provided_category_}); |
+} |
+ |
void OfflinePageSuggestionsProvider::SetObserver( |
ContentSuggestionsProvider::Observer* observer) { |
observer_ = observer; |
@@ -107,8 +115,7 @@ void OfflinePageSuggestionsProvider::OnOfflinePagesLoaded( |
// Currently, the browser opens the offline URL and then immediately |
// redirects to the online URL if the device is online. |
ContentSuggestion suggestion( |
- MakeUniqueID(ContentSuggestionsCategory::OFFLINE_PAGES, |
- base::IntToString(item.offline_id)), |
+ MakeUniqueID(provided_category_, base::IntToString(item.offline_id)), |
item.GetOfflineURL()); |
// TODO(pke): Sort my most recently visited and only keep the top one of |
@@ -123,8 +130,7 @@ void OfflinePageSuggestionsProvider::OnOfflinePagesLoaded( |
break; |
} |
- observer_->OnNewSuggestions(ContentSuggestionsCategory::OFFLINE_PAGES, |
- std::move(suggestions)); |
+ observer_->OnNewSuggestions(provided_category_, std::move(suggestions)); |
} |
void OfflinePageSuggestionsProvider::NotifyStatusChanged( |
@@ -135,8 +141,7 @@ void OfflinePageSuggestionsProvider::NotifyStatusChanged( |
if (!observer_) |
return; |
- observer_->OnCategoryStatusChanged(ContentSuggestionsCategory::OFFLINE_PAGES, |
- new_status); |
+ observer_->OnCategoryStatusChanged(provided_category_, new_status); |
} |
} // namespace ntp_snippets |