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

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

Issue 2864293003: [Offline Pages] Add a GCMAppHandler for offline page prefetch. (Closed)
Patch Set: Move Content Suggestions Observer to //components/offline_pages/core and modify lifetime management Created 3 years, 7 months 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: 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 6d029c47a7cc420b154823f9b73b8256e72451b2..e3e2481e401335a5bdff1f134c1ccae8660b6ac2 100644
--- a/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc
+++ b/chrome/browser/ntp_snippets/content_suggestions_service_factory.cc
@@ -47,6 +47,7 @@
#include "components/ntp_snippets/sessions/foreign_sessions_suggestions_provider.h"
#include "components/ntp_snippets/sessions/tab_delegate_sync_adapter.h"
#include "components/ntp_snippets/user_classifier.h"
+#include "components/offline_pages/features/features.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"
@@ -62,30 +63,35 @@
#if defined(OS_ANDROID)
#include "chrome/browser/android/chrome_feature_list.h"
#include "chrome/browser/android/ntp/ntp_snippets_launcher.h"
-#include "chrome/browser/android/offline_pages/offline_page_model_factory.h"
-#include "chrome/browser/android/offline_pages/request_coordinator_factory.h"
#include "chrome/browser/download/download_core_service.h"
#include "chrome/browser/download/download_core_service_factory.h"
#include "chrome/browser/download/download_history.h"
#include "chrome/browser/ntp_snippets/download_suggestions_provider.h"
-#include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider.h"
#include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestions_provider.h"
-#include "components/offline_pages/content/suggested_articles_observer.h"
+#include "components/physical_web/data_source/physical_web_data_source.h"
+
+using content::DownloadManager;
+using ntp_snippets::PhysicalWebPageSuggestionsProvider;
+using physical_web::PhysicalWebDataSource;
+#endif // OS_ANDROID
+
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
Bernhard Bauer 2017/05/18 19:11:31 Nit: If you're touching this code anyway, I would
dewittj 2017/05/22 22:00:08 Done.
+#include "chrome/browser/android/offline_pages/offline_page_model_factory.h"
+#include "chrome/browser/android/offline_pages/request_coordinator_factory.h"
+#include "chrome/browser/offline_pages/prefetch/prefetch_service_factory.h"
+#include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider.h"
#include "components/offline_pages/core/background/request_coordinator.h"
#include "components/offline_pages/core/offline_page_feature.h"
#include "components/offline_pages/core/offline_page_model.h"
+#include "components/offline_pages/core/prefetch/suggested_articles_observer.h"
#include "components/offline_pages/core/recent_tabs/recent_tabs_ui_adapter_delegate.h"
-#include "components/physical_web/data_source/physical_web_data_source.h"
-using content::DownloadManager;
-using ntp_snippets::PhysicalWebPageSuggestionsProvider;
using ntp_snippets::RecentTabSuggestionsProvider;
using offline_pages::OfflinePageModel;
using offline_pages::RequestCoordinator;
using offline_pages::OfflinePageModelFactory;
using offline_pages::RequestCoordinatorFactory;
-using physical_web::PhysicalWebDataSource;
-#endif // OS_ANDROID
+#endif // BUILDFLAG(ENABLE_OFFLINE_PAGES)
using bookmarks::BookmarkModel;
using content::BrowserThread;
@@ -130,7 +136,7 @@ bool IsChromeHomeEnabled() {
#endif
}
-#if defined(OS_ANDROID)
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
bool IsRecentTabProviderEnabled() {
return base::FeatureList::IsEnabled(
@@ -151,6 +157,10 @@ void RegisterRecentTabProvider(OfflinePageModel* offline_page_model,
service->RegisterProvider(std::move(provider));
}
+#endif // BUILDFLAG(ENABLE_OFFLINE_PAGES)
+
+#if defined(OS_ANDROID)
+
void RegisterDownloadsProvider(OfflinePageModel* offline_page_model,
DownloadManager* download_manager,
DownloadHistory* download_history,
@@ -286,9 +296,10 @@ ContentSuggestionsServiceFactory::ContentSuggestionsServiceFactory()
DependsOn(BookmarkModelFactory::GetInstance());
DependsOn(HistoryServiceFactory::GetInstance());
DependsOn(LargeIconServiceFactory::GetInstance());
-#if defined(OS_ANDROID)
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
DependsOn(OfflinePageModelFactory::GetInstance());
-#endif // OS_ANDROID
+ DependsOn(offline_pages::PrefetchServiceFactory::GetInstance());
+#endif // BUILDFLAG(ENABLE_OFFLINE_PAGES)
DependsOn(ProfileOAuth2TokenServiceFactory::GetInstance());
DependsOn(ProfileSyncServiceFactory::GetInstance());
DependsOn(SigninManagerFactory::GetInstance());
@@ -333,7 +344,7 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor(
pref_service, std::move(category_ranker), std::move(user_classifier),
std::move(scheduler));
-#if defined(OS_ANDROID)
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
OfflinePageModel* offline_page_model =
OfflinePageModelFactory::GetForBrowserContext(profile);
if (IsRecentTabProviderEnabled()) {
@@ -343,6 +354,12 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor(
pref_service);
}
+ offline_pages::PrefetchService* prefetch_service =
+ offline_pages::PrefetchServiceFactory::GetForBrowserContext(profile);
+ prefetch_service->ObserveContentSuggestionsService(service);
+#endif // BUILDFLAG(ENABLE_OFFLINE_PAGES)
+
+#if defined(OS_ANDROID)
bool show_asset_downloads =
!IsChromeHomeEnabled() &&
base::FeatureList::IsEnabled(features::kAssetDownloadSuggestionsFeature);
@@ -362,9 +379,6 @@ KeyedService* ContentSuggestionsServiceFactory::BuildServiceInstanceFor(
show_asset_downloads ? download_manager : nullptr, download_history,
service, pref_service);
}
-
- offline_pages::SuggestedArticlesObserver::ObserveContentSuggestionsService(
- profile, service);
#endif // OS_ANDROID
// |bookmark_model| can be null in tests.

Powered by Google App Engine
This is Rietveld 408576698