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

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

Issue 527163002: [SyncFS] Retry initialization of MetadataDatabase on failure of loading ServiceMetadata (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Work for nits Created 6 years, 3 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
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 "base/threading/thread_restrictions.h" 10 #include "base/threading/thread_restrictions.h"
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698