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

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

Issue 2557363002: [NTP Snippets] Refactor background scheduling for remote suggestions (Closed)
Patch Set: Tim's comments and splitting RemoteSuggestionsProvider and RemoteSuggestionsProviderImpl 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
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 b950d475f17d234ac71fca1a378348ab5d420a83..9c16e222ee83a6a7a25ae04183bed098a7767bcc 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
@@ -22,9 +22,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/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/signin/core/browser/signin_manager.h"
#include "components/version_info/version_info.h"
#include "google_apis/google_api_keys.h"
@@ -47,10 +49,11 @@ using ios::BookmarkModelFactory;
using ntp_snippets::BookmarkSuggestionsProvider;
using ntp_snippets::ContentSuggestionsService;
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 suggestions::CreateIOSImageDecoder;
using suggestions::ImageFetcherImpl;
@@ -142,7 +145,6 @@ IOSChromeContentSuggestionsServiceFactory::BuildServiceInstanceFor(
OAuth2TokenServiceFactory::GetForBrowserState(chrome_browser_state);
scoped_refptr<net::URLRequestContextGetter> request_context =
browser_state->GetRequestContext();
- NTPSnippetsScheduler* scheduler = nullptr;
base::FilePath database_dir(
browser_state->GetStatePath().Append(ntp_snippets::kDatabaseFolder));
scoped_refptr<base::SequencedTaskRunner> task_runner =
@@ -150,11 +152,10 @@ IOSChromeContentSuggestionsServiceFactory::BuildServiceInstanceFor(
->GetSequencedTaskRunnerWithShutdownBehavior(
base::SequencedWorkerPool::GetSequenceToken(),
base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN);
- std::unique_ptr<RemoteSuggestionsProvider> ntp_snippets_service =
+ std::unique_ptr<RemoteSuggestionsProviderImpl> provider =
base::MakeUnique<RemoteSuggestionsProvider>(
service.get(), service->category_factory(), prefs,
GetApplicationContext()->GetApplicationLocale(),
- service->user_classifier(), scheduler,
base::MakeUnique<NTPSnippetsFetcher>(
signin_manager, token_service, request_context, prefs,
service->category_factory(), nullptr, base::Bind(&ParseJson),
@@ -169,8 +170,15 @@ IOSChromeContentSuggestionsServiceFactory::BuildServiceInstanceFor(
task_runner),
base::MakeUnique<RemoteSuggestionsStatusService>(signin_manager,
prefs));
- service->set_ntp_snippets_service(ntp_snippets_service.get());
- service->RegisterProvider(std::move(ntp_snippets_service));
+ service->set_remote_suggestions_provider(provider.get());
+
+ auto scheduling_provider =
+ base::MakeUnique<SchedulingRemoteSuggestionsProvider>(
+ service.get(), service->category_factory(), std::move(provider),
+ /*persistent_scheduler=*/nullptr, service->user_classifier(),
+ prefs);
+ service->set_remote_suggestions_scheduler(scheduling_provider.get());
+ service->RegisterProvider(std::move(scheduling_provider));
}
return std::move(service);

Powered by Google App Engine
This is Rietveld 408576698