| 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 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 | 387 |
| 388 void SyncEngine::SetSyncEnabled(bool enabled) { | 388 void SyncEngine::SetSyncEnabled(bool enabled) { |
| 389 worker_task_runner_->PostTask( | 389 worker_task_runner_->PostTask( |
| 390 FROM_HERE, | 390 FROM_HERE, |
| 391 base::Bind(&SyncWorker::SetSyncEnabled, | 391 base::Bind(&SyncWorker::SetSyncEnabled, |
| 392 base::Unretained(sync_worker_.get()), | 392 base::Unretained(sync_worker_.get()), |
| 393 enabled)); | 393 enabled)); |
| 394 } | 394 } |
| 395 | 395 |
| 396 void SyncEngine::PromoteDemotedChanges() { | 396 void SyncEngine::PromoteDemotedChanges() { |
| 397 MetadataDatabase* metadata_db = GetMetadataDatabase(); | 397 worker_task_runner_->PostTask( |
| 398 if (metadata_db && metadata_db->HasLowPriorityDirtyTracker()) { | 398 FROM_HERE, |
| 399 metadata_db->PromoteLowerPriorityTrackersToNormal(); | 399 base::Bind(&SyncWorker::PromoteDemotedChanges, |
| 400 FOR_EACH_OBSERVER( | 400 base::Unretained(sync_worker_.get()))); |
| 401 Observer, | |
| 402 service_observers_, | |
| 403 OnRemoteChangeQueueUpdated(metadata_db->CountDirtyTracker())); | |
| 404 } | |
| 405 } | 401 } |
| 406 | 402 |
| 407 void SyncEngine::ApplyLocalChange( | 403 void SyncEngine::ApplyLocalChange( |
| 408 const FileChange& local_change, | 404 const FileChange& local_change, |
| 409 const base::FilePath& local_path, | 405 const base::FilePath& local_path, |
| 410 const SyncFileMetadata& local_metadata, | 406 const SyncFileMetadata& local_metadata, |
| 411 const fileapi::FileSystemURL& url, | 407 const fileapi::FileSystemURL& url, |
| 412 const SyncStatusCallback& callback) { | 408 const SyncStatusCallback& callback) { |
| 413 worker_task_runner_->PostTask( | 409 worker_task_runner_->PostTask( |
| 414 FROM_HERE, | 410 FROM_HERE, |
| 415 base::Bind(&SyncWorker::ApplyLocalChange, | 411 base::Bind(&SyncWorker::ApplyLocalChange, |
| 416 base::Unretained(sync_worker_.get()), | 412 base::Unretained(sync_worker_.get()), |
| 417 local_change, | 413 local_change, |
| 418 local_path, | 414 local_path, |
| 419 local_metadata, | 415 local_metadata, |
| 420 url, | 416 url, |
| 421 RelayCallbackToCurrentThread( | 417 RelayCallbackToCurrentThread( |
| 422 FROM_HERE, callback))); | 418 FROM_HERE, callback))); |
| 423 } | 419 } |
| 424 | 420 |
| 425 SyncTaskManager* SyncEngine::GetSyncTaskManagerForTesting() { | |
| 426 return sync_worker_->GetSyncTaskManager(); | |
| 427 } | |
| 428 | |
| 429 void SyncEngine::OnNotificationReceived() { | 421 void SyncEngine::OnNotificationReceived() { |
| 430 worker_task_runner_->PostTask( | 422 worker_task_runner_->PostTask( |
| 431 FROM_HERE, | 423 FROM_HERE, |
| 432 base::Bind(&SyncWorker::OnNotificationReceived, | 424 base::Bind(&SyncWorker::OnNotificationReceived, |
| 433 base::Unretained(sync_worker_.get()))); | 425 base::Unretained(sync_worker_.get()))); |
| 434 } | 426 } |
| 435 | 427 |
| 436 void SyncEngine::OnPushNotificationEnabled(bool) {} | 428 void SyncEngine::OnPushNotificationEnabled(bool) {} |
| 437 | 429 |
| 438 void SyncEngine::OnReadyToSendRequests() { | 430 void SyncEngine::OnReadyToSendRequests() { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 463 } | 455 } |
| 464 | 456 |
| 465 drive::DriveServiceInterface* SyncEngine::GetDriveService() { | 457 drive::DriveServiceInterface* SyncEngine::GetDriveService() { |
| 466 return drive_service_.get(); | 458 return drive_service_.get(); |
| 467 } | 459 } |
| 468 | 460 |
| 469 drive::DriveUploaderInterface* SyncEngine::GetDriveUploader() { | 461 drive::DriveUploaderInterface* SyncEngine::GetDriveUploader() { |
| 470 return drive_uploader_.get(); | 462 return drive_uploader_.get(); |
| 471 } | 463 } |
| 472 | 464 |
| 473 MetadataDatabase* SyncEngine::GetMetadataDatabase() { | |
| 474 // TODO(peria): Post task | |
| 475 return sync_worker_->GetMetadataDatabase(); | |
| 476 } | |
| 477 | |
| 478 SyncEngine::SyncEngine( | 465 SyncEngine::SyncEngine( |
| 479 scoped_ptr<drive::DriveServiceInterface> drive_service, | 466 scoped_ptr<drive::DriveServiceInterface> drive_service, |
| 480 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, | 467 scoped_ptr<drive::DriveUploaderInterface> drive_uploader, |
| 481 base::SequencedTaskRunner* worker_task_runner, | 468 base::SequencedTaskRunner* worker_task_runner, |
| 482 drive::DriveNotificationManager* notification_manager, | 469 drive::DriveNotificationManager* notification_manager, |
| 483 ExtensionServiceInterface* extension_service, | 470 ExtensionServiceInterface* extension_service, |
| 484 SigninManagerBase* signin_manager) | 471 SigninManagerBase* signin_manager) |
| 485 : drive_service_(drive_service.Pass()), | 472 : drive_service_(drive_service.Pass()), |
| 486 drive_service_wrapper_(new DriveServiceWrapper(drive_service_.get())), | 473 drive_service_wrapper_(new DriveServiceWrapper(drive_service_.get())), |
| 487 drive_uploader_(drive_uploader.Pass()), | 474 drive_uploader_(drive_uploader.Pass()), |
| (...skipping 24 matching lines...) Expand all Loading... |
| 512 | 499 |
| 513 void SyncEngine::UpdateServiceState(RemoteServiceState state, | 500 void SyncEngine::UpdateServiceState(RemoteServiceState state, |
| 514 const std::string& description) { | 501 const std::string& description) { |
| 515 service_state_ = state; | 502 service_state_ = state; |
| 516 | 503 |
| 517 FOR_EACH_OBSERVER( | 504 FOR_EACH_OBSERVER( |
| 518 Observer, service_observers_, | 505 Observer, service_observers_, |
| 519 OnRemoteServiceStateUpdated(state, description)); | 506 OnRemoteServiceStateUpdated(state, description)); |
| 520 } | 507 } |
| 521 | 508 |
| 522 void SyncEngine::UpdateRegisteredApps() { | 509 void SyncEngine::UpdateRegisteredAppsForTesting() { |
| 523 if (!extension_service_) | 510 if (!extension_service_) |
| 524 return; | 511 return; |
| 525 | 512 |
| 526 MetadataDatabase* metadata_db = GetMetadataDatabase(); | 513 MetadataDatabase* metadata_db = sync_worker_->GetMetadataDatabase(); |
| 527 DCHECK(metadata_db); | 514 DCHECK(metadata_db); |
| 528 std::vector<std::string> app_ids; | 515 std::vector<std::string> app_ids; |
| 529 metadata_db->GetRegisteredAppIDs(&app_ids); | 516 metadata_db->GetRegisteredAppIDs(&app_ids); |
| 530 | 517 |
| 531 // Update the status of every origin using status from ExtensionService. | 518 // Update the status of every origin using status from ExtensionService. |
| 532 for (std::vector<std::string>::const_iterator itr = app_ids.begin(); | 519 for (std::vector<std::string>::const_iterator itr = app_ids.begin(); |
| 533 itr != app_ids.end(); ++itr) { | 520 itr != app_ids.end(); ++itr) { |
| 534 const std::string& app_id = *itr; | 521 const std::string& app_id = *itr; |
| 535 GURL origin = | 522 GURL origin = |
| 536 extensions::Extension::GetBaseURLFromExtensionId(app_id); | 523 extensions::Extension::GetBaseURLFromExtensionId(app_id); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 553 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; | 540 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; |
| 554 if (is_app_enabled && !is_app_root_tracker_enabled) | 541 if (is_app_enabled && !is_app_root_tracker_enabled) |
| 555 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 542 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
| 556 else if (!is_app_enabled && is_app_root_tracker_enabled) | 543 else if (!is_app_enabled && is_app_root_tracker_enabled) |
| 557 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 544 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
| 558 } | 545 } |
| 559 } | 546 } |
| 560 | 547 |
| 561 } // namespace drive_backend | 548 } // namespace drive_backend |
| 562 } // namespace sync_file_system | 549 } // namespace sync_file_system |
| OLD | NEW |