Chromium Code Reviews| 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 401cda05023307225aae7cff9be8bc125ff23c57..d0c85ad2619eb54e564ed4cd4398aa1688b3d5e2 100644 |
| --- a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
| +++ b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc |
| @@ -4,6 +4,8 @@ |
| #include "chrome/browser/ntp_snippets/content_suggestions_service_factory.h" |
| +#include <utility> |
| + |
| #include "base/feature_list.h" |
| #include "base/files/file_path.h" |
| #include "base/memory/ptr_util.h" |
| @@ -16,8 +18,10 @@ |
| #include "chrome/browser/search/suggestions/suggestions_service_factory.h" |
| #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
| #include "chrome/browser/signin/signin_manager_factory.h" |
| +#include "chrome/browser/sync/profile_sync_service_factory.h" |
| #include "chrome/common/channel_info.h" |
| #include "components/bookmarks/browser/bookmark_model.h" |
| +#include "components/browser_sync/browser/profile_sync_service.h" |
| #include "components/image_fetcher/image_decoder.h" |
| #include "components/image_fetcher/image_fetcher.h" |
| #include "components/image_fetcher/image_fetcher_impl.h" |
| @@ -33,6 +37,7 @@ |
| #include "components/ntp_snippets/ntp_snippets_scheduler.h" |
| #include "components/ntp_snippets/ntp_snippets_service.h" |
| #include "components/ntp_snippets/ntp_snippets_status_service.h" |
| +#include "components/ntp_snippets/sessions/foreign_sessions_suggestions_provider.h" |
| #include "components/prefs/pref_service.h" |
| #include "components/safe_json/safe_json_parser.h" |
| #include "components/signin/core/browser/profile_oauth2_token_service.h" |
| @@ -69,6 +74,7 @@ using ntp_snippets::NTPSnippetsFetcher; |
| using ntp_snippets::NTPSnippetsService; |
| using ntp_snippets::NTPSnippetsScheduler; |
| using ntp_snippets::NTPSnippetsStatusService; |
| +using ntp_snippets::ForeignSessionsSuggestionsProvider; |
| using suggestions::ImageDecoderImpl; |
| using suggestions::SuggestionsService; |
| using suggestions::SuggestionsServiceFactory; |
| @@ -195,6 +201,7 @@ ContentSuggestionsServiceFactory::ContentSuggestionsServiceFactory() |
| DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance()); |
| DependsOn(SigninManagerFactory::GetInstance()); |
| DependsOn(SuggestionsServiceFactory::GetInstance()); |
| + DependsOn(ProfileSyncServiceFactory::GetInstance()); |
|
Marc Treib
2016/08/29 09:18:50
nit: please keep alphabetized
skym
2016/09/15 23:18:16
Done.
|
| } |
| ContentSuggestionsServiceFactory::~ContentSuggestionsServiceFactory() {} |
| @@ -264,5 +271,17 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor( |
| pref_service, profile); |
| } |
| + if (base::FeatureList::IsEnabled( |
| + ntp_snippets::kForeignSessionsSuggestionsFeature)) { |
| + sync_driver::SyncService* sync_service = |
|
Marc Treib
2016/08/29 09:18:50
Please put this into a RegisterSessionsProvider he
skym
2016/09/15 23:18:16
Done.
|
| + ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); |
| + std::unique_ptr<ForeignSessionsSuggestionsProvider> |
| + foreign_sessions_suggestions_provider = |
| + base::MakeUnique<ForeignSessionsSuggestionsProvider>( |
| + service, service->category_factory(), sync_service, |
| + profile->GetPrefs()); |
| + service->RegisterProvider(std::move(foreign_sessions_suggestions_provider)); |
| + } |
| + |
| return service; |
| } |