| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ntp_snippets/content_suggestions_service_factory.h" | 5 #include "chrome/browser/ntp_snippets/content_suggestions_service_factory.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/feature_list.h" | 9 #include "base/feature_list.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 #include "google_apis/google_api_keys.h" | 54 #include "google_apis/google_api_keys.h" |
| 55 #include "net/url_request/url_request_context_getter.h" | 55 #include "net/url_request/url_request_context_getter.h" |
| 56 | 56 |
| 57 #if defined(OS_ANDROID) | 57 #if defined(OS_ANDROID) |
| 58 #include "chrome/browser/android/chrome_feature_list.h" | 58 #include "chrome/browser/android/chrome_feature_list.h" |
| 59 #include "chrome/browser/android/ntp/ntp_snippets_launcher.h" | 59 #include "chrome/browser/android/ntp/ntp_snippets_launcher.h" |
| 60 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" | 60 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" |
| 61 #include "chrome/browser/ntp_snippets/download_suggestions_provider.h" | 61 #include "chrome/browser/ntp_snippets/download_suggestions_provider.h" |
| 62 #include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider.
h" | 62 #include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider.
h" |
| 63 #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestio
ns_provider.h" | 63 #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestio
ns_provider.h" |
| 64 #include "components/offline_pages/core/offline_page_feature.h" |
| 64 #include "components/offline_pages/core/offline_page_model.h" | 65 #include "components/offline_pages/core/offline_page_model.h" |
| 65 #include "components/physical_web/data_source/physical_web_data_source.h" | 66 #include "components/physical_web/data_source/physical_web_data_source.h" |
| 66 | 67 |
| 67 using content::DownloadManager; | 68 using content::DownloadManager; |
| 68 using ntp_snippets::PhysicalWebPageSuggestionsProvider; | 69 using ntp_snippets::PhysicalWebPageSuggestionsProvider; |
| 69 using ntp_snippets::RecentTabSuggestionsProvider; | 70 using ntp_snippets::RecentTabSuggestionsProvider; |
| 70 using offline_pages::OfflinePageModel; | 71 using offline_pages::OfflinePageModel; |
| 71 using offline_pages::OfflinePageModelFactory; | 72 using offline_pages::OfflinePageModelFactory; |
| 72 using physical_web::PhysicalWebDataSource; | 73 using physical_web::PhysicalWebDataSource; |
| 73 #endif // OS_ANDROID | 74 #endif // OS_ANDROID |
| (...skipping 20 matching lines...) Expand all Loading... |
| 94 namespace { | 95 namespace { |
| 95 | 96 |
| 96 // Clear the tasks that can be scheduled by running services. | 97 // Clear the tasks that can be scheduled by running services. |
| 97 void ClearScheduledTasks() { | 98 void ClearScheduledTasks() { |
| 98 #if defined(OS_ANDROID) | 99 #if defined(OS_ANDROID) |
| 99 NTPSnippetsLauncher::Get()->Unschedule(); | 100 NTPSnippetsLauncher::Get()->Unschedule(); |
| 100 #endif // OS_ANDROID | 101 #endif // OS_ANDROID |
| 101 } | 102 } |
| 102 | 103 |
| 103 #if defined(OS_ANDROID) | 104 #if defined(OS_ANDROID) |
| 105 |
| 106 bool IsRecentTabProviderEnabled() { |
| 107 return base::FeatureList::IsEnabled( |
| 108 ntp_snippets::kRecentOfflineTabSuggestionsFeature) && |
| 109 base::FeatureList::IsEnabled( |
| 110 offline_pages::kOffliningRecentPagesFeature); |
| 111 } |
| 112 |
| 104 void RegisterRecentTabProvider(OfflinePageModel* offline_page_model, | 113 void RegisterRecentTabProvider(OfflinePageModel* offline_page_model, |
| 105 ContentSuggestionsService* service, | 114 ContentSuggestionsService* service, |
| 106 PrefService* pref_service) { | 115 PrefService* pref_service) { |
| 107 auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( | 116 auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( |
| 108 service, offline_page_model, pref_service); | 117 service, offline_page_model, pref_service); |
| 109 service->RegisterProvider(std::move(provider)); | 118 service->RegisterProvider(std::move(provider)); |
| 110 } | 119 } |
| 111 | 120 |
| 112 void RegisterDownloadsProvider(OfflinePageModel* offline_page_model, | 121 void RegisterDownloadsProvider(OfflinePageModel* offline_page_model, |
| 113 DownloadManager* download_manager, | 122 DownloadManager* download_manager, |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 BookmarkModel* bookmark_model = | 287 BookmarkModel* bookmark_model = |
| 279 BookmarkModelFactory::GetForBrowserContext(profile); | 288 BookmarkModelFactory::GetForBrowserContext(profile); |
| 280 OAuth2TokenService* token_service = | 289 OAuth2TokenService* token_service = |
| 281 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); | 290 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
| 282 SyncService* sync_service = | 291 SyncService* sync_service = |
| 283 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); | 292 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); |
| 284 LanguageModel* language_model = | 293 LanguageModel* language_model = |
| 285 LanguageModelFactory::GetInstance()->GetForBrowserContext(profile); | 294 LanguageModelFactory::GetInstance()->GetForBrowserContext(profile); |
| 286 | 295 |
| 287 #if defined(OS_ANDROID) | 296 #if defined(OS_ANDROID) |
| 288 if (base::FeatureList::IsEnabled( | 297 if (IsRecentTabProviderEnabled()) { |
| 289 ntp_snippets::kRecentOfflineTabSuggestionsFeature)) { | |
| 290 RegisterRecentTabProvider(offline_page_model, service, pref_service); | 298 RegisterRecentTabProvider(offline_page_model, service, pref_service); |
| 291 } | 299 } |
| 292 | 300 |
| 293 bool show_asset_downloads = | 301 bool show_asset_downloads = |
| 294 base::FeatureList::IsEnabled(features::kAssetDownloadSuggestionsFeature); | 302 base::FeatureList::IsEnabled(features::kAssetDownloadSuggestionsFeature); |
| 295 bool show_offline_page_downloads = base::FeatureList::IsEnabled( | 303 bool show_offline_page_downloads = base::FeatureList::IsEnabled( |
| 296 features::kOfflinePageDownloadSuggestionsFeature); | 304 features::kOfflinePageDownloadSuggestionsFeature); |
| 297 if (show_asset_downloads || show_offline_page_downloads) { | 305 if (show_asset_downloads || show_offline_page_downloads) { |
| 298 RegisterDownloadsProvider( | 306 RegisterDownloadsProvider( |
| 299 show_offline_page_downloads ? offline_page_model : nullptr, | 307 show_offline_page_downloads ? offline_page_model : nullptr, |
| (...skipping 21 matching lines...) Expand all Loading... |
| 321 language_model, pref_service, profile); | 329 language_model, pref_service, profile); |
| 322 } | 330 } |
| 323 | 331 |
| 324 if (base::FeatureList::IsEnabled( | 332 if (base::FeatureList::IsEnabled( |
| 325 ntp_snippets::kForeignSessionsSuggestionsFeature)) { | 333 ntp_snippets::kForeignSessionsSuggestionsFeature)) { |
| 326 RegisterForeignSessionsProvider(sync_service, service, pref_service); | 334 RegisterForeignSessionsProvider(sync_service, service, pref_service); |
| 327 } | 335 } |
| 328 | 336 |
| 329 return service; | 337 return service; |
| 330 } | 338 } |
| OLD | NEW |