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/build_commit_command.h" | 5 #include "chrome/browser/sync/engine/build_commit_command.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 namespace { | 78 namespace { |
79 void SetEntrySpecifics(MutableEntry* meta_entry, SyncEntity* sync_entry) { | 79 void SetEntrySpecifics(MutableEntry* meta_entry, SyncEntity* sync_entry) { |
80 // Add the new style extension and the folder bit. | 80 // Add the new style extension and the folder bit. |
81 sync_entry->mutable_specifics()->CopyFrom(meta_entry->Get(SPECIFICS)); | 81 sync_entry->mutable_specifics()->CopyFrom(meta_entry->Get(SPECIFICS)); |
82 sync_entry->set_folder(meta_entry->Get(syncable::IS_DIR)); | 82 sync_entry->set_folder(meta_entry->Get(syncable::IS_DIR)); |
83 | 83 |
84 DCHECK(meta_entry->GetModelType() == sync_entry->GetModelType()); | 84 DCHECK(meta_entry->GetModelType() == sync_entry->GetModelType()); |
85 } | 85 } |
86 } // namespace | 86 } // namespace |
87 | 87 |
88 void BuildCommitCommand::ExecuteImpl(SyncSession* session) { | 88 SyncerError BuildCommitCommand::ExecuteImpl(SyncSession* session) { |
89 ClientToServerMessage message; | 89 ClientToServerMessage message; |
90 message.set_share(session->context()->account_name()); | 90 message.set_share(session->context()->account_name()); |
91 message.set_message_contents(ClientToServerMessage::COMMIT); | 91 message.set_message_contents(ClientToServerMessage::COMMIT); |
92 | 92 |
93 CommitMessage* commit_message = message.mutable_commit(); | 93 CommitMessage* commit_message = message.mutable_commit(); |
94 commit_message->set_cache_guid( | 94 commit_message->set_cache_guid( |
95 session->write_transaction()->directory()->cache_guid()); | 95 session->write_transaction()->directory()->cache_guid()); |
96 AddExtensionsActivityToMessage(session, commit_message); | 96 AddExtensionsActivityToMessage(session, commit_message); |
97 SyncerProtoUtil::AddRequestBirthday( | 97 SyncerProtoUtil::AddRequestBirthday( |
98 session->write_transaction()->directory(), &message); | 98 session->write_transaction()->directory(), &message); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 position_block.second); | 203 position_block.second); |
204 | 204 |
205 position_map[id] = position_block; | 205 position_map[id] = position_block; |
206 sync_entry->set_position_in_parent(position_block.first); | 206 sync_entry->set_position_in_parent(position_block.first); |
207 } | 207 } |
208 SetEntrySpecifics(&meta_entry, sync_entry); | 208 SetEntrySpecifics(&meta_entry, sync_entry); |
209 } | 209 } |
210 } | 210 } |
211 session->mutable_status_controller()-> | 211 session->mutable_status_controller()-> |
212 mutable_commit_message()->CopyFrom(message); | 212 mutable_commit_message()->CopyFrom(message); |
| 213 |
| 214 return NO_ERROR; |
213 } | 215 } |
214 | 216 |
215 int64 BuildCommitCommand::FindAnchorPosition(syncable::IdField direction, | 217 int64 BuildCommitCommand::FindAnchorPosition(syncable::IdField direction, |
216 const syncable::Entry& entry) { | 218 const syncable::Entry& entry) { |
217 Id next_id = entry.Get(direction); | 219 Id next_id = entry.Get(direction); |
218 while (!next_id.IsRoot()) { | 220 while (!next_id.IsRoot()) { |
219 Entry next_entry(entry.trans(), | 221 Entry next_entry(entry.trans(), |
220 syncable::GET_BY_ID, | 222 syncable::GET_BY_ID, |
221 next_id); | 223 next_id); |
222 if (!next_entry.Get(IS_UNSYNCED) && !next_entry.Get(IS_UNAPPLIED_UPDATE)) { | 224 if (!next_entry.Get(IS_UNSYNCED) && !next_entry.Get(IS_UNAPPLIED_UPDATE)) { |
(...skipping 21 matching lines...) Expand all Loading... |
244 if (delta <= static_cast<uint64>(GetGap()*2)) | 246 if (delta <= static_cast<uint64>(GetGap()*2)) |
245 return lo + (static_cast<int64>(delta) + 7) / 8; // Interpolate. | 247 return lo + (static_cast<int64>(delta) + 7) / 8; // Interpolate. |
246 else if (lo == GetFirstPosition()) | 248 else if (lo == GetFirstPosition()) |
247 return hi - GetGap(); // Extend range just before successor. | 249 return hi - GetGap(); // Extend range just before successor. |
248 else | 250 else |
249 return lo + GetGap(); // Use or extend range just after predecessor. | 251 return lo + GetGap(); // Use or extend range just after predecessor. |
250 } | 252 } |
251 | 253 |
252 | 254 |
253 } // namespace browser_sync | 255 } // namespace browser_sync |
OLD | NEW |