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

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

Issue 2557363002: [NTP Snippets] Refactor background scheduling for remote suggestions (Closed)
Patch Set: Fixing the last changes :) Created 4 years 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 | « chrome/browser/android/ntp/ntp_snippets_launcher.h ('k') | chrome/browser/prefs/browser_prefs.cc » ('j') | 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 2b4a13be546b13a67961c9f27359965406e461e5..d065de4d250d36d8efd9be9dead54f0f974f21d7 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"
@@ -78,10 +79,11 @@ using ntp_snippets::BookmarkSuggestionsProvider;
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;
@@ -147,10 +149,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 =
@@ -160,9 +158,9 @@ 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, pref_service, g_browser_process->GetApplicationLocale(),
- service->category_ranker(), service->user_classifier(), scheduler,
+ service->category_ranker(),
base::MakeUnique<NTPSnippetsFetcher>(
signin_manager, token_service, request_context, pref_service,
language_model, base::Bind(&safe_json::SafeJsonParser::Parse),
@@ -175,8 +173,19 @@ void RegisterArticleProvider(SigninManagerBase* signin_manager,
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));
+
+ PersistentScheduler* scheduler = nullptr;
+#if defined(OS_ANDROID)
+ scheduler = NTPSnippetsLauncher::Get();
+#endif // OS_ANDROID
+
+ auto scheduling_provider =
+ base::MakeUnique<SchedulingRemoteSuggestionsProvider>(
+ service, std::move(provider), scheduler, service->user_classifier(),
+ pref_service);
+ service->set_remote_suggestions_provider(scheduling_provider.get());
+ service->set_remote_suggestions_scheduler(scheduling_provider.get());
+ service->RegisterProvider(std::move(scheduling_provider));
}
void RegisterForeignSessionsProvider(SyncService* sync_service,
« no previous file with comments | « chrome/browser/android/ntp/ntp_snippets_launcher.h ('k') | chrome/browser/prefs/browser_prefs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698