Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
| (...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 394 details->set_change_id(++current_change_id_); | 394 details->set_change_id(++current_change_id_); |
| 395 } | 395 } |
| 396 | 396 |
| 397 void ApplyContentChangeToMetadata(FileMetadata* file) { | 397 void ApplyContentChangeToMetadata(FileMetadata* file) { |
| 398 FileDetails* details = file->mutable_details(); | 398 FileDetails* details = file->mutable_details(); |
| 399 details->set_md5( | 399 details->set_md5( |
| 400 "md5_value_" + base::Int64ToString(next_md5_sequence_number_++)); | 400 "md5_value_" + base::Int64ToString(next_md5_sequence_number_++)); |
| 401 details->set_change_id(++current_change_id_); | 401 details->set_change_id(++current_change_id_); |
| 402 } | 402 } |
| 403 | 403 |
| 404 void ApplyNoopChangeToMetadata(FileMetadata* file) { | |
| 405 file->mutable_details()->set_change_id(++current_change_id_); | |
| 406 } | |
| 407 | |
| 404 void PushToChangeList(scoped_ptr<google_apis::ChangeResource> change, | 408 void PushToChangeList(scoped_ptr<google_apis::ChangeResource> change, |
| 405 ScopedVector<google_apis::ChangeResource>* changes) { | 409 ScopedVector<google_apis::ChangeResource>* changes) { |
| 406 changes->push_back(change.release()); | 410 changes->push_back(change.release()); |
| 407 } | 411 } |
| 408 | 412 |
| 409 leveldb::Status PutFileToDB(leveldb::DB* db, const FileMetadata& file) { | 413 leveldb::Status PutFileToDB(leveldb::DB* db, const FileMetadata& file) { |
| 410 std::string key = "FILE: " + file.file_id(); | 414 std::string key = "FILE: " + file.file_id(); |
| 411 std::string value; | 415 std::string value; |
| 412 file.SerializeToString(&value); | 416 file.SerializeToString(&value); |
| 413 return db->Put(leveldb::WriteOptions(), key, value); | 417 return db->Put(leveldb::WriteOptions(), key, value); |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 741 &new_file, | 745 &new_file, |
| 742 }; | 746 }; |
| 743 | 747 |
| 744 SetUpDatabaseByTrackedFiles(tracked_files, arraysize(tracked_files)); | 748 SetUpDatabaseByTrackedFiles(tracked_files, arraysize(tracked_files)); |
| 745 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); | 749 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); |
| 746 | 750 |
| 747 ApplyRenameChangeToMetadata("renamed", &renamed_file.metadata); | 751 ApplyRenameChangeToMetadata("renamed", &renamed_file.metadata); |
| 748 ApplyReorganizeChangeToMetadata(folder.metadata.file_id(), | 752 ApplyReorganizeChangeToMetadata(folder.metadata.file_id(), |
| 749 &reorganized_file.metadata); | 753 &reorganized_file.metadata); |
| 750 ApplyContentChangeToMetadata(&updated_file.metadata); | 754 ApplyContentChangeToMetadata(&updated_file.metadata); |
| 755 ApplyNoopChangeToMetadata(&noop_file.metadata); | |
|
kinuko
2013/11/18 06:57:11
Care to add a comment why we need it?
tzik
2013/11/18 07:17:13
Done.
| |
| 751 | 756 |
| 752 ScopedVector<google_apis::ChangeResource> changes; | 757 ScopedVector<google_apis::ChangeResource> changes; |
| 753 PushToChangeList( | 758 PushToChangeList( |
| 754 CreateChangeResourceFromMetadata(renamed_file.metadata), &changes); | 759 CreateChangeResourceFromMetadata(renamed_file.metadata), &changes); |
| 755 PushToChangeList( | 760 PushToChangeList( |
| 756 CreateChangeResourceFromMetadata(reorganized_file.metadata), &changes); | 761 CreateChangeResourceFromMetadata(reorganized_file.metadata), &changes); |
| 757 PushToChangeList( | 762 PushToChangeList( |
| 758 CreateChangeResourceFromMetadata(updated_file.metadata), &changes); | 763 CreateChangeResourceFromMetadata(updated_file.metadata), &changes); |
| 759 PushToChangeList( | 764 PushToChangeList( |
| 760 CreateChangeResourceFromMetadata(noop_file.metadata), &changes); | 765 CreateChangeResourceFromMetadata(noop_file.metadata), &changes); |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 999 EXPECT_TRUE(file->HasKey("details")); | 1004 EXPECT_TRUE(file->HasKey("details")); |
| 1000 | 1005 |
| 1001 ASSERT_TRUE(files->GetDictionary(1, &file)); | 1006 ASSERT_TRUE(files->GetDictionary(1, &file)); |
| 1002 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); | 1007 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); |
| 1003 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); | 1008 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); |
| 1004 EXPECT_TRUE(file->HasKey("details")); | 1009 EXPECT_TRUE(file->HasKey("details")); |
| 1005 } | 1010 } |
| 1006 | 1011 |
| 1007 } // namespace drive_backend | 1012 } // namespace drive_backend |
| 1008 } // namespace sync_file_system | 1013 } // namespace sync_file_system |
| OLD | NEW |