| 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 |