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

Unified Diff: ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc

Issue 2671453003: [NTP::Cleanup] Avoid nested complex function calls (Closed)
Patch Set: tschumann@ & treib@ comments. Created 3 years, 11 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
Index: ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc
diff --git a/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc b/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc
index 5df921a2197792f5777aed78dc80da4643e89c40..72baf80d377dadb6d5894b8109be651dae91c83b 100644
--- a/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc
+++ b/ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.cc
@@ -154,22 +154,27 @@ IOSChromeContentSuggestionsServiceFactory::BuildServiceInstanceFor(
->GetSequencedTaskRunnerWithShutdownBehavior(
base::SequencedWorkerPool::GetSequenceToken(),
base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN);
- auto provider = base::MakeUnique<RemoteSuggestionsProviderImpl>(
- service.get(), prefs, GetApplicationContext()->GetApplicationLocale(),
- service->category_ranker(),
- base::MakeUnique<RemoteSuggestionsFetcher>(
- signin_manager, token_service, request_context, prefs, nullptr,
- base::Bind(&ParseJson),
- GetChannel() == version_info::Channel::STABLE
- ? google_apis::GetAPIKey()
- : google_apis::GetNonStableAPIKey(),
- service->user_classifier()),
- base::MakeUnique<ImageFetcherImpl>(request_context.get(),
- web::WebThread::GetBlockingPool()),
- CreateIOSImageDecoder(task_runner),
- base::MakeUnique<RemoteSuggestionsDatabase>(database_dir, task_runner),
- base::MakeUnique<RemoteSuggestionsStatusService>(signin_manager,
- prefs));
+
+ std::unique_ptr<RemoteSuggestionsProviderImpl> provider;
+ {
+ auto suggestions_fetcher = base::MakeUnique<RemoteSuggestionsFetcher>(
+ signin_manager, token_service, request_context, prefs, nullptr,
+ base::Bind(&ParseJson), GetChannel() == version_info::Channel::STABLE
+ ? google_apis::GetAPIKey()
+ : google_apis::GetNonStableAPIKey(),
+ service->user_classifier());
+ auto image_fetcher = base::MakeUnique<ImageFetcherImpl>(
+ request_context.get(), web::WebThread::GetBlockingPool());
+ auto database = base::MakeUnique<RemoteSuggestionsDatabase>(database_dir,
+ task_runner);
+ auto status_service = base::MakeUnique<RemoteSuggestionsStatusService>(
+ signin_manager, prefs);
+ provider = base::MakeUnique<RemoteSuggestionsProviderImpl>(
+ service.get(), prefs, GetApplicationContext()->GetApplicationLocale(),
+ service->category_ranker(), std::move(suggestions_fetcher),
+ std::move(image_fetcher), CreateIOSImageDecoder(task_runner),
+ std::move(database), std::move(status_service));
+ }
// TODO(jkrcal): Implement a persistent scheduler for iOS. crbug.com/676249
auto scheduling_provider =

Powered by Google App Engine
This is Rietveld 408576698