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 e2ed53fdddcd7750134784df4190572b784949a8..2b4a13be546b13a67961c9f27359965406e461e5 100644 |
--- a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
+++ b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
@@ -29,7 +29,7 @@ |
#include "components/keyed_service/content/browser_context_dependency_manager.h" |
#include "components/keyed_service/core/service_access_type.h" |
#include "components/ntp_snippets/bookmarks/bookmark_suggestions_provider.h" |
-#include "components/ntp_snippets/category_factory.h" |
+#include "components/ntp_snippets/category_rankers/constant_category_ranker.h" |
#include "components/ntp_snippets/content_suggestions_service.h" |
#include "components/ntp_snippets/features.h" |
#include "components/ntp_snippets/ntp_snippets_constants.h" |
@@ -75,7 +75,6 @@ using content::BrowserThread; |
using history::HistoryService; |
using image_fetcher::ImageFetcherImpl; |
using ntp_snippets::BookmarkSuggestionsProvider; |
-using ntp_snippets::CategoryFactory; |
using ntp_snippets::ContentSuggestionsService; |
using ntp_snippets::ForeignSessionsSuggestionsProvider; |
using ntp_snippets::NTPSnippetsFetcher; |
@@ -100,44 +99,40 @@ void ClearScheduledTasks() { |
#if defined(OS_ANDROID) |
void RegisterRecentTabProvider(OfflinePageModel* offline_page_model, |
ContentSuggestionsService* service, |
- CategoryFactory* category_factory, |
PrefService* pref_service) { |
auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( |
- service, category_factory, offline_page_model, pref_service); |
+ service, offline_page_model, pref_service); |
service->RegisterProvider(std::move(provider)); |
} |
void RegisterDownloadsProvider(OfflinePageModel* offline_page_model, |
DownloadManager* download_manager, |
ContentSuggestionsService* service, |
- CategoryFactory* category_factory, |
PrefService* pref_service) { |
bool download_manager_ui_enabled = |
base::FeatureList::IsEnabled(chrome::android::kDownloadsUiFeature); |
auto provider = base::MakeUnique<DownloadSuggestionsProvider>( |
- service, category_factory, offline_page_model, download_manager, |
- pref_service, download_manager_ui_enabled); |
+ service, offline_page_model, download_manager, pref_service, |
+ download_manager_ui_enabled); |
service->RegisterProvider(std::move(provider)); |
} |
#endif // OS_ANDROID |
void RegisterBookmarkProvider(BookmarkModel* bookmark_model, |
ContentSuggestionsService* service, |
- CategoryFactory* category_factory, |
PrefService* pref_service) { |
auto provider = base::MakeUnique<BookmarkSuggestionsProvider>( |
- service, category_factory, bookmark_model, pref_service); |
+ service, bookmark_model, pref_service); |
service->RegisterProvider(std::move(provider)); |
} |
#if defined(OS_ANDROID) |
void RegisterPhysicalWebPageProvider( |
ContentSuggestionsService* service, |
- CategoryFactory* category_factory, |
PhysicalWebDataSource* physical_web_data_source, |
PrefService* pref_service) { |
auto provider = base::MakeUnique<PhysicalWebPageSuggestionsProvider>( |
- service, category_factory, physical_web_data_source, pref_service); |
+ service, physical_web_data_source, pref_service); |
service->RegisterProvider(std::move(provider)); |
} |
#endif // OS_ANDROID |
@@ -145,7 +140,6 @@ void RegisterPhysicalWebPageProvider( |
void RegisterArticleProvider(SigninManagerBase* signin_manager, |
OAuth2TokenService* token_service, |
ContentSuggestionsService* service, |
- CategoryFactory* category_factory, |
LanguageModel* language_model, |
PrefService* pref_service, |
Profile* profile) { |
@@ -167,15 +161,14 @@ void RegisterArticleProvider(SigninManagerBase* signin_manager, |
bool is_stable_channel = |
chrome::GetChannel() == version_info::Channel::STABLE; |
auto provider = base::MakeUnique<RemoteSuggestionsProvider>( |
- service, service->category_factory(), pref_service, |
- g_browser_process->GetApplicationLocale(), service->user_classifier(), |
- scheduler, base::MakeUnique<NTPSnippetsFetcher>( |
- signin_manager, token_service, request_context, |
- pref_service, category_factory, language_model, |
- base::Bind(&safe_json::SafeJsonParser::Parse), |
- is_stable_channel ? google_apis::GetAPIKey() |
- : google_apis::GetNonStableAPIKey(), |
- service->user_classifier()), |
+ service, pref_service, g_browser_process->GetApplicationLocale(), |
+ service->category_ranker(), service->user_classifier(), scheduler, |
+ base::MakeUnique<NTPSnippetsFetcher>( |
+ signin_manager, token_service, request_context, pref_service, |
+ language_model, base::Bind(&safe_json::SafeJsonParser::Parse), |
+ is_stable_channel ? google_apis::GetAPIKey() |
+ : google_apis::GetNonStableAPIKey(), |
+ service->user_classifier()), |
base::MakeUnique<ImageFetcherImpl>(base::MakeUnique<ImageDecoderImpl>(), |
request_context.get()), |
base::MakeUnique<ImageDecoderImpl>(), |
@@ -188,12 +181,11 @@ void RegisterArticleProvider(SigninManagerBase* signin_manager, |
void RegisterForeignSessionsProvider(SyncService* sync_service, |
ContentSuggestionsService* service, |
- CategoryFactory* category_factory, |
PrefService* pref_service) { |
std::unique_ptr<TabDelegateSyncAdapter> sync_adapter = |
base::MakeUnique<TabDelegateSyncAdapter>(sync_service); |
auto provider = base::MakeUnique<ForeignSessionsSuggestionsProvider>( |
- service, category_factory, std::move(sync_adapter), pref_service); |
+ service, std::move(sync_adapter), pref_service); |
service->RegisterProvider(std::move(provider)); |
} |
@@ -251,8 +243,11 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
HistoryService* history_service = HistoryServiceFactory::GetForProfile( |
profile, ServiceAccessType::EXPLICIT_ACCESS); |
PrefService* pref_service = profile->GetPrefs(); |
- auto* service = new ContentSuggestionsService(state, signin_manager, |
- history_service, pref_service); |
+ auto category_ranker = |
+ base::MakeUnique<ntp_snippets::ConstantCategoryRanker>(); |
+ auto* service = |
+ new ContentSuggestionsService(state, signin_manager, history_service, |
+ pref_service, std::move(category_ranker)); |
if (state == State::DISABLED) { |
// Since we won't initialise the services, they won't get a chance to |
// unschedule their tasks. We do it explicitly here instead. |
@@ -260,7 +255,6 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
return service; |
} |
- CategoryFactory* category_factory = service->category_factory(); |
#if defined(OS_ANDROID) |
OfflinePageModel* offline_page_model = |
OfflinePageModelFactory::GetForBrowserContext(profile); |
@@ -281,8 +275,7 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
#if defined(OS_ANDROID) |
if (base::FeatureList::IsEnabled( |
ntp_snippets::kRecentOfflineTabSuggestionsFeature)) { |
- RegisterRecentTabProvider(offline_page_model, service, category_factory, |
- pref_service); |
+ RegisterRecentTabProvider(offline_page_model, service, pref_service); |
} |
bool show_asset_downloads = |
@@ -293,35 +286,32 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
RegisterDownloadsProvider( |
show_offline_page_downloads ? offline_page_model : nullptr, |
show_asset_downloads ? download_manager : nullptr, service, |
- category_factory, pref_service); |
+ pref_service); |
} |
#endif // OS_ANDROID |
// |bookmark_model| can be null in tests. |
if (base::FeatureList::IsEnabled(ntp_snippets::kBookmarkSuggestionsFeature) && |
bookmark_model) { |
- RegisterBookmarkProvider(bookmark_model, service, category_factory, |
- pref_service); |
+ RegisterBookmarkProvider(bookmark_model, service, pref_service); |
} |
#if defined(OS_ANDROID) |
if (base::FeatureList::IsEnabled( |
ntp_snippets::kPhysicalWebPageSuggestionsFeature)) { |
- RegisterPhysicalWebPageProvider(service, category_factory, |
- physical_web_data_source, pref_service); |
+ RegisterPhysicalWebPageProvider(service, physical_web_data_source, |
+ pref_service); |
} |
#endif // OS_ANDROID |
if (base::FeatureList::IsEnabled(ntp_snippets::kArticleSuggestionsFeature)) { |
RegisterArticleProvider(signin_manager, token_service, service, |
- category_factory, language_model, pref_service, |
- profile); |
+ language_model, pref_service, profile); |
} |
if (base::FeatureList::IsEnabled( |
ntp_snippets::kForeignSessionsSuggestionsFeature)) { |
- RegisterForeignSessionsProvider(sync_service, service, category_factory, |
- pref_service); |
+ RegisterForeignSessionsProvider(sync_service, service, pref_service); |
} |
return service; |