Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1571)

Unified Diff: chrome/browser/ntp_snippets/content_suggestions_service_factory.cc

Issue 2245633002: ContentSuggestionsService providers registration refactoring. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pw_provider
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698