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/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; | |
63 using ntp_snippets::OfflinePageProxy; | 65 using ntp_snippets::OfflinePageProxy; |
64 using ntp_snippets::PhysicalWebPageSuggestionsProvider; | 66 using ntp_snippets::PhysicalWebPageSuggestionsProvider; |
65 using ntp_snippets::RecentTabSuggestionsProvider; | 67 using ntp_snippets::RecentTabSuggestionsProvider; |
66 using offline_pages::OfflinePageModel; | 68 using offline_pages::OfflinePageModel; |
67 using offline_pages::OfflinePageModelFactory; | 69 using offline_pages::OfflinePageModelFactory; |
68 #endif // OS_ANDROID | 70 #endif // OS_ANDROID |
69 | 71 |
70 using bookmarks::BookmarkModel; | 72 using bookmarks::BookmarkModel; |
71 using content::BrowserThread; | 73 using content::BrowserThread; |
72 using history::HistoryService; | 74 using history::HistoryService; |
(...skipping 24 matching lines...) Expand all Loading... | |
97 #if defined(OS_ANDROID) | 99 #if defined(OS_ANDROID) |
98 void RegisterRecentTabProvider( | 100 void RegisterRecentTabProvider( |
99 const scoped_refptr<OfflinePageProxy>& offline_page_proxy, | 101 const scoped_refptr<OfflinePageProxy>& offline_page_proxy, |
100 ContentSuggestionsService* service, | 102 ContentSuggestionsService* service, |
101 CategoryFactory* category_factory, | 103 CategoryFactory* category_factory, |
102 PrefService* pref_service) { | 104 PrefService* pref_service) { |
103 auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( | 105 auto provider = base::MakeUnique<RecentTabSuggestionsProvider>( |
104 service, category_factory, offline_page_proxy, pref_service); | 106 service, category_factory, offline_page_proxy, pref_service); |
105 service->RegisterProvider(std::move(provider)); | 107 service->RegisterProvider(std::move(provider)); |
106 } | 108 } |
109 | |
110 void RegisterDownloadsProvider( | |
111 const scoped_refptr<OfflinePageProxy>& offline_page_proxy, | |
Bernhard Bauer
2016/10/26 10:19:32
Per https://chromium.googlesource.com/chromium/src
vitaliii
2016/10/27 15:49:19
Done.
| |
112 DownloadManager* download_manager, | |
113 ContentSuggestionsService* service, | |
114 CategoryFactory* category_factory, | |
115 PrefService* pref_service) { | |
116 bool download_manager_ui_enabled = | |
117 base::FeatureList::IsEnabled(chrome::android::kDownloadsUiFeature); | |
118 auto provider = base::MakeUnique<DownloadSuggestionsProvider>( | |
119 service, category_factory, offline_page_proxy, download_manager, | |
120 pref_service, download_manager_ui_enabled); | |
121 service->RegisterProvider(std::move(provider)); | |
122 } | |
107 #endif // OS_ANDROID | 123 #endif // OS_ANDROID |
108 | 124 |
109 void RegisterBookmarkProvider(BookmarkModel* bookmark_model, | 125 void RegisterBookmarkProvider(BookmarkModel* bookmark_model, |
110 ContentSuggestionsService* service, | 126 ContentSuggestionsService* service, |
111 CategoryFactory* category_factory, | 127 CategoryFactory* category_factory, |
112 PrefService* pref_service) { | 128 PrefService* pref_service) { |
113 auto provider = base::MakeUnique<BookmarkSuggestionsProvider>( | 129 auto provider = base::MakeUnique<BookmarkSuggestionsProvider>( |
114 service, category_factory, bookmark_model, pref_service); | 130 service, category_factory, bookmark_model, pref_service); |
115 service->RegisterProvider(std::move(provider)); | 131 service->RegisterProvider(std::move(provider)); |
116 } | 132 } |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
238 ClearScheduledTasks(); | 254 ClearScheduledTasks(); |
239 return service; | 255 return service; |
240 } | 256 } |
241 | 257 |
242 CategoryFactory* category_factory = service->category_factory(); | 258 CategoryFactory* category_factory = service->category_factory(); |
243 #if defined(OS_ANDROID) | 259 #if defined(OS_ANDROID) |
244 OfflinePageModel* offline_page_model = | 260 OfflinePageModel* offline_page_model = |
245 OfflinePageModelFactory::GetForBrowserContext(profile); | 261 OfflinePageModelFactory::GetForBrowserContext(profile); |
246 scoped_refptr<OfflinePageProxy> offline_page_proxy( | 262 scoped_refptr<OfflinePageProxy> offline_page_proxy( |
247 new OfflinePageProxy(offline_page_model)); | 263 new OfflinePageProxy(offline_page_model)); |
264 DownloadManager* download_manager = | |
265 content::BrowserContext::GetDownloadManager(profile); | |
248 #endif // OS_ANDROID | 266 #endif // OS_ANDROID |
249 BookmarkModel* bookmark_model = | 267 BookmarkModel* bookmark_model = |
250 BookmarkModelFactory::GetForBrowserContext(profile); | 268 BookmarkModelFactory::GetForBrowserContext(profile); |
251 SigninManagerBase* signin_manager = | 269 SigninManagerBase* signin_manager = |
252 SigninManagerFactory::GetForProfile(profile); | 270 SigninManagerFactory::GetForProfile(profile); |
253 OAuth2TokenService* token_service = | 271 OAuth2TokenService* token_service = |
254 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); | 272 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
255 SyncService* sync_service = | 273 SyncService* sync_service = |
256 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); | 274 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile); |
257 LanguageModel* language_model = | 275 LanguageModel* language_model = |
258 LanguageModelFactory::GetInstance()->GetForBrowserContext(profile); | 276 LanguageModelFactory::GetInstance()->GetForBrowserContext(profile); |
259 | 277 |
260 #if defined(OS_ANDROID) | 278 #if defined(OS_ANDROID) |
261 if (base::FeatureList::IsEnabled( | 279 if (base::FeatureList::IsEnabled( |
262 ntp_snippets::kRecentOfflineTabSuggestionsFeature)) { | 280 ntp_snippets::kRecentOfflineTabSuggestionsFeature)) { |
263 RegisterRecentTabProvider(offline_page_proxy, service, category_factory, | 281 RegisterRecentTabProvider(offline_page_proxy, service, category_factory, |
264 pref_service); | 282 pref_service); |
265 } | 283 } |
284 | |
285 if (base::FeatureList::IsEnabled(ntp_snippets::kDownloadSuggestionsFeature)) { | |
286 RegisterDownloadsProvider(offline_page_proxy, download_manager, service, | |
287 category_factory, pref_service); | |
288 } | |
266 #endif // OS_ANDROID | 289 #endif // OS_ANDROID |
267 | 290 |
268 // |bookmark_model| can be null in tests. | 291 // |bookmark_model| can be null in tests. |
269 if (base::FeatureList::IsEnabled(ntp_snippets::kBookmarkSuggestionsFeature) && | 292 if (base::FeatureList::IsEnabled(ntp_snippets::kBookmarkSuggestionsFeature) && |
270 bookmark_model) { | 293 bookmark_model) { |
271 RegisterBookmarkProvider(bookmark_model, service, category_factory, | 294 RegisterBookmarkProvider(bookmark_model, service, category_factory, |
272 pref_service); | 295 pref_service); |
273 } | 296 } |
274 | 297 |
275 #if defined(OS_ANDROID) | 298 #if defined(OS_ANDROID) |
(...skipping 10 matching lines...) Expand all Loading... | |
286 } | 309 } |
287 | 310 |
288 if (base::FeatureList::IsEnabled( | 311 if (base::FeatureList::IsEnabled( |
289 ntp_snippets::kForeignSessionsSuggestionsFeature)) { | 312 ntp_snippets::kForeignSessionsSuggestionsFeature)) { |
290 RegisterForeignSessionsProvider(sync_service, service, category_factory, | 313 RegisterForeignSessionsProvider(sync_service, service, category_factory, |
291 pref_service); | 314 pref_service); |
292 } | 315 } |
293 | 316 |
294 return service; | 317 return service; |
295 } | 318 } |
OLD | NEW |