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 |