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

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

Issue 2194793004: Create IOSChromeContentSuggestionsServiceFactory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused variable Created 4 years, 5 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_ntp_snippets_service_factory.cc
diff --git a/ios/chrome/browser/ntp_snippets/ios_chrome_ntp_snippets_service_factory.cc b/ios/chrome/browser/ntp_snippets/ios_chrome_ntp_snippets_service_factory.cc
index 655623f4a1be0cf67a653cf7ff8204d86b964192..15bb67e7da629282008cbcb610d58975060916e0 100644
--- a/ios/chrome/browser/ntp_snippets/ios_chrome_ntp_snippets_service_factory.cc
+++ b/ios/chrome/browser/ntp_snippets/ios_chrome_ntp_snippets_service_factory.cc
@@ -14,6 +14,7 @@
#include "components/image_fetcher/image_decoder.h"
#include "components/image_fetcher/image_fetcher.h"
#include "components/keyed_service/ios/browser_state_dependency_manager.h"
+#include "components/ntp_snippets/content_suggestions_service.h"
#include "components/ntp_snippets/ntp_snippets_constants.h"
#include "components/ntp_snippets/ntp_snippets_database.h"
#include "components/ntp_snippets/ntp_snippets_fetcher.h"
@@ -23,6 +24,7 @@
#include "components/version_info/version_info.h"
#include "ios/chrome/browser/application_context.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
+#include "ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service_factory.h"
#include "ios/chrome/browser/signin/oauth2_token_service_factory.h"
#include "ios/chrome/browser/signin/signin_manager_factory.h"
#include "ios/chrome/browser/suggestions/image_fetcher_impl.h"
@@ -34,6 +36,7 @@
#include "ios/web/public/web_thread.h"
#include "net/url_request/url_request_context_getter.h"
+using ntp_snippets::ContentSuggestionsService;
using suggestions::ImageFetcherImpl;
using suggestions::IOSImageDecoderImpl;
using suggestions::SuggestionsService;
@@ -91,6 +94,15 @@ IOSChromeNTPSnippetsServiceFactory::BuildServiceInstanceFor(
ios::ChromeBrowserState* chrome_browser_state =
ios::ChromeBrowserState::FromBrowserState(browser_state);
DCHECK(!browser_state->IsOffTheRecord());
+
+ ContentSuggestionsService* content_suggestions_service =
+ IOSChromeContentSuggestionsServiceFactory::GetForBrowserState(
+ chrome_browser_state);
noyau (Ping after 24h) 2016/07/29 12:35:22 You pull the Suggestion service here, so this serv
+ if (content_suggestions_service->state() ==
+ ContentSuggestionsService::State::DISABLED) {
+ return nullptr;
+ }
+
SigninManager* signin_manager =
ios::SigninManagerFactory::GetForBrowserState(chrome_browser_state);
OAuth2TokenService* token_service =
@@ -116,18 +128,23 @@ IOSChromeNTPSnippetsServiceFactory::BuildServiceInstanceFor(
PrefService* prefs = chrome_browser_state->GetPrefs();
// TODO(treib,markusheintz): Inject an image_fetcher::ImageDecoder once that's
// implemented on iOS. crbug.com/609127
- return base::WrapUnique(new ntp_snippets::NTPSnippetsService(
- false /* enabled */, prefs, suggestions_service,
- GetApplicationContext()->GetApplicationLocale(), scheduler,
- base::WrapUnique(new ntp_snippets::NTPSnippetsFetcher(
- signin_manager, token_service, request_context, prefs,
- base::Bind(&ParseJson),
- GetChannel() == version_info::Channel::STABLE)),
- base::WrapUnique(new ImageFetcherImpl(request_context.get(),
- web::WebThread::GetBlockingPool())),
- base::MakeUnique<IOSImageDecoderImpl>(),
- base::WrapUnique(
- new ntp_snippets::NTPSnippetsDatabase(database_dir, task_runner)),
- base::WrapUnique(new ntp_snippets::NTPSnippetsStatusService(
- signin_manager, sync_service, prefs))));
+ std::unique_ptr<ntp_snippets::NTPSnippetsService> ntp_snippets_service =
+ base::WrapUnique(new ntp_snippets::NTPSnippetsService(
+ false /* enabled */, prefs, suggestions_service,
+ GetApplicationContext()->GetApplicationLocale(), scheduler,
+ base::WrapUnique(new ntp_snippets::NTPSnippetsFetcher(
+ signin_manager, token_service, request_context, prefs,
+ base::Bind(&ParseJson),
+ GetChannel() == version_info::Channel::STABLE)),
+ base::WrapUnique(new ImageFetcherImpl(
+ request_context.get(), web::WebThread::GetBlockingPool())),
+ base::MakeUnique<IOSImageDecoderImpl>(),
+ base::WrapUnique(
+ new ntp_snippets::NTPSnippetsDatabase(database_dir, task_runner)),
+ base::WrapUnique(new ntp_snippets::NTPSnippetsStatusService(
+ signin_manager, sync_service, prefs))));
+
+ content_suggestions_service->RegisterProvider(ntp_snippets_service.get());
noyau (Ping after 24h) 2016/07/29 12:11:55 This seems reversed. Shouldn't the factory for the
Philipp Keck 2016/07/29 12:20:28 No, this is "inverted" on purpose: The ContentSugg
noyau (Ping after 24h) 2016/07/29 12:35:22 Yes, but you are in a Chrome factory, so this is t
+
+ return ntp_snippets_service;
}

Powered by Google App Engine
This is Rietveld 408576698