Chromium Code Reviews| Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc |
| diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc |
| index e2a092ee3d168a9c54ca1743993d7df2a9386a4e..ab2b8e485a596e08b5e8c95d55e1a6e6b379971b 100644 |
| --- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc |
| +++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc |
| @@ -98,7 +98,7 @@ void ReadDatabaseContents(LevelDBWrapper* db, DatabaseContents* contents) { |
| continue; |
| } |
| - contents->file_metadata.push_back(metadata.release()); |
| + contents->file_metadata.push_back(std::move(metadata)); |
| continue; |
| } |
| @@ -117,7 +117,7 @@ void ReadDatabaseContents(LevelDBWrapper* db, DatabaseContents* contents) { |
| "Failed to parse a Tracker"); |
| continue; |
| } |
| - contents->file_trackers.push_back(tracker.release()); |
| + contents->file_trackers.push_back(std::move(tracker)); |
| continue; |
| } |
| } |
| @@ -168,12 +168,12 @@ void RemoveUnreachableItemsFromDB(DatabaseContents* contents, |
| } |
| // Delete all unreachable trackers. |
| - ScopedVector<FileTracker> reachable_trackers; |
| + std::vector<std::unique_ptr<FileTracker>> reachable_trackers; |
| for (size_t i = 0; i < contents->file_trackers.size(); ++i) { |
| - FileTracker* tracker = contents->file_trackers[i]; |
| + FileTracker* tracker = contents->file_trackers[i].get(); |
| if (base::ContainsKey(visited_trackers, tracker->tracker_id())) { |
| - reachable_trackers.push_back(tracker); |
| - contents->file_trackers[i] = nullptr; |
| + reachable_trackers.push_back(base::WrapUnique(tracker)); |
| + contents->file_trackers[i].release(); |
|
Avi (use Gerrit)
2017/01/09 17:18:29
Wrapping an existing unique_ptr and then releasing
leonhsl(Using Gerrit)
2017/01/10 04:39:36
Done.
|
| } else { |
| PutFileTrackerDeletionToDB(tracker->tracker_id(), db); |
| } |
| @@ -186,12 +186,12 @@ void RemoveUnreachableItemsFromDB(DatabaseContents* contents, |
| referred_file_ids.insert(contents->file_trackers[i]->file_id()); |
| // Delete all unreferred metadata. |
| - ScopedVector<FileMetadata> referred_file_metadata; |
| + std::vector<std::unique_ptr<FileMetadata>> referred_file_metadata; |
| for (size_t i = 0; i < contents->file_metadata.size(); ++i) { |
| - FileMetadata* metadata = contents->file_metadata[i]; |
| + FileMetadata* metadata = contents->file_metadata[i].get(); |
| if (base::ContainsKey(referred_file_ids, metadata->file_id())) { |
| - referred_file_metadata.push_back(metadata); |
| - contents->file_metadata[i] = nullptr; |
| + referred_file_metadata.push_back(base::WrapUnique(metadata)); |
| + contents->file_metadata[i].release(); |
|
Avi (use Gerrit)
2017/01/09 17:18:29
Same here.
leonhsl(Using Gerrit)
2017/01/10 04:39:36
Done.
|
| } else { |
| PutFileMetadataDeletionToDB(metadata->file_id(), db); |
| } |
| @@ -238,12 +238,12 @@ void MetadataDatabaseIndex::Initialize( |
| service_metadata_ = std::move(service_metadata); |
| for (size_t i = 0; i < contents->file_metadata.size(); ++i) |
| - StoreFileMetadata(base::WrapUnique(contents->file_metadata[i])); |
| - contents->file_metadata.weak_clear(); |
| + StoreFileMetadata(std::move(contents->file_metadata[i])); |
| + contents->file_metadata.clear(); |
| for (size_t i = 0; i < contents->file_trackers.size(); ++i) |
| - StoreFileTracker(base::WrapUnique(contents->file_trackers[i])); |
| - contents->file_trackers.weak_clear(); |
| + StoreFileTracker(std::move(contents->file_trackers[i])); |
| + contents->file_trackers.clear(); |
| UMA_HISTOGRAM_COUNTS("SyncFileSystem.MetadataNumber", metadata_by_id_.size()); |
| UMA_HISTOGRAM_COUNTS("SyncFileSystem.TrackerNumber", tracker_by_id_.size()); |