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 "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/threading/sequenced_worker_pool.h" | 8 #include "base/threading/sequenced_worker_pool.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "chrome/browser/drive/drive_api_service.h" | 10 #include "chrome/browser/drive/drive_api_service.h" |
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 syncer->sync_action(), | 427 syncer->sync_action(), |
428 SYNC_DIRECTION_REMOTE_TO_LOCAL)); | 428 SYNC_DIRECTION_REMOTE_TO_LOCAL)); |
429 } | 429 } |
430 | 430 |
431 callback.Run(status, syncer->url()); | 431 callback.Run(status, syncer->url()); |
432 } | 432 } |
433 | 433 |
434 void SyncEngine::DidApplyLocalChange(LocalToRemoteSyncer* syncer, | 434 void SyncEngine::DidApplyLocalChange(LocalToRemoteSyncer* syncer, |
435 const SyncStatusCallback& callback, | 435 const SyncStatusCallback& callback, |
436 SyncStatusCode status) { | 436 SyncStatusCode status) { |
| 437 if ((status == SYNC_STATUS_OK || status == SYNC_STATUS_RETRY) && |
| 438 syncer->url().is_valid() && |
| 439 syncer->sync_action() != SYNC_ACTION_NONE) { |
| 440 fileapi::FileSystemURL updated_url = syncer->url(); |
| 441 if (!syncer->target_path().empty()) { |
| 442 updated_url = CreateSyncableFileSystemURL(syncer->url().origin(), |
| 443 syncer->target_path()); |
| 444 } |
| 445 FOR_EACH_OBSERVER(FileStatusObserver, |
| 446 file_status_observers_, |
| 447 OnFileStatusChanged(updated_url, |
| 448 SYNC_FILE_STATUS_SYNCED, |
| 449 syncer->sync_action(), |
| 450 SYNC_DIRECTION_LOCAL_TO_REMOTE)); |
| 451 } |
| 452 |
437 if (status != SYNC_STATUS_OK && | 453 if (status != SYNC_STATUS_OK && |
438 status != SYNC_STATUS_NO_CHANGE_TO_SYNC) { | 454 status != SYNC_STATUS_NO_CHANGE_TO_SYNC) { |
439 callback.Run(status); | 455 callback.Run(status); |
440 return; | 456 return; |
441 } | 457 } |
442 | 458 |
443 if (status == SYNC_STATUS_NO_CHANGE_TO_SYNC) | 459 if (status == SYNC_STATUS_NO_CHANGE_TO_SYNC) |
444 metadata_database_->PromoteLowerPriorityTrackersToNormal(); | 460 metadata_database_->PromoteLowerPriorityTrackersToNormal(); |
445 | 461 |
446 callback.Run(status); | 462 callback.Run(status); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; | 583 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; |
568 if (is_app_enabled && !is_app_root_tracker_enabled) | 584 if (is_app_enabled && !is_app_root_tracker_enabled) |
569 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 585 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
570 else if (!is_app_enabled && is_app_root_tracker_enabled) | 586 else if (!is_app_enabled && is_app_root_tracker_enabled) |
571 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 587 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
572 } | 588 } |
573 } | 589 } |
574 | 590 |
575 } // namespace drive_backend | 591 } // namespace drive_backend |
576 } // namespace sync_file_system | 592 } // namespace sync_file_system |
OLD | NEW |