Index: sync/syncable/directory.cc |
diff --git a/sync/syncable/directory.cc b/sync/syncable/directory.cc |
index 12616959984419a1c9e5cae9f412c821305460dd..110000e62c9ae5f9520c519542b29d6452bb871e 100644 |
--- a/sync/syncable/directory.cc |
+++ b/sync/syncable/directory.cc |
@@ -334,7 +334,7 @@ int Directory::GetPositionIndex( |
BaseTransaction* trans, |
EntryKernel* kernel) const { |
const OrderedChildSet* siblings = |
- kernel_->parent_child_index.GetChildren(kernel->ref(PARENT_ID)); |
+ kernel_->parent_child_index.GetSiblings(kernel); |
OrderedChildSet::const_iterator it = siblings->find(kernel); |
return std::distance(siblings->begin(), it); |
@@ -1360,13 +1360,11 @@ syncable::Id Directory::GetPredecessorId(EntryKernel* e) { |
ScopedKernelLock lock(this); |
DCHECK(ParentChildIndex::ShouldInclude(e)); |
- const OrderedChildSet* children = |
- kernel_->parent_child_index.GetChildren(e->ref(PARENT_ID)); |
- DCHECK(children && !children->empty()); |
- OrderedChildSet::const_iterator i = children->find(e); |
- DCHECK(i != children->end()); |
+ const OrderedChildSet* siblings = kernel_->parent_child_index.GetSiblings(e); |
+ OrderedChildSet::const_iterator i = siblings->find(e); |
+ DCHECK(i != siblings->end()); |
- if (i == children->begin()) { |
+ if (i == siblings->begin()) { |
return Id(); |
} else { |
i--; |
@@ -1378,14 +1376,12 @@ syncable::Id Directory::GetSuccessorId(EntryKernel* e) { |
ScopedKernelLock lock(this); |
DCHECK(ParentChildIndex::ShouldInclude(e)); |
- const OrderedChildSet* children = |
- kernel_->parent_child_index.GetChildren(e->ref(PARENT_ID)); |
- DCHECK(children && !children->empty()); |
- OrderedChildSet::const_iterator i = children->find(e); |
- DCHECK(i != children->end()); |
+ const OrderedChildSet* siblings = kernel_->parent_child_index.GetSiblings(e); |
+ OrderedChildSet::const_iterator i = siblings->find(e); |
+ DCHECK(i != siblings->end()); |
i++; |
- if (i == children->end()) { |
+ if (i == siblings->end()) { |
return Id(); |
} else { |
return (*i)->ref(ID); |