Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
index fad58f9a6cb77e23e16983eae1de451cb335d023..a051a25e9dfa997d715430ad7a102da01c9d913d 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk.cc |
@@ -142,12 +142,16 @@ std::string GenerateDemotedDirtyIDKey(int64 tracker_id) { |
} // namespace |
-MetadataDatabaseIndexOnDisk::MetadataDatabaseIndexOnDisk(leveldb::DB* db) |
- : db_(db) { |
- // TODO(peria): Add UMA to measure the number of FileMetadata, FileTracker, |
- // and AppRootId. |
- // TODO(peria): If the DB version is 3, build up index lists. |
- // TODO(peria): Read service metadata from DB. |
+// static |
+scoped_ptr<MetadataDatabaseIndexOnDisk> |
+MetadataDatabaseIndexOnDisk::Create( |
+ leveldb::DB* db, leveldb::WriteBatch* batch) { |
+ DCHECK(db); |
+ |
+ PutVersionToBatch(kDatabaseOnDiskVersion, batch); |
+ scoped_ptr<MetadataDatabaseIndexOnDisk> |
+ index(new MetadataDatabaseIndexOnDisk(db)); |
+ return index.Pass(); |
} |
MetadataDatabaseIndexOnDisk::~MetadataDatabaseIndexOnDisk() {} |
@@ -552,6 +556,14 @@ MetadataDatabaseIndexOnDisk::GetAllMetadataIDs() const { |
return file_ids; |
} |
+MetadataDatabaseIndexOnDisk::MetadataDatabaseIndexOnDisk(leveldb::DB* db) |
+ : db_(db) { |
+ // TODO(peria): Add UMA to measure the number of FileMetadata, FileTracker, |
+ // and AppRootId. |
+ // TODO(peria): If the DB version is 3, build up index lists. |
+ service_metadata_ = InitializeServiceMetadata(db_); |
+} |
+ |
void MetadataDatabaseIndexOnDisk::AddToAppIDIndex( |
const FileTracker& tracker, leveldb::WriteBatch* batch) { |
if (!IsAppRoot(tracker)) { |