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

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

Issue 446793002: [SyncFS] Unconditionally demote remote file trackers on remote-to-local sync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 5c3bae8aa639b29ebb83b002a54c4fe09ab2de76..7040bc6d5e42210ee3b4939400cb8a277a733ada 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
@@ -1176,6 +1176,8 @@ void MetadataDatabase::UpdateTracker(int64 tracker_id,
scoped_ptr<FileTracker> updated_tracker = CloneFileTracker(&tracker);
*updated_tracker->mutable_synced_details() = updated_details;
+ bool should_promote = false;
peria 2014/08/07 09:24:48 isn't it referred?
tzik 2014/08/08 04:05:42 Ah, I forgot to check it. Fixed.
+
// Activate the tracker if:
// - There is no active tracker that tracks |tracker->file_id()|.
// - There is no active tracker that has the same |parent| and |title|.
@@ -1184,10 +1186,12 @@ void MetadataDatabase::UpdateTracker(int64 tracker_id,
updated_tracker->set_dirty(true);
updated_tracker->set_needs_folder_listing(
tracker.synced_details().file_kind() == FILE_KIND_FOLDER);
+ should_promote = true;
} else if (tracker.dirty() && !ShouldKeepDirty(tracker)) {
updated_tracker->set_dirty(false);
}
index_->StoreFileTracker(updated_tracker.Pass());
+ index_->PromoteDemotedDirtyTracker(tracker_id);
WriteToDatabase(callback);
}
@@ -1267,9 +1271,16 @@ void MetadataDatabase::LowerTrackerPriority(int64 tracker_id) {
WriteToDatabase(base::Bind(&EmptyStatusCallback));
}
-void MetadataDatabase::PromoteLowerPriorityTrackersToNormal() {
+bool MetadataDatabase::PromoteLowerPriorityTrackersToNormal() {
+ DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
+ bool promoted = index_->PromoteDemotedDirtyTrackers();
+ WriteToDatabase(base::Bind(&EmptyStatusCallback));
+ return promoted;
+}
+
+void MetadataDatabase::PromoteDemotedTracker(int64 tracker_id) {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- index_->PromoteDemotedDirtyTrackers();
+ index_->PromoteDemotedDirtyTracker(tracker_id);
WriteToDatabase(base::Bind(&EmptyStatusCallback));
}

Powered by Google App Engine
This is Rietveld 408576698