| Index: chrome/browser/sync/engine/apply_updates_command.cc
|
| diff --git a/chrome/browser/sync/engine/apply_updates_command.cc b/chrome/browser/sync/engine/apply_updates_command.cc
|
| index 8b5a6b8db8d28e10eca8fe405b2cb0b2b03df8d0..b7716ff97c511f61adeb5c5680972e9b645c2d52 100644
|
| --- a/chrome/browser/sync/engine/apply_updates_command.cc
|
| +++ b/chrome/browser/sync/engine/apply_updates_command.cc
|
| @@ -17,6 +17,30 @@ using sessions::SyncSession;
|
| ApplyUpdatesCommand::ApplyUpdatesCommand() {}
|
| ApplyUpdatesCommand::~ApplyUpdatesCommand() {}
|
|
|
| +std::set<ModelSafeGroup> ApplyUpdatesCommand::GetGroupsToChange(
|
| + const sessions::SyncSession& session) const {
|
| + std::set<ModelSafeGroup> groups_with_unapplied_updates;
|
| + syncable::ScopedDirLookup dir(session.context()->directory_manager(),
|
| + session.context()->account_name());
|
| + if (!dir.good()) {
|
| + LOG(ERROR) << "Scoped dir lookup failed!";
|
| + return groups_with_unapplied_updates;
|
| + }
|
| +
|
| + syncable::ReadTransaction trans(FROM_HERE, dir);
|
| + syncable::Directory::UnappliedUpdateMetaHandles handles;
|
| + dir->GetUnappliedUpdateMetaHandles(&trans, &handles);
|
| + for (syncable::Directory::UnappliedUpdateMetaHandles::const_iterator it =
|
| + handles.begin(); it != handles.end(); ++it) {
|
| + const syncable::Entry entry(&trans, syncable::GET_BY_HANDLE, *it);
|
| + groups_with_unapplied_updates.insert(
|
| + GetGroupForModelType(entry.GetServerModelType(),
|
| + session.routing_info()));
|
| + }
|
| +
|
| + return groups_with_unapplied_updates;
|
| +}
|
| +
|
| void ApplyUpdatesCommand::ModelChangingExecuteImpl(SyncSession* session) {
|
| syncable::ScopedDirLookup dir(session->context()->directory_manager(),
|
| session->context()->account_name());
|
|
|