Chromium Code Reviews| 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 48 #include "content/public/browser/browser_context.h" | 48 #include "content/public/browser/browser_context.h" |
| 49 #include "content/public/browser/browser_thread.h" | 49 #include "content/public/browser/browser_thread.h" |
| 50 #include "content/public/browser/storage_partition.h" | 50 #include "content/public/browser/storage_partition.h" |
| 51 #include "google_apis/google_api_keys.h" | 51 #include "google_apis/google_api_keys.h" |
| 52 #include "net/url_request/url_request_context_getter.h" | 52 #include "net/url_request/url_request_context_getter.h" |
| 53 | 53 |
| 54 #if defined(OS_ANDROID) | 54 #if defined(OS_ANDROID) |
| 55 #include "chrome/browser/android/chrome_feature_list.h" | 55 #include "chrome/browser/android/chrome_feature_list.h" |
| 56 #include "chrome/browser/android/ntp/ntp_snippets_launcher.h" | 56 #include "chrome/browser/android/ntp/ntp_snippets_launcher.h" |
| 57 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" | 57 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" |
| 58 #include "chrome/browser/ntp_snippets/downloads/download_suggestions_provider.h" | |
| 58 #include "components/ntp_snippets/offline_pages/offline_page_proxy.h" | 59 #include "components/ntp_snippets/offline_pages/offline_page_proxy.h" |
| 59 #include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider. h" | 60 #include "components/ntp_snippets/offline_pages/recent_tab_suggestions_provider. h" |
| 60 #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestio ns_provider.h" | 61 #include "components/ntp_snippets/physical_web_pages/physical_web_page_suggestio ns_provider.h" |
| 61 #include "components/offline_pages/offline_page_model.h" | 62 #include "components/offline_pages/offline_page_model.h" |
| 62 | 63 |
| 64 using content::DownloadManager; | |
| 65 using ntp_snippets::DownloadSuggestionsProvider; | |
| 63 using ntp_snippets::OfflinePageProxy; | 66 using ntp_snippets::OfflinePageProxy; |
| 64 using ntp_snippets::PhysicalWebPageSuggestionsProvider; | 67 using ntp_snippets::PhysicalWebPageSuggestionsProvider; |
| 65 using ntp_snippets::RecentTabSuggestionsProvider; | 68 using ntp_snippets::RecentTabSuggestionsProvider; |
| 66 using offline_pages::OfflinePageModel; | 69 using offline_pages::OfflinePageModel; |
| 67 using offline_pages::OfflinePageModelFactory; | 70 using offline_pages::OfflinePageModelFactory; |
| 68 #endif // OS_ANDROID | 71 #endif // OS_ANDROID |
| 69 | 72 |
| 70 using bookmarks::BookmarkModel; | 73 using bookmarks::BookmarkModel; |
| 71 using content::BrowserThread; | 74 using content::BrowserThread; |
| 72 using history::HistoryService; | 75 using history::HistoryService; |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 97 #if defined(OS_ANDROID) | 100 #if defined(OS_ANDROID) |
| 98 void RegisterRecentTabProvider( | 101 void RegisterRecentTabProvider( |
| 99 const scoped_refptr<OfflinePageProxy>& offline_page_proxy, | 102 const scoped_refptr<OfflinePageProxy>& offline_page_proxy, |
| 100 ContentSuggestionsService* service, | 103 ContentSuggestionsService* service, |
| 101 CategoryFactory* category_factory, | 104 CategoryFactory* category_factory, |
| 102 PrefService* pref_service) { | 105 PrefService* pref_service) { |
| 103 auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( | 106 auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( |
| 104 service, category_factory, offline_page_proxy, pref_service); | 107 service, category_factory, offline_page_proxy, pref_service); |
| 105 service->RegisterProvider(std::move(provider)); | 108 service->RegisterProvider(std::move(provider)); |
| 106 } | 109 } |
| 110 | |
| 111 void RegisterDownloadsProvider( | |
| 112 const scoped_refptr<OfflinePageProxy>& offline_page_proxy, | |
| 113 DownloadManager* download_manager, | |
| 114 ContentSuggestionsService* service, | |
| 115 CategoryFactory* category_factory, | |
| 116 PrefService* pref_service) { | |
| 117 bool download_manager_ui_enabled = | |
| 118 base::FeatureList::IsEnabled(chrome::android::kDownloadsUiFeature); | |
|
Marc Treib
2016/10/11 12:07:39
I think the DownloadSuggestionsProvider can check
vitaliii
2016/10/13 08:43:04
Done.
| |
| 119 auto provider = base::MakeUnique<DownloadSuggestionsProvider>( | |
| 120 service, category_factory, offline_page_proxy, download_manager, | |
| 121 pref_service, download_manager_ui_enabled); | |
| 122 service->RegisterProvider(std::move(provider)); | |
| 123 } | |
| 107 #endif // OS_ANDROID | 124 #endif // OS_ANDROID |
| 108 | 125 |
| 109 void RegisterBookmarkProvider(BookmarkModel* bookmark_model, | 126 void RegisterBookmarkProvider(BookmarkModel* bookmark_model, |
| 110 ContentSuggestionsService* service, | 127 ContentSuggestionsService* service, |
| 111 CategoryFactory* category_factory, | 128 CategoryFactory* category_factory, |
| 112 PrefService* pref_service) { | 129 PrefService* pref_service) { |
| 113 auto provider = base::MakeUnique<BookmarkSuggestionsProvider>( | 130 auto provider = base::MakeUnique<BookmarkSuggestionsProvider>( |
| 114 service, category_factory, bookmark_model, pref_service); | 131 service, category_factory, bookmark_model, pref_service); |
| 115 service->RegisterProvider(std::move(provider)); | 132 service->RegisterProvider(std::move(provider)); |
| 116 } | 133 } |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 238 ClearScheduledTasks(); | 255 ClearScheduledTasks(); |
| 239 return service; | 256 return service; |
| 240 } | 257 } |
| 241 | 258 |
| 242 CategoryFactory* category_factory = service->category_factory(); | 259 CategoryFactory* category_factory = service->category_factory(); |
| 243 #if defined(OS_ANDROID) | 260 #if defined(OS_ANDROID) |
| 244 OfflinePageModel* offline_page_model = | 261 OfflinePageModel* offline_page_model = |
| 245 OfflinePageModelFactory::GetForBrowserContext(profile); | 262 OfflinePageModelFactory::GetForBrowserContext(profile); |
| 246 scoped_refptr<OfflinePageProxy> offline_page_proxy( | 263 scoped_refptr<OfflinePageProxy> offline_page_proxy( |
| 247 new OfflinePageProxy(offline_page_model)); | 264 new OfflinePageProxy(offline_page_model)); |
| 265 DownloadManager* download_manager = | |
| 266 content::BrowserContext::GetDownloadManager(profile); | |
| 248 #endif // OS_ANDROID | 267 #endif // OS_ANDROID |
| 249 BookmarkModel* bookmark_model = | 268 BookmarkModel* bookmark_model = |
| 250 BookmarkModelFactory::GetForBrowserContext(profile); | 269 BookmarkModelFactory::GetForBrowserContext(profile); |
| 251 SigninManagerBase* signin_manager = | 270 SigninManagerBase* signin_manager = |
| 252 SigninManagerFactory::GetForProfile(profile); | 271 SigninManagerFactory::GetForProfile(profile); |
| 253 OAuth2TokenService* token_service = | 272 OAuth2TokenService* token_service = |
| 254 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); | 273 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
| 255 SyncService* sync_service = | 274 SyncService* sync_service = |
| 256 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); | 275 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); |
| 257 LanguageModel* language_model = | 276 LanguageModel* language_model = |
| 258 LanguageModelFactory::GetInstance()->GetForBrowserContext(profile); | 277 LanguageModelFactory::GetInstance()->GetForBrowserContext(profile); |
| 259 | 278 |
| 260 #if defined(OS_ANDROID) | 279 #if defined(OS_ANDROID) |
| 261 if (base::FeatureList::IsEnabled( | 280 if (base::FeatureList::IsEnabled( |
| 262 ntp_snippets::kRecentOfflineTabSuggestionsFeature)) { | 281 ntp_snippets::kRecentOfflineTabSuggestionsFeature)) { |
| 263 RegisterRecentTabProvider(offline_page_proxy, service, category_factory, | 282 RegisterRecentTabProvider(offline_page_proxy, service, category_factory, |
| 264 pref_service); | 283 pref_service); |
| 265 } | 284 } |
| 285 | |
| 286 if (base::FeatureList::IsEnabled(ntp_snippets::kDownloadSuggestionsFeature)) { | |
| 287 RegisterDownloadsProvider(offline_page_proxy, download_manager, service, | |
| 288 category_factory, pref_service); | |
| 289 } | |
| 266 #endif // OS_ANDROID | 290 #endif // OS_ANDROID |
| 267 | 291 |
| 268 // |bookmark_model| can be null in tests. | 292 // |bookmark_model| can be null in tests. |
| 269 if (base::FeatureList::IsEnabled(ntp_snippets::kBookmarkSuggestionsFeature) && | 293 if (base::FeatureList::IsEnabled(ntp_snippets::kBookmarkSuggestionsFeature) && |
| 270 bookmark_model) { | 294 bookmark_model) { |
| 271 RegisterBookmarkProvider(bookmark_model, service, category_factory, | 295 RegisterBookmarkProvider(bookmark_model, service, category_factory, |
| 272 pref_service); | 296 pref_service); |
| 273 } | 297 } |
| 274 | 298 |
| 275 #if defined(OS_ANDROID) | 299 #if defined(OS_ANDROID) |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 286 } | 310 } |
| 287 | 311 |
| 288 if (base::FeatureList::IsEnabled( | 312 if (base::FeatureList::IsEnabled( |
| 289 ntp_snippets::kForeignSessionsSuggestionsFeature)) { | 313 ntp_snippets::kForeignSessionsSuggestionsFeature)) { |
| 290 RegisterForeignSessionsProvider(sync_service, service, category_factory, | 314 RegisterForeignSessionsProvider(sync_service, service, category_factory, |
| 291 pref_service); | 315 pref_service); |
| 292 } | 316 } |
| 293 | 317 |
| 294 return service; | 318 return service; |
| 295 } | 319 } |
| OLD | NEW |