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

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

Issue 8637006: [Sync] Make syncer commands avoid posting tasks on threads with no work to do (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync to head, fix windows compile Created 9 years 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/build_and_process_conflict_sets_command.h" 5 #include "chrome/browser/sync/engine/build_and_process_conflict_sets_command.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <sstream> 9 #include <sstream>
10 #include <vector> 10 #include <vector>
(...skipping 12 matching lines...) Expand all
23 using sessions::StatusController; 23 using sessions::StatusController;
24 using sessions::SyncSession; 24 using sessions::SyncSession;
25 using sessions::UpdateProgress; 25 using sessions::UpdateProgress;
26 using std::set; 26 using std::set;
27 using std::string; 27 using std::string;
28 using std::vector; 28 using std::vector;
29 29
30 BuildAndProcessConflictSetsCommand::BuildAndProcessConflictSetsCommand() {} 30 BuildAndProcessConflictSetsCommand::BuildAndProcessConflictSetsCommand() {}
31 BuildAndProcessConflictSetsCommand::~BuildAndProcessConflictSetsCommand() {} 31 BuildAndProcessConflictSetsCommand::~BuildAndProcessConflictSetsCommand() {}
32 32
33 bool BuildAndProcessConflictSetsCommand::HasCustomGroupsToChange() const {
34 // TODO(akalin): Set to true.
35 return false;
36 }
37
38 std::set<ModelSafeGroup> BuildAndProcessConflictSetsCommand::GetGroupsToChange(
39 const sessions::SyncSession& session) const {
40 return session.GetEnabledGroupsWithConflicts();
41 }
42
33 void BuildAndProcessConflictSetsCommand::ModelChangingExecuteImpl( 43 void BuildAndProcessConflictSetsCommand::ModelChangingExecuteImpl(
34 SyncSession* session) { 44 SyncSession* session) {
35 session->mutable_status_controller()->update_conflict_sets_built( 45 session->mutable_status_controller()->update_conflict_sets_built(
36 BuildAndProcessConflictSets(session)); 46 BuildAndProcessConflictSets(session));
37 } 47 }
38 48
39 bool BuildAndProcessConflictSetsCommand::BuildAndProcessConflictSets( 49 bool BuildAndProcessConflictSetsCommand::BuildAndProcessConflictSets(
40 SyncSession* session) { 50 SyncSession* session) {
41 syncable::ScopedDirLookup dir(session->context()->directory_manager(), 51 syncable::ScopedDirLookup dir(session->context()->directory_manager(),
42 session->context()->account_name()); 52 session->context()->account_name());
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 LocallyDeletedPathChecker checker; 415 LocallyDeletedPathChecker checker;
406 if (!checker.CausingConflict(parent, *entry)) 416 if (!checker.CausingConflict(parent, *entry))
407 return; 417 return;
408 conflict_progress->MergeSets(entry->Get(syncable::ID), 418 conflict_progress->MergeSets(entry->Get(syncable::ID),
409 parent.Get(syncable::ID)); 419 parent.Get(syncable::ID));
410 CrawlDeletedTreeMergingSets(trans, parent, conflict_progress, checker); 420 CrawlDeletedTreeMergingSets(trans, parent, conflict_progress, checker);
411 } 421 }
412 } 422 }
413 423
414 } // namespace browser_sync 424 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698