OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/sync_file_system/drive_backend/sync_engine.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 TaskLogger* task_logger) { | 174 TaskLogger* task_logger) { |
175 scoped_refptr<base::SequencedWorkerPool> worker_pool = | 175 scoped_refptr<base::SequencedWorkerPool> worker_pool = |
176 content::BrowserThread::GetBlockingPool(); | 176 content::BrowserThread::GetBlockingPool(); |
177 | 177 |
178 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner = | 178 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner = |
179 base::ThreadTaskRunnerHandle::Get(); | 179 base::ThreadTaskRunnerHandle::Get(); |
180 scoped_refptr<base::SequencedTaskRunner> worker_task_runner = | 180 scoped_refptr<base::SequencedTaskRunner> worker_task_runner = |
181 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | 181 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
182 worker_pool->GetSequenceToken(), | 182 worker_pool->GetSequenceToken(), |
183 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | 183 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
184 scoped_refptr<base::SequencedTaskRunner> file_task_runner = | |
185 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | |
186 worker_pool->GetSequenceToken(), | |
187 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | |
188 scoped_refptr<base::SequencedTaskRunner> drive_task_runner = | 184 scoped_refptr<base::SequencedTaskRunner> drive_task_runner = |
189 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | 185 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
190 worker_pool->GetSequenceToken(), | 186 worker_pool->GetSequenceToken(), |
191 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | 187 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
192 | 188 |
193 Profile* profile = Profile::FromBrowserContext(context); | 189 Profile* profile = Profile::FromBrowserContext(context); |
194 drive::DriveNotificationManager* notification_manager = | 190 drive::DriveNotificationManager* notification_manager = |
195 drive::DriveNotificationManagerFactory::GetForBrowserContext(context); | 191 drive::DriveNotificationManagerFactory::GetForBrowserContext(context); |
196 ExtensionService* extension_service = | 192 ExtensionService* extension_service = |
197 extensions::ExtensionSystem::Get(context)->extension_service(); | 193 extensions::ExtensionSystem::Get(context)->extension_service(); |
198 SigninManagerBase* signin_manager = | 194 SigninManagerBase* signin_manager = |
199 SigninManagerFactory::GetForProfile(profile); | 195 SigninManagerFactory::GetForProfile(profile); |
200 ProfileOAuth2TokenService* token_service = | 196 ProfileOAuth2TokenService* token_service = |
201 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); | 197 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
202 scoped_refptr<net::URLRequestContextGetter> request_context = | 198 scoped_refptr<net::URLRequestContextGetter> request_context = |
203 context->GetRequestContext(); | 199 context->GetRequestContext(); |
204 | 200 |
205 scoped_ptr<drive_backend::SyncEngine> sync_engine( | 201 scoped_ptr<drive_backend::SyncEngine> sync_engine( |
206 new SyncEngine(ui_task_runner, | 202 new SyncEngine(ui_task_runner, |
207 worker_task_runner, | 203 worker_task_runner, |
208 file_task_runner, | |
209 drive_task_runner, | 204 drive_task_runner, |
210 GetSyncFileSystemDir(context->GetPath()), | 205 GetSyncFileSystemDir(context->GetPath()), |
211 task_logger, | 206 task_logger, |
212 notification_manager, | 207 notification_manager, |
213 extension_service, | 208 extension_service, |
214 signin_manager, | 209 signin_manager, |
215 token_service, | 210 token_service, |
216 request_context, | 211 request_context, |
217 NULL /* env_override */)); | 212 NULL /* env_override */)); |
218 | 213 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 worker_task_runner_)); | 309 worker_task_runner_)); |
315 scoped_ptr<drive::DriveUploaderInterface> drive_uploader_on_worker( | 310 scoped_ptr<drive::DriveUploaderInterface> drive_uploader_on_worker( |
316 new DriveUploaderOnWorker(drive_uploader_wrapper_->AsWeakPtr(), | 311 new DriveUploaderOnWorker(drive_uploader_wrapper_->AsWeakPtr(), |
317 ui_task_runner_, | 312 ui_task_runner_, |
318 worker_task_runner_)); | 313 worker_task_runner_)); |
319 scoped_ptr<SyncEngineContext> sync_engine_context( | 314 scoped_ptr<SyncEngineContext> sync_engine_context( |
320 new SyncEngineContext(drive_service_on_worker.Pass(), | 315 new SyncEngineContext(drive_service_on_worker.Pass(), |
321 drive_uploader_on_worker.Pass(), | 316 drive_uploader_on_worker.Pass(), |
322 task_logger_, | 317 task_logger_, |
323 ui_task_runner_, | 318 ui_task_runner_, |
324 worker_task_runner_, | 319 worker_task_runner_)); |
325 file_task_runner_)); | |
326 | 320 |
327 worker_observer_.reset( | 321 worker_observer_.reset( |
328 new WorkerObserver(ui_task_runner_, weak_ptr_factory_.GetWeakPtr())); | 322 new WorkerObserver(ui_task_runner_, weak_ptr_factory_.GetWeakPtr())); |
329 | 323 |
330 base::WeakPtr<ExtensionServiceInterface> extension_service_weak_ptr; | 324 base::WeakPtr<ExtensionServiceInterface> extension_service_weak_ptr; |
331 if (extension_service_) | 325 if (extension_service_) |
332 extension_service_weak_ptr = extension_service_->AsWeakPtr(); | 326 extension_service_weak_ptr = extension_service_->AsWeakPtr(); |
333 | 327 |
334 if (!sync_worker) { | 328 if (!sync_worker) { |
335 sync_worker.reset(new SyncWorker( | 329 sync_worker.reset(new SyncWorker( |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 | 700 |
707 void SyncEngine::GoogleSignedOut(const std::string& username) { | 701 void SyncEngine::GoogleSignedOut(const std::string& username) { |
708 Reset(); | 702 Reset(); |
709 UpdateServiceState(REMOTE_SERVICE_AUTHENTICATION_REQUIRED, | 703 UpdateServiceState(REMOTE_SERVICE_AUTHENTICATION_REQUIRED, |
710 "User signed out."); | 704 "User signed out."); |
711 } | 705 } |
712 | 706 |
713 SyncEngine::SyncEngine( | 707 SyncEngine::SyncEngine( |
714 base::SingleThreadTaskRunner* ui_task_runner, | 708 base::SingleThreadTaskRunner* ui_task_runner, |
715 base::SequencedTaskRunner* worker_task_runner, | 709 base::SequencedTaskRunner* worker_task_runner, |
716 base::SequencedTaskRunner* file_task_runner, | |
717 base::SequencedTaskRunner* drive_task_runner, | 710 base::SequencedTaskRunner* drive_task_runner, |
718 const base::FilePath& sync_file_system_dir, | 711 const base::FilePath& sync_file_system_dir, |
719 TaskLogger* task_logger, | 712 TaskLogger* task_logger, |
720 drive::DriveNotificationManager* notification_manager, | 713 drive::DriveNotificationManager* notification_manager, |
721 ExtensionServiceInterface* extension_service, | 714 ExtensionServiceInterface* extension_service, |
722 SigninManagerBase* signin_manager, | 715 SigninManagerBase* signin_manager, |
723 ProfileOAuth2TokenService* token_service, | 716 ProfileOAuth2TokenService* token_service, |
724 net::URLRequestContextGetter* request_context, | 717 net::URLRequestContextGetter* request_context, |
725 leveldb::Env* env_override) | 718 leveldb::Env* env_override) |
726 : ui_task_runner_(ui_task_runner), | 719 : ui_task_runner_(ui_task_runner), |
727 worker_task_runner_(worker_task_runner), | 720 worker_task_runner_(worker_task_runner), |
728 file_task_runner_(file_task_runner), | |
729 drive_task_runner_(drive_task_runner), | 721 drive_task_runner_(drive_task_runner), |
730 sync_file_system_dir_(sync_file_system_dir), | 722 sync_file_system_dir_(sync_file_system_dir), |
731 task_logger_(task_logger), | 723 task_logger_(task_logger), |
732 notification_manager_(notification_manager), | 724 notification_manager_(notification_manager), |
733 extension_service_(extension_service), | 725 extension_service_(extension_service), |
734 signin_manager_(signin_manager), | 726 signin_manager_(signin_manager), |
735 token_service_(token_service), | 727 token_service_(token_service), |
736 request_context_(request_context), | 728 request_context_(request_context), |
737 remote_change_processor_(NULL), | 729 remote_change_processor_(NULL), |
738 service_state_(REMOTE_SERVICE_TEMPORARY_UNAVAILABLE), | 730 service_state_(REMOTE_SERVICE_TEMPORARY_UNAVAILABLE), |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 | 769 |
778 SyncStatusCallback SyncEngine::TrackCallback( | 770 SyncStatusCallback SyncEngine::TrackCallback( |
779 const SyncStatusCallback& callback) { | 771 const SyncStatusCallback& callback) { |
780 return callback_tracker_.Register( | 772 return callback_tracker_.Register( |
781 base::Bind(callback, SYNC_STATUS_ABORT), | 773 base::Bind(callback, SYNC_STATUS_ABORT), |
782 callback); | 774 callback); |
783 } | 775 } |
784 | 776 |
785 } // namespace drive_backend | 777 } // namespace drive_backend |
786 } // namespace sync_file_system | 778 } // namespace sync_file_system |
OLD | NEW |