Chromium Code Reviews| 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..0f568a53cb79265d2f4bbe54ff37ca9d92e93328 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,27 @@ 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); |
| + DCHECK(batch); |
| + |
| + WriteVersionInfo(kDatabaseOnDiskVersion, batch); |
| + scoped_ptr<MetadataDatabaseIndexOnDisk> |
| + index(new MetadataDatabaseIndexOnDisk(db)); |
| + return index.Pass(); |
| +} |
| + |
| +// static |
| +scoped_ptr<MetadataDatabaseIndexOnDisk> |
| +MetadataDatabaseIndexOnDisk::CreateForTesting(leveldb::DB* db) { |
|
nhiroki
2014/07/16 04:14:49
How about like this?
1) Making Create() and Write
peria
2014/07/16 04:26:07
Good suggestion.
Done.
|
| + DCHECK(db); |
| + |
| + scoped_ptr<MetadataDatabaseIndexOnDisk> |
| + index(new MetadataDatabaseIndexOnDisk(db)); |
| + return index.Pass(); |
| } |
| MetadataDatabaseIndexOnDisk::~MetadataDatabaseIndexOnDisk() {} |
| @@ -552,6 +567,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)) { |