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

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

Issue 340243004: [SyncFS] Remove a friendship between MetadataDatabase and MetadataDatabaseIndex (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work for a nit Created 6 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/metadata_database_index.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 f61b49496d7919923cb9bab7764800ff70815d8e..ebbe799895dcb9d68f439c1aa0f88a2c95852f8b 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
@@ -719,8 +719,6 @@ void MetadataDatabase::PopulateInitialData(
const ScopedVector<google_apis::FileResource>& app_root_folders,
const SyncStatusCallback& callback) {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- DCHECK(index_->tracker_by_id_.empty());
- DCHECK(index_->metadata_by_id_.empty());
scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch);
service_metadata_->set_largest_change_id(largest_change_id);
@@ -1467,8 +1465,7 @@ bool MetadataDatabase::HasDirtyTracker() const {
size_t MetadataDatabase::CountDirtyTracker() const {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- return index_->dirty_trackers_.size() +
- index_->demoted_dirty_trackers_.size();
+ return index_->CountDirtyTracker();
}
bool MetadataDatabase::GetMultiParentFileTrackers(std::string* file_id_out,
@@ -1494,12 +1491,12 @@ bool MetadataDatabase::GetMultiParentFileTrackers(std::string* file_id_out,
size_t MetadataDatabase::CountFileMetadata() const {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- return index_->metadata_by_id_.size();
+ return index_->CountFileMetadata();
}
size_t MetadataDatabase::CountFileTracker() const {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- return index_->tracker_by_id_.size();
+ return index_->CountFileTracker();
}
bool MetadataDatabase::GetConflictingTrackers(TrackerIDSet* trackers_out) {
@@ -1976,29 +1973,35 @@ scoped_ptr<base::ListValue> MetadataDatabase::DumpTrackers() {
trackers->Append(metadata);
// Append tracker data.
- for (MetadataDatabaseIndex::TrackerByID::const_iterator itr =
- index_->tracker_by_id_.begin();
- itr != index_->tracker_by_id_.end(); ++itr) {
- const FileTracker& tracker = *itr->second;
+ std::vector<int64> tracker_ids(index_->GetAllTrackerIDs());
+ for (std::vector<int64>::const_iterator itr = tracker_ids.begin();
+ itr != tracker_ids.end(); ++itr) {
+ const int64 tracker_id = *itr;
+ const FileTracker* tracker = index_->GetFileTracker(tracker_id);
+ if (!tracker) {
+ NOTREACHED();
+ continue;
+ }
+
base::DictionaryValue* dict = new base::DictionaryValue;
- base::FilePath path = BuildDisplayPathForTracker(tracker);
- dict->SetString("tracker_id", base::Int64ToString(tracker.tracker_id()));
+ base::FilePath path = BuildDisplayPathForTracker(*tracker);
+ dict->SetString("tracker_id", base::Int64ToString(tracker_id));
dict->SetString("path", path.AsUTF8Unsafe());
- dict->SetString("file_id", tracker.file_id());
- TrackerKind tracker_kind = tracker.tracker_kind();
+ dict->SetString("file_id", tracker->file_id());
+ TrackerKind tracker_kind = tracker->tracker_kind();
dict->SetString(
"tracker_kind",
tracker_kind == TRACKER_KIND_APP_ROOT ? "AppRoot" :
tracker_kind == TRACKER_KIND_DISABLED_APP_ROOT ? "Disabled App" :
- tracker.tracker_id() == GetSyncRootTrackerID() ? "SyncRoot" :
+ tracker->tracker_id() == GetSyncRootTrackerID() ? "SyncRoot" :
"Regular");
- dict->SetString("app_id", tracker.app_id());
- dict->SetString("active", tracker.active() ? "true" : "false");
- dict->SetString("dirty", tracker.dirty() ? "true" : "false");
+ dict->SetString("app_id", tracker->app_id());
+ dict->SetString("active", tracker->active() ? "true" : "false");
+ dict->SetString("dirty", tracker->dirty() ? "true" : "false");
dict->SetString("folder_listing",
- tracker.needs_folder_listing() ? "needed" : "no");
- if (tracker.has_synced_details()) {
- const FileDetails& details = tracker.synced_details();
+ tracker->needs_folder_listing() ? "needed" : "no");
+ if (tracker->has_synced_details()) {
+ const FileDetails& details = tracker->synced_details();
dict->SetString("title", details.title());
dict->SetString("kind", FileKindToString(details.file_kind()));
dict->SetString("md5", details.md5());
@@ -2031,15 +2034,20 @@ scoped_ptr<base::ListValue> MetadataDatabase::DumpMetadata() {
files->Append(metadata);
// Append metadata data.
- for (MetadataDatabaseIndex::MetadataByID::const_iterator itr =
- index_->metadata_by_id_.begin();
- itr != index_->metadata_by_id_.end(); ++itr) {
- const FileMetadata& file = *itr->second;
+ std::vector<std::string> metadata_ids(index_->GetAllMetadataIDs());
+ for (std::vector<std::string>::const_iterator itr = metadata_ids.begin();
+ itr != metadata_ids.end(); ++itr) {
+ const std::string& file_id = *itr;
+ const FileMetadata *file = index_->GetFileMetadata(file_id);
+ if (!file) {
+ NOTREACHED();
+ continue;
+ }
base::DictionaryValue* dict = new base::DictionaryValue;
- dict->SetString("file_id", file.file_id());
- if (file.has_details()) {
- const FileDetails& details = file.details();
+ dict->SetString("file_id", file_id);
+ if (file->has_details()) {
+ const FileDetails& details = file->details();
dict->SetString("title", details.title());
dict->SetString("type", FileKindToString(details.file_kind()));
dict->SetString("md5", details.md5());
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/metadata_database_index.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698