OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service
_factory.h" | 5 #include "ios/chrome/browser/ntp_snippets/ios_chrome_content_suggestions_service
_factory.h" |
6 | 6 |
7 #include "base/feature_list.h" | 7 #include "base/feature_list.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 service->category_ranker(), std::move(suggestions_fetcher), | 167 service->category_ranker(), std::move(suggestions_fetcher), |
168 base::MakeUnique<ImageFetcherImpl>( | 168 base::MakeUnique<ImageFetcherImpl>( |
169 CreateIOSImageDecoder(web::WebThread::GetBlockingPool()), | 169 CreateIOSImageDecoder(web::WebThread::GetBlockingPool()), |
170 request_context.get()), | 170 request_context.get()), |
171 CreateIOSImageDecoder(task_runner), | 171 CreateIOSImageDecoder(task_runner), |
172 base::MakeUnique<RemoteSuggestionsDatabase>(database_dir, task_runner), | 172 base::MakeUnique<RemoteSuggestionsDatabase>(database_dir, task_runner), |
173 base::MakeUnique<RemoteSuggestionsStatusService>(signin_manager, | 173 base::MakeUnique<RemoteSuggestionsStatusService>(signin_manager, |
174 prefs)); | 174 prefs)); |
175 | 175 |
176 // TODO(jkrcal): Implement a persistent scheduler for iOS. crbug.com/676249 | 176 // TODO(jkrcal): Implement a persistent scheduler for iOS. crbug.com/676249 |
| 177 RemoteSuggestionsProviderImpl* provider_raw = provider.get(); |
177 auto scheduling_provider = | 178 auto scheduling_provider = |
178 base::MakeUnique<SchedulingRemoteSuggestionsProvider>( | 179 base::MakeUnique<SchedulingRemoteSuggestionsProvider>( |
179 service.get(), std::move(provider), | 180 service.get(), std::move(provider), |
180 /*persistent_scheduler=*/nullptr, service->user_classifier(), prefs, | 181 /*persistent_scheduler=*/nullptr, service->user_classifier(), prefs, |
181 base::MakeUnique<base::DefaultClock>()); | 182 base::MakeUnique<base::DefaultClock>()); |
| 183 provider_raw->SetRemoteSuggestionsScheduler(scheduling_provider.get()); |
182 service->set_remote_suggestions_provider(scheduling_provider.get()); | 184 service->set_remote_suggestions_provider(scheduling_provider.get()); |
183 service->set_remote_suggestions_scheduler(scheduling_provider.get()); | 185 service->set_remote_suggestions_scheduler(scheduling_provider.get()); |
184 service->RegisterProvider(std::move(scheduling_provider)); | 186 service->RegisterProvider(std::move(scheduling_provider)); |
185 } | 187 } |
186 | 188 |
187 return std::move(service); | 189 return std::move(service); |
188 } | 190 } |
OLD | NEW |