| 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/conflict_resolver.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "chrome/browser/drive/drive_api_util.h" | 10 #include "chrome/browser/drive/drive_api_util.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 if (!trackers.has_active()) { | 50 if (!trackers.has_active()) { |
| 51 NOTREACHED(); | 51 NOTREACHED(); |
| 52 callback.Run(SYNC_STATUS_FAILED); | 52 callback.Run(SYNC_STATUS_FAILED); |
| 53 return; | 53 return; |
| 54 } | 54 } |
| 55 | 55 |
| 56 DCHECK(trackers.has_active()); | 56 DCHECK(trackers.has_active()); |
| 57 for (TrackerSet::const_iterator itr = trackers.begin(); | 57 for (TrackerSet::const_iterator itr = trackers.begin(); |
| 58 itr != trackers.end(); ++itr) { | 58 itr != trackers.end(); ++itr) { |
| 59 const FileTracker& tracker = **itr; | 59 const FileTracker& tracker = **itr; |
| 60 if (tracker.active()) |
| 61 continue; |
| 60 | 62 |
| 61 FileTracker parent_tracker; | 63 FileTracker parent_tracker; |
| 62 bool should_success = metadata_database()->FindTrackerByTrackerID( | 64 bool should_success = metadata_database()->FindTrackerByTrackerID( |
| 63 tracker.parent_tracker_id(), &parent_tracker); | 65 tracker.parent_tracker_id(), &parent_tracker); |
| 64 if (!should_success) { | 66 if (!should_success) { |
| 65 NOTREACHED(); | 67 NOTREACHED(); |
| 66 callback.Run(SYNC_STATUS_FAILED); | 68 callback.Run(SYNC_STATUS_FAILED); |
| 67 return; | 69 return; |
| 68 } | 70 } |
| 69 parents_to_remove_.push_back(parent_tracker.file_id()); | 71 parents_to_remove_.push_back(parent_tracker.file_id()); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 92 | 94 |
| 93 void ConflictResolver::DetachFromNonPrimaryParents( | 95 void ConflictResolver::DetachFromNonPrimaryParents( |
| 94 const SyncStatusCallback& callback) { | 96 const SyncStatusCallback& callback) { |
| 95 DCHECK(!parents_to_remove_.empty()); | 97 DCHECK(!parents_to_remove_.empty()); |
| 96 | 98 |
| 97 // TODO(tzik): Check if ETag match is available for | 99 // TODO(tzik): Check if ETag match is available for |
| 98 // RemoteResourceFromDirectory. | 100 // RemoteResourceFromDirectory. |
| 99 std::string parent_folder_id = parents_to_remove_.back(); | 101 std::string parent_folder_id = parents_to_remove_.back(); |
| 100 parents_to_remove_.pop_back(); | 102 parents_to_remove_.pop_back(); |
| 101 drive_service()->RemoveResourceFromDirectory( | 103 drive_service()->RemoveResourceFromDirectory( |
| 102 target_file_id_, parent_folder_id, | 104 parent_folder_id, target_file_id_, |
| 103 base::Bind(&ConflictResolver::DidDetachFromParent, | 105 base::Bind(&ConflictResolver::DidDetachFromParent, |
| 104 weak_ptr_factory_.GetWeakPtr(), | 106 weak_ptr_factory_.GetWeakPtr(), |
| 105 callback)); | 107 callback)); |
| 106 } | 108 } |
| 107 | 109 |
| 108 void ConflictResolver::DidDetachFromParent(const SyncStatusCallback& callback, | 110 void ConflictResolver::DidDetachFromParent(const SyncStatusCallback& callback, |
| 109 google_apis::GDataErrorCode error) { | 111 google_apis::GDataErrorCode error) { |
| 110 if (error != google_apis::HTTP_SUCCESS) { | 112 if (error != google_apis::HTTP_SUCCESS) { |
| 111 callback.Run(GDataErrorCodeToSyncStatusCode(error)); | 113 callback.Run(GDataErrorCodeToSyncStatusCode(error)); |
| 112 return; | 114 return; |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 set_used_network(true); | 232 set_used_network(true); |
| 231 return sync_context_->GetDriveService(); | 233 return sync_context_->GetDriveService(); |
| 232 } | 234 } |
| 233 | 235 |
| 234 MetadataDatabase* ConflictResolver::metadata_database() { | 236 MetadataDatabase* ConflictResolver::metadata_database() { |
| 235 return sync_context_->GetMetadataDatabase(); | 237 return sync_context_->GetMetadataDatabase(); |
| 236 } | 238 } |
| 237 | 239 |
| 238 } // namespace drive_backend | 240 } // namespace drive_backend |
| 239 } // namespace sync_file_system | 241 } // namespace sync_file_system |
| OLD | NEW |