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