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

Unified Diff: chrome/browser/sync_file_system/drive_backend/metadata_database.cc

Issue 148483009: [SyncFS] Force activate folder tracker on folder creation conflict case (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment update Created 6 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync_file_system/drive_backend/metadata_database.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
index 9ce1a68be8b052156344fdcd9d4c3ac5dcdba8c4..5677161069ec2946ff1c005a48511dbeb911417d 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
@@ -1033,17 +1033,20 @@ MetadataDatabase::ActivationStatus MetadataDatabase::TryNoSideEffectActivation(
DCHECK(tracker);
- if (!tracker->active()) {
- if (same_file_id.has_active())
- return ACTIVATION_FAILED_ANOTHER_ACTIVE_TRACKER;
+ if (!tracker->active() && same_file_id.has_active())
+ return ACTIVATION_FAILED_ANOTHER_ACTIVE_TRACKER;
+
+ scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch);
+ if (!tracker->active()) {
TrackerSet same_title;
FindTrackersByParentAndTitle(parent_tracker_id, title, &same_title);
- if (same_title.has_active())
- return ACTIVATION_FAILED_SAME_PATH_TRACKER;
+ if (same_title.has_active()) {
kinuko 2014/02/06 09:48:01 Does it make sense to have some comment here? It's
tzik 2014/02/07 04:43:53 Added some comment around here.
+ MakeTrackerInactive(same_title.active_tracker()->tracker_id(),
+ batch.get());
+ }
}
- scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch);
if (!tracker->has_synced_details() ||
tracker->synced_details().title() != title) {
trackers_by_parent_and_title_[parent_tracker_id]

Powered by Google App Engine
This is Rietveld 408576698