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

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: Rebase 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 0edacbf65a74656341541710b8d1e8ea3aac5c67..6ffae1a8310cf14eb7fa7302846bac7aa45f5254 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
@@ -24,9 +24,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"
@@ -49,10 +51,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;
@@ -147,7 +150,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 =
@@ -155,11 +157,11 @@ 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(), prefs,
GetApplicationContext()->GetApplicationLocale(),
- service->category_ranker(), service->user_classifier(), scheduler,
+ service->category_ranker(),
base::MakeUnique<NTPSnippetsFetcher>(
signin_manager, token_service, request_context, prefs, nullptr,
base::Bind(&ParseJson),
@@ -174,8 +176,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