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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database_index.cc

Issue 374843002: [SyncFS] [Refactoring] Change RemovePrefix() to return bool (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_index. h" 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index. h"
6 6
7 #include "base/metrics/histogram.h" 7 #include "base/metrics/histogram.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h" 10 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 void ReadDatabaseContents(leveldb::DB* db, 78 void ReadDatabaseContents(leveldb::DB* db,
79 DatabaseContents* contents) { 79 DatabaseContents* contents) {
80 DCHECK(db); 80 DCHECK(db);
81 DCHECK(contents); 81 DCHECK(contents);
82 82
83 scoped_ptr<leveldb::Iterator> itr(db->NewIterator(leveldb::ReadOptions())); 83 scoped_ptr<leveldb::Iterator> itr(db->NewIterator(leveldb::ReadOptions()));
84 for (itr->SeekToFirst(); itr->Valid(); itr->Next()) { 84 for (itr->SeekToFirst(); itr->Valid(); itr->Next()) {
85 std::string key = itr->key().ToString(); 85 std::string key = itr->key().ToString();
86 std::string value = itr->value().ToString(); 86 std::string value = itr->value().ToString();
87 87
88 if (StartsWithASCII(key, kFileMetadataKeyPrefix, true)) { 88 std::string file_id;
89 std::string file_id = RemovePrefix(key, kFileMetadataKeyPrefix); 89 if (RemovePrefix(key, kFileMetadataKeyPrefix, &file_id)) {
90
91 scoped_ptr<FileMetadata> metadata(new FileMetadata); 90 scoped_ptr<FileMetadata> metadata(new FileMetadata);
92 if (!metadata->ParseFromString(itr->value().ToString())) { 91 if (!metadata->ParseFromString(itr->value().ToString())) {
93 util::Log(logging::LOG_WARNING, FROM_HERE, 92 util::Log(logging::LOG_WARNING, FROM_HERE,
94 "Failed to parse a FileMetadata"); 93 "Failed to parse a FileMetadata");
95 continue; 94 continue;
96 } 95 }
97 96
98 contents->file_metadata.push_back(metadata.release()); 97 contents->file_metadata.push_back(metadata.release());
99 continue; 98 continue;
100 } 99 }
101 100
102 if (StartsWithASCII(key, kFileTrackerKeyPrefix, true)) { 101 std::string tracker_id_str;
102 if (RemovePrefix(key, kFileTrackerKeyPrefix, &tracker_id_str)) {
103 int64 tracker_id = 0; 103 int64 tracker_id = 0;
104 if (!base::StringToInt64(RemovePrefix(key, kFileTrackerKeyPrefix), 104 if (!base::StringToInt64(tracker_id_str, &tracker_id)) {
105 &tracker_id)) {
106 util::Log(logging::LOG_WARNING, FROM_HERE, 105 util::Log(logging::LOG_WARNING, FROM_HERE,
107 "Failed to parse TrackerID"); 106 "Failed to parse TrackerID");
108 continue; 107 continue;
109 } 108 }
110 109
111 scoped_ptr<FileTracker> tracker(new FileTracker); 110 scoped_ptr<FileTracker> tracker(new FileTracker);
112 if (!tracker->ParseFromString(itr->value().ToString())) { 111 if (!tracker->ParseFromString(itr->value().ToString())) {
113 util::Log(logging::LOG_WARNING, FROM_HERE, 112 util::Log(logging::LOG_WARNING, FROM_HERE,
114 "Failed to parse a Tracker"); 113 "Failed to parse a Tracker");
115 continue; 114 continue;
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 689
691 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; 690 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id;
692 dirty_trackers_.erase(tracker_id); 691 dirty_trackers_.erase(tracker_id);
693 692
694 demoted_dirty_trackers_.erase(tracker_id); 693 demoted_dirty_trackers_.erase(tracker_id);
695 } 694 }
696 } 695 }
697 696
698 } // namespace drive_backend 697 } // namespace drive_backend
699 } // namespace sync_file_system 698 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698