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/process_updates_command.h" | 5 #include "chrome/browser/sync/engine/process_updates_command.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/tracked.h" |
10 #include "chrome/browser/sync/engine/syncer.h" | 11 #include "chrome/browser/sync/engine/syncer.h" |
11 #include "chrome/browser/sync/engine/syncer_proto_util.h" | 12 #include "chrome/browser/sync/engine/syncer_proto_util.h" |
12 #include "chrome/browser/sync/engine/syncer_util.h" | 13 #include "chrome/browser/sync/engine/syncer_util.h" |
13 #include "chrome/browser/sync/engine/syncproto.h" | 14 #include "chrome/browser/sync/engine/syncproto.h" |
14 #include "chrome/browser/sync/sessions/sync_session.h" | 15 #include "chrome/browser/sync/sessions/sync_session.h" |
15 #include "chrome/browser/sync/syncable/directory_manager.h" | 16 #include "chrome/browser/sync/syncable/directory_manager.h" |
16 #include "chrome/browser/sync/syncable/syncable.h" | 17 #include "chrome/browser/sync/syncable/syncable.h" |
17 | 18 |
18 using std::vector; | 19 using std::vector; |
19 | 20 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 | 91 |
91 // Process a single update. Will avoid touching global state. | 92 // Process a single update. Will avoid touching global state. |
92 ServerUpdateProcessingResult ProcessUpdatesCommand::ProcessUpdate( | 93 ServerUpdateProcessingResult ProcessUpdatesCommand::ProcessUpdate( |
93 const syncable::ScopedDirLookup& dir, | 94 const syncable::ScopedDirLookup& dir, |
94 const sync_pb::SyncEntity& proto_update) { | 95 const sync_pb::SyncEntity& proto_update) { |
95 | 96 |
96 const SyncEntity& update = *static_cast<const SyncEntity*>(&proto_update); | 97 const SyncEntity& update = *static_cast<const SyncEntity*>(&proto_update); |
97 syncable::Id server_id = update.id(); | 98 syncable::Id server_id = update.id(); |
98 const std::string name = SyncerProtoUtil::NameFromSyncEntity(update); | 99 const std::string name = SyncerProtoUtil::NameFromSyncEntity(update); |
99 | 100 |
100 syncable::WriteTransaction trans(dir, syncable::SYNCER, __FILE__, __LINE__); | 101 syncable::WriteTransaction trans(dir, syncable::SYNCER, FROM_HERE); |
101 | 102 |
102 // Look to see if there's a local item that should recieve this update, | 103 // Look to see if there's a local item that should recieve this update, |
103 // maybe due to a duplicate client tag or a lost commit response. | 104 // maybe due to a duplicate client tag or a lost commit response. |
104 syncable::Id local_id = SyncerUtil::FindLocalIdToUpdate(&trans, update); | 105 syncable::Id local_id = SyncerUtil::FindLocalIdToUpdate(&trans, update); |
105 | 106 |
106 // FindLocalEntryToUpdate has veto power. | 107 // FindLocalEntryToUpdate has veto power. |
107 if (local_id.IsNull()) { | 108 if (local_id.IsNull()) { |
108 return SUCCESS_PROCESSED; // The entry has become irrelevant. | 109 return SUCCESS_PROCESSED; // The entry has become irrelevant. |
109 } | 110 } |
110 | 111 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 // If these don't match, it means that we have a different view of the | 156 // If these don't match, it means that we have a different view of the |
156 // truth from other clients. That's a sync bug, though we may be able | 157 // truth from other clients. That's a sync bug, though we may be able |
157 // to recover the next time this item commits. | 158 // to recover the next time this item commits. |
158 LOG_IF(ERROR, !SyncerUtil::ServerAndLocalEntriesMatch(&target_entry)) | 159 LOG_IF(ERROR, !SyncerUtil::ServerAndLocalEntriesMatch(&target_entry)) |
159 << target_entry; | 160 << target_entry; |
160 } | 161 } |
161 return SUCCESS_PROCESSED; | 162 return SUCCESS_PROCESSED; |
162 } | 163 } |
163 | 164 |
164 } // namespace browser_sync | 165 } // namespace browser_sync |
OLD | NEW |