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 c377216b88e82d4dab595dbe9cee098f7462b4bb..142d91c87b9342dbf00a18aec8c76c4fdc073af2 100644 |
--- a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
+++ b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
@@ -77,6 +77,81 @@ void ClearScheduledTasks() { |
#endif // OS_ANDROID |
} |
+void RegisterOfflinePageSuggestionsProvider(ContentSuggestionsService* service, |
Marc Treib
2016/08/12 12:18:45
optional naming proposal: Should we remove "Sugges
vitaliii
2016/08/12 12:33:29
Done.
|
+ Profile* profile) { |
+ OfflinePageModel* offline_page_model = |
+ OfflinePageModelFactory::GetForBrowserContext(profile); |
+ |
Marc Treib
2016/08/12 12:18:45
nit: I'd remove the empty line; the other Register
vitaliii
2016/08/12 12:33:29
Done.
|
+ std::unique_ptr<OfflinePageSuggestionsProvider> |
+ offline_page_suggestions_provider = |
+ base::MakeUnique<OfflinePageSuggestionsProvider>( |
+ service, service->category_factory(), offline_page_model); |
+ service->RegisterProvider(std::move(offline_page_suggestions_provider)); |
+} |
+ |
+void RegisterBookmarkSuggestionsProvider(ContentSuggestionsService* service, |
+ Profile* profile) { |
+ BookmarkModel* bookmark_model = |
+ BookmarkModelFactory::GetForBrowserContext(profile); |
+ std::unique_ptr<BookmarkSuggestionsProvider> bookmark_suggestions_provider = |
+ base::MakeUnique<BookmarkSuggestionsProvider>( |
+ service, service->category_factory(), bookmark_model); |
+ service->RegisterProvider(std::move(bookmark_suggestions_provider)); |
+} |
+ |
+void RegisterPhysicalWebSuggestionsProvider( |
+ ContentSuggestionsService* service) { |
+ std::unique_ptr<PhysicalWebPageSuggestionsProvider> |
+ physical_web_page_suggestions_provider = |
+ base::MakeUnique<PhysicalWebPageSuggestionsProvider>( |
+ service, service->category_factory()); |
+ service->RegisterProvider(std::move(physical_web_page_suggestions_provider)); |
+} |
+ |
+void RegisterArticleSuggestionsProvider(ContentSuggestionsService* service, |
+ Profile* profile, |
+ content::BrowserContext* context) { |
Marc Treib
2016/08/12 12:18:45
Profile and BrowserContext are actually the same,
vitaliii
2016/08/12 12:33:29
Done.
|
+ SigninManagerBase* signin_manager = |
+ SigninManagerFactory::GetForProfile(profile); |
+ OAuth2TokenService* token_service = |
+ ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
+ scoped_refptr<net::URLRequestContextGetter> request_context = |
+ content::BrowserContext::GetDefaultStoragePartition(context) |
+ ->GetURLRequestContext(); |
+ SuggestionsService* suggestions_service = |
+ SuggestionsServiceFactory::GetForProfile(profile); |
+ NTPSnippetsScheduler* scheduler = nullptr; |
+#if defined(OS_ANDROID) |
+ scheduler = NTPSnippetsLauncher::Get(); |
+#endif // OS_ANDROID |
+ base::FilePath database_dir( |
+ profile->GetPath().Append(ntp_snippets::kDatabaseFolder)); |
+ scoped_refptr<base::SequencedTaskRunner> task_runner = |
+ BrowserThread::GetBlockingPool() |
+ ->GetSequencedTaskRunnerWithShutdownBehavior( |
+ base::SequencedWorkerPool::GetSequenceToken(), |
+ base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
+ bool is_stable_channel = |
+ chrome::GetChannel() == version_info::Channel::STABLE; |
+ std::unique_ptr<NTPSnippetsService> ntp_snippets_service = |
+ base::MakeUnique<NTPSnippetsService>( |
+ service, service->category_factory(), profile->GetPrefs(), |
+ suggestions_service, g_browser_process->GetApplicationLocale(), |
+ scheduler, |
+ base::MakeUnique<NTPSnippetsFetcher>( |
+ signin_manager, token_service, request_context, |
+ profile->GetPrefs(), |
+ base::Bind(&safe_json::SafeJsonParser::Parse), is_stable_channel), |
+ base::MakeUnique<ImageFetcherImpl>( |
+ base::MakeUnique<ImageDecoderImpl>(), request_context.get()), |
+ base::MakeUnique<ImageDecoderImpl>(), |
+ base::MakeUnique<NTPSnippetsDatabase>(database_dir, task_runner), |
+ base::MakeUnique<NTPSnippetsStatusService>(signin_manager, |
+ profile->GetPrefs())); |
+ service->set_ntp_snippets_service(ntp_snippets_service.get()); |
+ service->RegisterProvider(std::move(ntp_snippets_service)); |
+} |
+ |
} // namespace |
// static |
@@ -127,85 +202,25 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
} |
#if defined(OS_ANDROID) |
- // Create the OfflinePageSuggestionsProvider. |
if (base::FeatureList::IsEnabled( |
- ntp_snippets::kOfflinePageSuggestionsFeature)) { |
- OfflinePageModel* offline_page_model = |
- OfflinePageModelFactory::GetForBrowserContext(profile); |
- |
- std::unique_ptr<OfflinePageSuggestionsProvider> |
- offline_page_suggestions_provider = |
- base::MakeUnique<OfflinePageSuggestionsProvider>( |
- service, service->category_factory(), offline_page_model); |
- service->RegisterProvider(std::move(offline_page_suggestions_provider)); |
+ ntp_snippets::kOfflinePageSuggestionsFeature)) { |
+ RegisterOfflinePageSuggestionsProvider(service, profile); |
} |
#endif // OS_ANDROID |
- // Create the BookmarkSuggestionsProvider. |
- if (base::FeatureList::IsEnabled( |
- ntp_snippets::kBookmarkSuggestionsFeature)) { |
- BookmarkModel* bookmark_model = |
- BookmarkModelFactory::GetForBrowserContext(profile); |
- std::unique_ptr<BookmarkSuggestionsProvider> bookmark_suggestions_provider = |
- base::MakeUnique<BookmarkSuggestionsProvider>( |
- service, service->category_factory(), bookmark_model); |
- service->RegisterProvider(std::move(bookmark_suggestions_provider)); |
+ if (base::FeatureList::IsEnabled(ntp_snippets::kBookmarkSuggestionsFeature)) { |
+ RegisterBookmarkSuggestionsProvider(service, profile); |
} |
#if defined(OS_ANDROID) |
- // Create the PhysicalWebPageSuggestionsProvider. |
if (base::FeatureList::IsEnabled( |
ntp_snippets::kPhysicalWebPageSuggestionsFeature)) { |
- std::unique_ptr<PhysicalWebPageSuggestionsProvider> |
- physical_web_page_suggestions_provider = |
- base::MakeUnique<PhysicalWebPageSuggestionsProvider>( |
- service, service->category_factory()); |
- service->RegisterProvider( |
- std::move(physical_web_page_suggestions_provider)); |
+ RegisterPhysicalWebSuggestionsProvider(service); |
} |
#endif // OS_ANDROID |
if (base::FeatureList::IsEnabled(ntp_snippets::kArticleSuggestionsFeature)) { |
- // Create the NTPSnippetsService (articles provider). |
- SigninManagerBase* signin_manager = |
- SigninManagerFactory::GetForProfile(profile); |
- OAuth2TokenService* token_service = |
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
- scoped_refptr<net::URLRequestContextGetter> request_context = |
- content::BrowserContext::GetDefaultStoragePartition(context) |
- ->GetURLRequestContext(); |
- SuggestionsService* suggestions_service = |
- SuggestionsServiceFactory::GetForProfile(profile); |
- NTPSnippetsScheduler* scheduler = nullptr; |
-#if defined(OS_ANDROID) |
- scheduler = NTPSnippetsLauncher::Get(); |
-#endif // OS_ANDROID |
- base::FilePath database_dir( |
- profile->GetPath().Append(ntp_snippets::kDatabaseFolder)); |
- scoped_refptr<base::SequencedTaskRunner> task_runner = |
- BrowserThread::GetBlockingPool() |
- ->GetSequencedTaskRunnerWithShutdownBehavior( |
- base::SequencedWorkerPool::GetSequenceToken(), |
- base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); |
- bool is_stable_channel = |
- chrome::GetChannel() == version_info::Channel::STABLE; |
- std::unique_ptr<NTPSnippetsService> ntp_snippets_service = |
- base::MakeUnique<NTPSnippetsService>( |
- service, service->category_factory(), profile->GetPrefs(), |
- suggestions_service, g_browser_process->GetApplicationLocale(), |
- scheduler, base::MakeUnique<NTPSnippetsFetcher>( |
- signin_manager, token_service, request_context, |
- profile->GetPrefs(), |
- base::Bind(&safe_json::SafeJsonParser::Parse), |
- is_stable_channel), |
- base::MakeUnique<ImageFetcherImpl>( |
- base::MakeUnique<ImageDecoderImpl>(), request_context.get()), |
- base::MakeUnique<ImageDecoderImpl>(), |
- base::MakeUnique<NTPSnippetsDatabase>(database_dir, task_runner), |
- base::MakeUnique<NTPSnippetsStatusService>(signin_manager, |
- profile->GetPrefs())); |
- service->set_ntp_snippets_service(ntp_snippets_service.get()); |
- service->RegisterProvider(std::move(ntp_snippets_service)); |
+ RegisterArticleSuggestionsProvider(service, profile, context); |
} |
return service; |