Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Side by Side Diff: chrome/browser/sync/engine/process_updates_command.cc

Issue 7190001: [Sync] Split DirectoryChangeListener for thread-safety (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix copyright Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/sync/engine/process_commit_response_command_unittest.cc ('k') | chrome/browser/sync/engine/sync_scheduler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698