| 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 <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/macros.h" | 11 #include "base/macros.h" |
| 12 #include "base/memory/ptr_util.h" |
| 12 #include "base/metrics/histogram.h" | 13 #include "base/metrics/histogram.h" |
| 13 #include "base/thread_task_runner_handle.h" | 14 #include "base/thread_task_runner_handle.h" |
| 14 #include "base/threading/sequenced_worker_pool.h" | 15 #include "base/threading/sequenced_worker_pool.h" |
| 15 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 16 #include "base/values.h" | 17 #include "base/values.h" |
| 17 #include "chrome/browser/drive/drive_notification_manager_factory.h" | 18 #include "chrome/browser/drive/drive_notification_manager_factory.h" |
| 18 #include "chrome/browser/extensions/extension_service.h" | 19 #include "chrome/browser/extensions/extension_service.h" |
| 19 #include "chrome/browser/profiles/profile.h" | 20 #include "chrome/browser/profiles/profile.h" |
| 20 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" | 21 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
| 21 #include "chrome/browser/signin/signin_manager_factory.h" | 22 #include "chrome/browser/signin/signin_manager_factory.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 #include "net/url_request/url_request_context_getter.h" | 58 #include "net/url_request/url_request_context_getter.h" |
| 58 #include "storage/browser/blob/scoped_file.h" | 59 #include "storage/browser/blob/scoped_file.h" |
| 59 #include "storage/common/fileapi/file_system_util.h" | 60 #include "storage/common/fileapi/file_system_util.h" |
| 60 | 61 |
| 61 namespace sync_file_system { | 62 namespace sync_file_system { |
| 62 | 63 |
| 63 class RemoteChangeProcessor; | 64 class RemoteChangeProcessor; |
| 64 | 65 |
| 65 namespace drive_backend { | 66 namespace drive_backend { |
| 66 | 67 |
| 67 scoped_ptr<drive::DriveServiceInterface> | 68 std::unique_ptr<drive::DriveServiceInterface> |
| 68 SyncEngine::DriveServiceFactory::CreateDriveService( | 69 SyncEngine::DriveServiceFactory::CreateDriveService( |
| 69 OAuth2TokenService* oauth2_token_service, | 70 OAuth2TokenService* oauth2_token_service, |
| 70 net::URLRequestContextGetter* url_request_context_getter, | 71 net::URLRequestContextGetter* url_request_context_getter, |
| 71 base::SequencedTaskRunner* blocking_task_runner) { | 72 base::SequencedTaskRunner* blocking_task_runner) { |
| 72 return scoped_ptr<drive::DriveServiceInterface>( | 73 return std::unique_ptr< |
| 73 new drive::DriveAPIService( | 74 drive::DriveServiceInterface>(new drive::DriveAPIService( |
| 74 oauth2_token_service, | 75 oauth2_token_service, url_request_context_getter, blocking_task_runner, |
| 75 url_request_context_getter, | 76 GURL(google_apis::DriveApiUrlGenerator::kBaseUrlForProduction), |
| 76 blocking_task_runner, | 77 GURL(google_apis::DriveApiUrlGenerator::kBaseDownloadUrlForProduction), |
| 77 GURL(google_apis::DriveApiUrlGenerator::kBaseUrlForProduction), | 78 GURL(google_apis::DriveApiUrlGenerator::kBaseThumbnailUrlForProduction), |
| 78 GURL(google_apis::DriveApiUrlGenerator:: | 79 std::string() /* custom_user_agent */)); |
| 79 kBaseDownloadUrlForProduction), | |
| 80 GURL(google_apis::DriveApiUrlGenerator:: | |
| 81 kBaseThumbnailUrlForProduction), | |
| 82 std::string() /* custom_user_agent */)); | |
| 83 } | 80 } |
| 84 | 81 |
| 85 class SyncEngine::WorkerObserver : public SyncWorkerInterface::Observer { | 82 class SyncEngine::WorkerObserver : public SyncWorkerInterface::Observer { |
| 86 public: | 83 public: |
| 87 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, | 84 WorkerObserver(base::SequencedTaskRunner* ui_task_runner, |
| 88 base::WeakPtr<SyncEngine> sync_engine) | 85 base::WeakPtr<SyncEngine> sync_engine) |
| 89 : ui_task_runner_(ui_task_runner), | 86 : ui_task_runner_(ui_task_runner), |
| 90 sync_engine_(sync_engine) { | 87 sync_engine_(sync_engine) { |
| 91 sequence_checker_.DetachFromSequence(); | 88 sequence_checker_.DetachFromSequence(); |
| 92 } | 89 } |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 void DidRegisterOrigin(const base::TimeTicks& start_time, | 160 void DidRegisterOrigin(const base::TimeTicks& start_time, |
| 164 const SyncStatusCallback& callback, | 161 const SyncStatusCallback& callback, |
| 165 SyncStatusCode status) { | 162 SyncStatusCode status) { |
| 166 base::TimeDelta delta(base::TimeTicks::Now() - start_time); | 163 base::TimeDelta delta(base::TimeTicks::Now() - start_time); |
| 167 LOCAL_HISTOGRAM_TIMES("SyncFileSystem.RegisterOriginTime", delta); | 164 LOCAL_HISTOGRAM_TIMES("SyncFileSystem.RegisterOriginTime", delta); |
| 168 callback.Run(status); | 165 callback.Run(status); |
| 169 } | 166 } |
| 170 | 167 |
| 171 } // namespace | 168 } // namespace |
| 172 | 169 |
| 173 scoped_ptr<SyncEngine> SyncEngine::CreateForBrowserContext( | 170 std::unique_ptr<SyncEngine> SyncEngine::CreateForBrowserContext( |
| 174 content::BrowserContext* context, | 171 content::BrowserContext* context, |
| 175 TaskLogger* task_logger) { | 172 TaskLogger* task_logger) { |
| 176 scoped_refptr<base::SequencedWorkerPool> worker_pool = | 173 scoped_refptr<base::SequencedWorkerPool> worker_pool = |
| 177 content::BrowserThread::GetBlockingPool(); | 174 content::BrowserThread::GetBlockingPool(); |
| 178 | 175 |
| 179 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner = | 176 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner = |
| 180 base::ThreadTaskRunnerHandle::Get(); | 177 base::ThreadTaskRunnerHandle::Get(); |
| 181 scoped_refptr<base::SequencedTaskRunner> worker_task_runner = | 178 scoped_refptr<base::SequencedTaskRunner> worker_task_runner = |
| 182 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | 179 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
| 183 worker_pool->GetSequenceToken(), | 180 worker_pool->GetSequenceToken(), |
| 184 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | 181 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| 185 scoped_refptr<base::SequencedTaskRunner> drive_task_runner = | 182 scoped_refptr<base::SequencedTaskRunner> drive_task_runner = |
| 186 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( | 183 worker_pool->GetSequencedTaskRunnerWithShutdownBehavior( |
| 187 worker_pool->GetSequenceToken(), | 184 worker_pool->GetSequenceToken(), |
| 188 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); | 185 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN); |
| 189 | 186 |
| 190 Profile* profile = Profile::FromBrowserContext(context); | 187 Profile* profile = Profile::FromBrowserContext(context); |
| 191 drive::DriveNotificationManager* notification_manager = | 188 drive::DriveNotificationManager* notification_manager = |
| 192 drive::DriveNotificationManagerFactory::GetForBrowserContext(context); | 189 drive::DriveNotificationManagerFactory::GetForBrowserContext(context); |
| 193 ExtensionService* extension_service = | 190 ExtensionService* extension_service = |
| 194 extensions::ExtensionSystem::Get(context)->extension_service(); | 191 extensions::ExtensionSystem::Get(context)->extension_service(); |
| 195 SigninManagerBase* signin_manager = | 192 SigninManagerBase* signin_manager = |
| 196 SigninManagerFactory::GetForProfile(profile); | 193 SigninManagerFactory::GetForProfile(profile); |
| 197 OAuth2TokenService* token_service = | 194 OAuth2TokenService* token_service = |
| 198 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); | 195 ProfileOAuth2TokenServiceFactory::GetForProfile(profile); |
| 199 scoped_refptr<net::URLRequestContextGetter> request_context = | 196 scoped_refptr<net::URLRequestContextGetter> request_context = |
| 200 context->GetRequestContext(); | 197 context->GetRequestContext(); |
| 201 | 198 |
| 202 scoped_ptr<drive_backend::SyncEngine> sync_engine( | 199 std::unique_ptr<drive_backend::SyncEngine> sync_engine(new SyncEngine( |
| 203 new SyncEngine(ui_task_runner.get(), | 200 ui_task_runner.get(), worker_task_runner.get(), drive_task_runner.get(), |
| 204 worker_task_runner.get(), | 201 worker_pool.get(), GetSyncFileSystemDir(context->GetPath()), task_logger, |
| 205 drive_task_runner.get(), | 202 notification_manager, extension_service, signin_manager, token_service, |
| 206 worker_pool.get(), | 203 request_context.get(), base::WrapUnique(new DriveServiceFactory()), |
| 207 GetSyncFileSystemDir(context->GetPath()), | 204 nullptr /* env_override */)); |
| 208 task_logger, | |
| 209 notification_manager, | |
| 210 extension_service, | |
| 211 signin_manager, | |
| 212 token_service, | |
| 213 request_context.get(), | |
| 214 make_scoped_ptr(new DriveServiceFactory()), | |
| 215 nullptr /* env_override */)); | |
| 216 | 205 |
| 217 sync_engine->Initialize(); | 206 sync_engine->Initialize(); |
| 218 return sync_engine; | 207 return sync_engine; |
| 219 } | 208 } |
| 220 | 209 |
| 221 void SyncEngine::AppendDependsOnFactories( | 210 void SyncEngine::AppendDependsOnFactories( |
| 222 std::set<BrowserContextKeyedServiceFactory*>* factories) { | 211 std::set<BrowserContextKeyedServiceFactory*>* factories) { |
| 223 DCHECK(factories); | 212 DCHECK(factories); |
| 224 factories->insert(drive::DriveNotificationManagerFactory::GetInstance()); | 213 factories->insert(drive::DriveNotificationManagerFactory::GetInstance()); |
| 225 factories->insert(SigninManagerFactory::GetInstance()); | 214 factories->insert(SigninManagerFactory::GetInstance()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 255 callback_tracker_.AbortAll(); | 244 callback_tracker_.AbortAll(); |
| 256 } | 245 } |
| 257 | 246 |
| 258 void SyncEngine::Initialize() { | 247 void SyncEngine::Initialize() { |
| 259 Reset(); | 248 Reset(); |
| 260 | 249 |
| 261 if (!signin_manager_ || !signin_manager_->IsAuthenticated()) | 250 if (!signin_manager_ || !signin_manager_->IsAuthenticated()) |
| 262 return; | 251 return; |
| 263 | 252 |
| 264 DCHECK(drive_service_factory_); | 253 DCHECK(drive_service_factory_); |
| 265 scoped_ptr<drive::DriveServiceInterface> drive_service = | 254 std::unique_ptr<drive::DriveServiceInterface> drive_service = |
| 266 drive_service_factory_->CreateDriveService( | 255 drive_service_factory_->CreateDriveService( |
| 267 token_service_, request_context_.get(), drive_task_runner_.get()); | 256 token_service_, request_context_.get(), drive_task_runner_.get()); |
| 268 scoped_ptr<drive::DriveUploaderInterface> drive_uploader( | 257 std::unique_ptr<drive::DriveUploaderInterface> drive_uploader( |
| 269 new drive::DriveUploader(drive_service.get(), drive_task_runner_.get())); | 258 new drive::DriveUploader(drive_service.get(), drive_task_runner_.get())); |
| 270 | 259 |
| 271 InitializeInternal(std::move(drive_service), std::move(drive_uploader), | 260 InitializeInternal(std::move(drive_service), std::move(drive_uploader), |
| 272 nullptr); | 261 nullptr); |
| 273 } | 262 } |
| 274 | 263 |
| 275 void SyncEngine::InitializeForTesting( | 264 void SyncEngine::InitializeForTesting( |
| 276 scoped_ptr<drive::DriveServiceInterface> drive_service, | 265 std::unique_ptr<drive::DriveServiceInterface> drive_service, |
| 277 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, | 266 std::unique_ptr<drive::DriveUploaderInterface> drive_uploader, |
| 278 scoped_ptr<SyncWorkerInterface> sync_worker) { | 267 std::unique_ptr<SyncWorkerInterface> sync_worker) { |
| 279 Reset(); | 268 Reset(); |
| 280 InitializeInternal(std::move(drive_service), std::move(drive_uploader), | 269 InitializeInternal(std::move(drive_service), std::move(drive_uploader), |
| 281 std::move(sync_worker)); | 270 std::move(sync_worker)); |
| 282 } | 271 } |
| 283 | 272 |
| 284 void SyncEngine::InitializeInternal( | 273 void SyncEngine::InitializeInternal( |
| 285 scoped_ptr<drive::DriveServiceInterface> drive_service, | 274 std::unique_ptr<drive::DriveServiceInterface> drive_service, |
| 286 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, | 275 std::unique_ptr<drive::DriveUploaderInterface> drive_uploader, |
| 287 scoped_ptr<SyncWorkerInterface> sync_worker) { | 276 std::unique_ptr<SyncWorkerInterface> sync_worker) { |
| 288 drive_service_ = std::move(drive_service); | 277 drive_service_ = std::move(drive_service); |
| 289 drive_service_wrapper_.reset(new DriveServiceWrapper(drive_service_.get())); | 278 drive_service_wrapper_.reset(new DriveServiceWrapper(drive_service_.get())); |
| 290 | 279 |
| 291 std::string account_id; | 280 std::string account_id; |
| 292 if (signin_manager_) | 281 if (signin_manager_) |
| 293 account_id = signin_manager_->GetAuthenticatedAccountId(); | 282 account_id = signin_manager_->GetAuthenticatedAccountId(); |
| 294 drive_service_->Initialize(account_id); | 283 drive_service_->Initialize(account_id); |
| 295 | 284 |
| 296 drive_uploader_ = std::move(drive_uploader); | 285 drive_uploader_ = std::move(drive_uploader); |
| 297 drive_uploader_wrapper_.reset( | 286 drive_uploader_wrapper_.reset( |
| 298 new DriveUploaderWrapper(drive_uploader_.get())); | 287 new DriveUploaderWrapper(drive_uploader_.get())); |
| 299 | 288 |
| 300 // DriveServiceWrapper and DriveServiceOnWorker relay communications | 289 // DriveServiceWrapper and DriveServiceOnWorker relay communications |
| 301 // between DriveService and syncers in SyncWorker. | 290 // between DriveService and syncers in SyncWorker. |
| 302 scoped_ptr<drive::DriveServiceInterface> drive_service_on_worker( | 291 std::unique_ptr<drive::DriveServiceInterface> drive_service_on_worker( |
| 303 new DriveServiceOnWorker(drive_service_wrapper_->AsWeakPtr(), | 292 new DriveServiceOnWorker(drive_service_wrapper_->AsWeakPtr(), |
| 304 ui_task_runner_.get(), | 293 ui_task_runner_.get(), |
| 305 worker_task_runner_.get())); | 294 worker_task_runner_.get())); |
| 306 scoped_ptr<drive::DriveUploaderInterface> drive_uploader_on_worker( | 295 std::unique_ptr<drive::DriveUploaderInterface> drive_uploader_on_worker( |
| 307 new DriveUploaderOnWorker(drive_uploader_wrapper_->AsWeakPtr(), | 296 new DriveUploaderOnWorker(drive_uploader_wrapper_->AsWeakPtr(), |
| 308 ui_task_runner_.get(), | 297 ui_task_runner_.get(), |
| 309 worker_task_runner_.get())); | 298 worker_task_runner_.get())); |
| 310 scoped_ptr<SyncEngineContext> sync_engine_context(new SyncEngineContext( | 299 std::unique_ptr<SyncEngineContext> sync_engine_context(new SyncEngineContext( |
| 311 std::move(drive_service_on_worker), std::move(drive_uploader_on_worker), | 300 std::move(drive_service_on_worker), std::move(drive_uploader_on_worker), |
| 312 task_logger_, ui_task_runner_.get(), worker_task_runner_.get(), | 301 task_logger_, ui_task_runner_.get(), worker_task_runner_.get(), |
| 313 worker_pool_.get())); | 302 worker_pool_.get())); |
| 314 | 303 |
| 315 worker_observer_.reset(new WorkerObserver(ui_task_runner_.get(), | 304 worker_observer_.reset(new WorkerObserver(ui_task_runner_.get(), |
| 316 weak_ptr_factory_.GetWeakPtr())); | 305 weak_ptr_factory_.GetWeakPtr())); |
| 317 | 306 |
| 318 base::WeakPtr<ExtensionServiceInterface> extension_service_weak_ptr; | 307 base::WeakPtr<ExtensionServiceInterface> extension_service_weak_ptr; |
| 319 if (extension_service_) | 308 if (extension_service_) |
| 320 extension_service_weak_ptr = extension_service_->AsWeakPtr(); | 309 extension_service_weak_ptr = extension_service_->AsWeakPtr(); |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 RemoteServiceState SyncEngine::GetCurrentState() const { | 479 RemoteServiceState SyncEngine::GetCurrentState() const { |
| 491 if (!sync_enabled_) | 480 if (!sync_enabled_) |
| 492 return REMOTE_SERVICE_DISABLED; | 481 return REMOTE_SERVICE_DISABLED; |
| 493 if (!has_refresh_token_) | 482 if (!has_refresh_token_) |
| 494 return REMOTE_SERVICE_AUTHENTICATION_REQUIRED; | 483 return REMOTE_SERVICE_AUTHENTICATION_REQUIRED; |
| 495 return service_state_; | 484 return service_state_; |
| 496 } | 485 } |
| 497 | 486 |
| 498 void SyncEngine::GetOriginStatusMap(const StatusMapCallback& callback) { | 487 void SyncEngine::GetOriginStatusMap(const StatusMapCallback& callback) { |
| 499 base::Closure abort_closure = | 488 base::Closure abort_closure = |
| 500 base::Bind(callback, base::Passed(scoped_ptr<OriginStatusMap>())); | 489 base::Bind(callback, base::Passed(std::unique_ptr<OriginStatusMap>())); |
| 501 | 490 |
| 502 if (!sync_worker_) { | 491 if (!sync_worker_) { |
| 503 abort_closure.Run(); | 492 abort_closure.Run(); |
| 504 return; | 493 return; |
| 505 } | 494 } |
| 506 | 495 |
| 507 StatusMapCallback tracked_callback = | 496 StatusMapCallback tracked_callback = |
| 508 callback_tracker_.Register(abort_closure, callback); | 497 callback_tracker_.Register(abort_closure, callback); |
| 509 StatusMapCallback relayed_callback = | 498 StatusMapCallback relayed_callback = |
| 510 RelayCallbackToCurrentThread(FROM_HERE, tracked_callback); | 499 RelayCallbackToCurrentThread(FROM_HERE, tracked_callback); |
| 511 | 500 |
| 512 worker_task_runner_->PostTask( | 501 worker_task_runner_->PostTask( |
| 513 FROM_HERE, | 502 FROM_HERE, |
| 514 base::Bind(&SyncWorkerInterface::GetOriginStatusMap, | 503 base::Bind(&SyncWorkerInterface::GetOriginStatusMap, |
| 515 base::Unretained(sync_worker_.get()), | 504 base::Unretained(sync_worker_.get()), |
| 516 relayed_callback)); | 505 relayed_callback)); |
| 517 } | 506 } |
| 518 | 507 |
| 519 void SyncEngine::DumpFiles(const GURL& origin, | 508 void SyncEngine::DumpFiles(const GURL& origin, |
| 520 const ListCallback& callback) { | 509 const ListCallback& callback) { |
| 521 base::Closure abort_closure = | 510 base::Closure abort_closure = |
| 522 base::Bind(callback, base::Passed(scoped_ptr<base::ListValue>())); | 511 base::Bind(callback, base::Passed(std::unique_ptr<base::ListValue>())); |
| 523 | 512 |
| 524 if (!sync_worker_) { | 513 if (!sync_worker_) { |
| 525 abort_closure.Run(); | 514 abort_closure.Run(); |
| 526 return; | 515 return; |
| 527 } | 516 } |
| 528 | 517 |
| 529 ListCallback tracked_callback = | 518 ListCallback tracked_callback = |
| 530 callback_tracker_.Register(abort_closure, callback); | 519 callback_tracker_.Register(abort_closure, callback); |
| 531 | 520 |
| 532 PostTaskAndReplyWithResult(worker_task_runner_.get(), | 521 PostTaskAndReplyWithResult(worker_task_runner_.get(), |
| 533 FROM_HERE, | 522 FROM_HERE, |
| 534 base::Bind(&SyncWorkerInterface::DumpFiles, | 523 base::Bind(&SyncWorkerInterface::DumpFiles, |
| 535 base::Unretained(sync_worker_.get()), | 524 base::Unretained(sync_worker_.get()), |
| 536 origin), | 525 origin), |
| 537 tracked_callback); | 526 tracked_callback); |
| 538 } | 527 } |
| 539 | 528 |
| 540 void SyncEngine::DumpDatabase(const ListCallback& callback) { | 529 void SyncEngine::DumpDatabase(const ListCallback& callback) { |
| 541 base::Closure abort_closure = | 530 base::Closure abort_closure = |
| 542 base::Bind(callback, base::Passed(scoped_ptr<base::ListValue>())); | 531 base::Bind(callback, base::Passed(std::unique_ptr<base::ListValue>())); |
| 543 | 532 |
| 544 if (!sync_worker_) { | 533 if (!sync_worker_) { |
| 545 abort_closure.Run(); | 534 abort_closure.Run(); |
| 546 return; | 535 return; |
| 547 } | 536 } |
| 548 | 537 |
| 549 ListCallback tracked_callback = | 538 ListCallback tracked_callback = |
| 550 callback_tracker_.Register(abort_closure, callback); | 539 callback_tracker_.Register(abort_closure, callback); |
| 551 | 540 |
| 552 PostTaskAndReplyWithResult(worker_task_runner_.get(), | 541 PostTaskAndReplyWithResult(worker_task_runner_.get(), |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, | 710 const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
| 722 const scoped_refptr<base::SequencedTaskRunner>& drive_task_runner, | 711 const scoped_refptr<base::SequencedTaskRunner>& drive_task_runner, |
| 723 const scoped_refptr<base::SequencedWorkerPool>& worker_pool, | 712 const scoped_refptr<base::SequencedWorkerPool>& worker_pool, |
| 724 const base::FilePath& sync_file_system_dir, | 713 const base::FilePath& sync_file_system_dir, |
| 725 TaskLogger* task_logger, | 714 TaskLogger* task_logger, |
| 726 drive::DriveNotificationManager* notification_manager, | 715 drive::DriveNotificationManager* notification_manager, |
| 727 ExtensionServiceInterface* extension_service, | 716 ExtensionServiceInterface* extension_service, |
| 728 SigninManagerBase* signin_manager, | 717 SigninManagerBase* signin_manager, |
| 729 OAuth2TokenService* token_service, | 718 OAuth2TokenService* token_service, |
| 730 net::URLRequestContextGetter* request_context, | 719 net::URLRequestContextGetter* request_context, |
| 731 scoped_ptr<DriveServiceFactory> drive_service_factory, | 720 std::unique_ptr<DriveServiceFactory> drive_service_factory, |
| 732 leveldb::Env* env_override) | 721 leveldb::Env* env_override) |
| 733 : ui_task_runner_(ui_task_runner), | 722 : ui_task_runner_(ui_task_runner), |
| 734 worker_task_runner_(worker_task_runner), | 723 worker_task_runner_(worker_task_runner), |
| 735 drive_task_runner_(drive_task_runner), | 724 drive_task_runner_(drive_task_runner), |
| 736 worker_pool_(worker_pool), | 725 worker_pool_(worker_pool), |
| 737 sync_file_system_dir_(sync_file_system_dir), | 726 sync_file_system_dir_(sync_file_system_dir), |
| 738 task_logger_(task_logger), | 727 task_logger_(task_logger), |
| 739 notification_manager_(notification_manager), | 728 notification_manager_(notification_manager), |
| 740 extension_service_(extension_service), | 729 extension_service_(extension_service), |
| 741 signin_manager_(signin_manager), | 730 signin_manager_(signin_manager), |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 | 775 |
| 787 SyncStatusCallback SyncEngine::TrackCallback( | 776 SyncStatusCallback SyncEngine::TrackCallback( |
| 788 const SyncStatusCallback& callback) { | 777 const SyncStatusCallback& callback) { |
| 789 return callback_tracker_.Register( | 778 return callback_tracker_.Register( |
| 790 base::Bind(callback, SYNC_STATUS_ABORT), | 779 base::Bind(callback, SYNC_STATUS_ABORT), |
| 791 callback); | 780 callback); |
| 792 } | 781 } |
| 793 | 782 |
| 794 } // namespace drive_backend | 783 } // namespace drive_backend |
| 795 } // namespace sync_file_system | 784 } // namespace sync_file_system |
| OLD | NEW |