| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/engine/conflict_resolver.h" | 5 #include "chrome/browser/sync/engine/conflict_resolver.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 VLOG(1) << "Resolving simple conflict, overwriting server changes for:" | 123 VLOG(1) << "Resolving simple conflict, overwriting server changes for:" |
| 124 << entry; | 124 << entry; |
| 125 OverwriteServerChanges(trans, &entry); | 125 OverwriteServerChanges(trans, &entry); |
| 126 status->increment_num_server_overwrites(); | 126 status->increment_num_server_overwrites(); |
| 127 } | 127 } |
| 128 return SYNC_PROGRESS; | 128 return SYNC_PROGRESS; |
| 129 } else { // SERVER_IS_DEL is true | 129 } else { // SERVER_IS_DEL is true |
| 130 // If a server deleted folder has local contents we should be in a set. | 130 // If a server deleted folder has local contents we should be in a set. |
| 131 if (entry.Get(syncable::IS_DIR)) { | 131 if (entry.Get(syncable::IS_DIR)) { |
| 132 Directory::ChildHandles children; | 132 Directory::ChildHandles children; |
| 133 trans->directory()->GetChildHandles(trans, | 133 trans->directory()->GetChildHandlesById(trans, |
| 134 entry.Get(syncable::ID), | 134 entry.Get(syncable::ID), |
| 135 &children); | 135 &children); |
| 136 if (0 != children.size()) { | 136 if (0 != children.size()) { |
| 137 VLOG(1) << "Entry is a server deleted directory with local contents, " | 137 VLOG(1) << "Entry is a server deleted directory with local contents, " |
| 138 "should be in a set. (race condition)."; | 138 "should be in a set. (race condition)."; |
| 139 return NO_SYNC_PROGRESS; | 139 return NO_SYNC_PROGRESS; |
| 140 } | 140 } |
| 141 } | 141 } |
| 142 | 142 |
| 143 // The entry is deleted on the server but still exists locally. | 143 // The entry is deleted on the server but still exists locally. |
| 144 if (!entry.Get(syncable::UNIQUE_CLIENT_TAG).empty()) { | 144 if (!entry.Get(syncable::UNIQUE_CLIENT_TAG).empty()) { |
| 145 // If we've got a client-unique tag, we can undelete while retaining | 145 // If we've got a client-unique tag, we can undelete while retaining |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 conflict_set_count_map_.erase(i++); | 513 conflict_set_count_map_.erase(i++); |
| 514 // METRIC self resolved conflict sets ++. | 514 // METRIC self resolved conflict sets ++. |
| 515 } else { | 515 } else { |
| 516 ++i; | 516 ++i; |
| 517 } | 517 } |
| 518 } | 518 } |
| 519 return rv; | 519 return rv; |
| 520 } | 520 } |
| 521 | 521 |
| 522 } // namespace browser_sync | 522 } // namespace browser_sync |
| OLD | NEW |