OLD | NEW |
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 "base/threading/thread_restrictions.h" | 10 #include "base/threading/thread_restrictions.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 } | 197 } |
198 | 198 |
199 } // namespace | 199 } // namespace |
200 | 200 |
201 // static | 201 // static |
202 scoped_ptr<MetadataDatabaseIndex> | 202 scoped_ptr<MetadataDatabaseIndex> |
203 MetadataDatabaseIndex::Create(LevelDBWrapper* db) { | 203 MetadataDatabaseIndex::Create(LevelDBWrapper* db) { |
204 DCHECK(db); | 204 DCHECK(db); |
205 | 205 |
206 scoped_ptr<ServiceMetadata> service_metadata = InitializeServiceMetadata(db); | 206 scoped_ptr<ServiceMetadata> service_metadata = InitializeServiceMetadata(db); |
| 207 if (!service_metadata) |
| 208 return scoped_ptr<MetadataDatabaseIndex>(); |
| 209 |
207 DatabaseContents contents; | 210 DatabaseContents contents; |
208 | |
209 PutVersionToDB(kCurrentDatabaseVersion, db); | 211 PutVersionToDB(kCurrentDatabaseVersion, db); |
210 ReadDatabaseContents(db, &contents); | 212 ReadDatabaseContents(db, &contents); |
211 RemoveUnreachableItems(&contents, | 213 RemoveUnreachableItems(&contents, |
212 service_metadata->sync_root_tracker_id(), | 214 service_metadata->sync_root_tracker_id(), |
213 db); | 215 db); |
214 | 216 |
215 scoped_ptr<MetadataDatabaseIndex> index(new MetadataDatabaseIndex(db)); | 217 scoped_ptr<MetadataDatabaseIndex> index(new MetadataDatabaseIndex(db)); |
216 index->Initialize(service_metadata.Pass(), &contents); | 218 index->Initialize(service_metadata.Pass(), &contents); |
217 return index.Pass(); | 219 return index.Pass(); |
218 } | 220 } |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
741 | 743 |
742 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; | 744 DVLOG(3) << " Remove from dirty_trackers_: " << tracker_id; |
743 dirty_trackers_.erase(tracker_id); | 745 dirty_trackers_.erase(tracker_id); |
744 | 746 |
745 demoted_dirty_trackers_.erase(tracker_id); | 747 demoted_dirty_trackers_.erase(tracker_id); |
746 } | 748 } |
747 } | 749 } |
748 | 750 |
749 } // namespace drive_backend | 751 } // namespace drive_backend |
750 } // namespace sync_file_system | 752 } // namespace sync_file_system |
OLD | NEW |