Chromium Code Reviews| Index: chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
| diff --git a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
| index 57baaed21a740fba01a55c7ba771d2a7122d9dc8..86eee8d502bd981f7635ce5cc73644e926c7e58a 100644 |
| --- a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
| +++ b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
| @@ -54,6 +54,7 @@ |
| #include "chrome/browser/android/chrome_feature_list.h" |
| #include "chrome/browser/android/ntp/ntp_snippets_launcher.h" |
| #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" |
| +#include "components/ntp_snippets/downloads/download_suggestions_provider.h" |
| #include "components/ntp_snippets/offline_pages/offline_page_proxy.h" |
| #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestions_provider.h" |
| #include "components/ntp_snippets/recent_tabs/recent_tab_suggestions_provider.h" |
| @@ -64,6 +65,7 @@ using ntp_snippets::PhysicalWebPageSuggestionsProvider; |
| using ntp_snippets::RecentTabSuggestionsProvider; |
| using offline_pages::OfflinePageModel; |
| using offline_pages::OfflinePageModelFactory; |
| +using content::DownloadManager; |
| #endif // OS_ANDROID |
| using bookmarks::BookmarkModel; |
| @@ -73,6 +75,7 @@ using image_fetcher::ImageFetcherImpl; |
| using ntp_snippets::BookmarkSuggestionsProvider; |
| using ntp_snippets::CategoryFactory; |
| using ntp_snippets::ContentSuggestionsService; |
| +using ntp_snippets::DownloadSuggestionsProvider; |
|
Marc Treib
2016/09/22 13:45:52
I think this should also go into the OS_ANDROID se
vitaliii
2016/10/11 08:15:56
Done.
|
| using ntp_snippets::NTPSnippetsDatabase; |
| using ntp_snippets::NTPSnippetsFetcher; |
| using ntp_snippets::NTPSnippetsService; |
| @@ -104,6 +107,20 @@ void RegisterRecentTabProvider( |
| service, category_factory, offline_page_proxy, pref_service); |
| service->RegisterProvider(std::move(provider)); |
| } |
| + |
| +void RegisterDownloadsProvider( |
| + const scoped_refptr<OfflinePageProxy>& offline_page_proxy, |
| + DownloadManager* download_manager, |
| + ContentSuggestionsService* service, |
| + CategoryFactory* category_factory, |
| + PrefService* pref_service) { |
| + bool download_manager_ui_enabled = |
|
Marc Treib
2016/09/22 13:45:52
Instead of the explicit download_manager_ui_enable
vitaliii
2016/10/11 08:15:56
This variable has nothing to do with the DownloadM
|
| + base::FeatureList::IsEnabled(chrome::android::kDownloadsUiFeature); |
| + auto provider = base::MakeUnique<DownloadSuggestionsProvider>( |
| + service, category_factory, offline_page_proxy, download_manager, |
| + pref_service, download_manager_ui_enabled); |
| + service->RegisterProvider(std::move(provider)); |
| +} |
| #endif // OS_ANDROID |
| void RegisterBookmarkProvider(BookmarkModel* bookmark_model, |
| @@ -244,6 +261,8 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
| OfflinePageModelFactory::GetForBrowserContext(profile); |
| scoped_refptr<OfflinePageProxy> offline_page_proxy( |
| new OfflinePageProxy(offline_page_model)); |
| + DownloadManager* download_manager = |
| + content::BrowserContext::GetDownloadManager(profile); |
| #endif // OS_ANDROID |
| BookmarkModel* bookmark_model = |
| BookmarkModelFactory::GetForBrowserContext(profile); |
| @@ -262,6 +281,11 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
| RegisterRecentTabProvider(offline_page_proxy, service, category_factory, |
| pref_service); |
| } |
| + |
| + if (base::FeatureList::IsEnabled(ntp_snippets::kDownloadSuggestionsFeature)) { |
| + RegisterDownloadsProvider(offline_page_proxy, download_manager, service, |
| + category_factory, pref_service); |
| + } |
| #endif // OS_ANDROID |
| // |bookmark_model| can be null in tests. |