| 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 e2ed53fdddcd7750134784df4190572b784949a8..d2a499f17a93a0ff5b2a579db8b120d1e7dc757b 100644
|
| --- a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc
|
| +++ b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc
|
| @@ -34,10 +34,11 @@
|
| #include "components/ntp_snippets/features.h"
|
| #include "components/ntp_snippets/ntp_snippets_constants.h"
|
| #include "components/ntp_snippets/remote/ntp_snippets_fetcher.h"
|
| -#include "components/ntp_snippets/remote/ntp_snippets_scheduler.h"
|
| +#include "components/ntp_snippets/remote/persistent_scheduler.h"
|
| #include "components/ntp_snippets/remote/remote_suggestions_database.h"
|
| -#include "components/ntp_snippets/remote/remote_suggestions_provider.h"
|
| +#include "components/ntp_snippets/remote/remote_suggestions_provider_impl.h"
|
| #include "components/ntp_snippets/remote/remote_suggestions_status_service.h"
|
| +#include "components/ntp_snippets/remote/scheduling_remote_suggestions_provider.h"
|
| #include "components/ntp_snippets/sessions/foreign_sessions_suggestions_provider.h"
|
| #include "components/ntp_snippets/sessions/tab_delegate_sync_adapter.h"
|
| #include "components/prefs/pref_service.h"
|
| @@ -79,10 +80,11 @@ using ntp_snippets::CategoryFactory;
|
| using ntp_snippets::ContentSuggestionsService;
|
| using ntp_snippets::ForeignSessionsSuggestionsProvider;
|
| using ntp_snippets::NTPSnippetsFetcher;
|
| -using ntp_snippets::NTPSnippetsScheduler;
|
| +using ntp_snippets::PersistentScheduler;
|
| using ntp_snippets::RemoteSuggestionsDatabase;
|
| -using ntp_snippets::RemoteSuggestionsProvider;
|
| +using ntp_snippets::RemoteSuggestionsProviderImpl;
|
| using ntp_snippets::RemoteSuggestionsStatusService;
|
| +using ntp_snippets::SchedulingRemoteSuggestionsProvider;
|
| using ntp_snippets::TabDelegateSyncAdapter;
|
| using suggestions::ImageDecoderImpl;
|
| using syncer::SyncService;
|
| @@ -153,10 +155,6 @@ void RegisterArticleProvider(SigninManagerBase* signin_manager,
|
| content::BrowserContext::GetDefaultStoragePartition(profile)
|
| ->GetURLRequestContext();
|
|
|
| - 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 =
|
| @@ -166,24 +164,35 @@ void RegisterArticleProvider(SigninManagerBase* signin_manager,
|
| base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN);
|
| bool is_stable_channel =
|
| chrome::GetChannel() == version_info::Channel::STABLE;
|
| - auto provider = base::MakeUnique<RemoteSuggestionsProvider>(
|
| + auto provider = base::MakeUnique<RemoteSuggestionsProviderImpl>(
|
| service, service->category_factory(), pref_service,
|
| - g_browser_process->GetApplicationLocale(), service->user_classifier(),
|
| - scheduler, base::MakeUnique<NTPSnippetsFetcher>(
|
| - signin_manager, token_service, request_context,
|
| - pref_service, category_factory, language_model,
|
| - base::Bind(&safe_json::SafeJsonParser::Parse),
|
| - is_stable_channel ? google_apis::GetAPIKey()
|
| - : google_apis::GetNonStableAPIKey(),
|
| - service->user_classifier()),
|
| + g_browser_process->GetApplicationLocale(),
|
| + base::MakeUnique<NTPSnippetsFetcher>(
|
| + signin_manager, token_service, request_context, pref_service,
|
| + category_factory, language_model,
|
| + base::Bind(&safe_json::SafeJsonParser::Parse),
|
| + is_stable_channel ? google_apis::GetAPIKey()
|
| + : google_apis::GetNonStableAPIKey(),
|
| + service->user_classifier()),
|
| base::MakeUnique<ImageFetcherImpl>(base::MakeUnique<ImageDecoderImpl>(),
|
| request_context.get()),
|
| base::MakeUnique<ImageDecoderImpl>(),
|
| base::MakeUnique<RemoteSuggestionsDatabase>(database_dir, task_runner),
|
| base::MakeUnique<RemoteSuggestionsStatusService>(signin_manager,
|
| pref_service));
|
| - service->set_ntp_snippets_service(provider.get());
|
| - service->RegisterProvider(std::move(provider));
|
| + service->set_remote_suggestions_provider(provider.get());
|
| +
|
| + PersistentScheduler* scheduler = nullptr;
|
| +#if defined(OS_ANDROID)
|
| + scheduler = NTPSnippetsLauncher::Get();
|
| +#endif // OS_ANDROID
|
| +
|
| + auto scheduling_provider =
|
| + base::MakeUnique<SchedulingRemoteSuggestionsProvider>(
|
| + service, category_factory, std::move(provider), scheduler,
|
| + service->user_classifier(), pref_service);
|
| + service->set_remote_suggestions_scheduler(scheduling_provider.get());
|
| + service->RegisterProvider(std::move(scheduling_provider));
|
| }
|
|
|
| void RegisterForeignSessionsProvider(SyncService* sync_service,
|
|
|