| Index: sync/syncable/on_disk_directory_backing_store.cc
|
| diff --git a/sync/syncable/on_disk_directory_backing_store.cc b/sync/syncable/on_disk_directory_backing_store.cc
|
| deleted file mode 100644
|
| index 3a378472e870c13dfdc64e144bcaf653e292012f..0000000000000000000000000000000000000000
|
| --- a/sync/syncable/on_disk_directory_backing_store.cc
|
| +++ /dev/null
|
| @@ -1,119 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "sync/syncable/on_disk_directory_backing_store.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/stl_util.h"
|
| -#include "base/metrics/histogram.h"
|
| -#include "sync/syncable/syncable-inl.h"
|
| -
|
| -namespace syncer {
|
| -namespace syncable {
|
| -
|
| -namespace {
|
| -
|
| -enum HistogramResultEnum {
|
| - FIRST_TRY_SUCCESS,
|
| - SECOND_TRY_SUCCESS,
|
| - SECOND_TRY_FAILURE,
|
| - RESULT_COUNT
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -OnDiskDirectoryBackingStore::OnDiskDirectoryBackingStore(
|
| - const std::string& dir_name,
|
| - const base::FilePath& backing_file_path)
|
| - : DirectoryBackingStore(dir_name), backing_file_path_(backing_file_path) {
|
| - DCHECK(backing_file_path_.IsAbsolute());
|
| -}
|
| -
|
| -OnDiskDirectoryBackingStore::~OnDiskDirectoryBackingStore() {
|
| -}
|
| -
|
| -DirOpenResult OnDiskDirectoryBackingStore::TryLoad(
|
| - Directory::MetahandlesMap* handles_map,
|
| - JournalIndex* delete_journals,
|
| - MetahandleSet* metahandles_to_purge,
|
| - Directory::KernelLoadInfo* kernel_load_info) {
|
| - DCHECK(CalledOnValidThread());
|
| -
|
| - if (!IsOpen()) {
|
| - if (!Open(backing_file_path_))
|
| - return FAILED_OPEN_DATABASE;
|
| - }
|
| -
|
| - if (!InitializeTables())
|
| - return FAILED_OPEN_DATABASE;
|
| -
|
| - if (!LoadEntries(handles_map, metahandles_to_purge))
|
| - return FAILED_DATABASE_CORRUPT;
|
| - if (!LoadDeleteJournals(delete_journals))
|
| - return FAILED_DATABASE_CORRUPT;
|
| - if (!LoadInfo(kernel_load_info))
|
| - return FAILED_DATABASE_CORRUPT;
|
| - if (!VerifyReferenceIntegrity(handles_map))
|
| - return FAILED_DATABASE_CORRUPT;
|
| -
|
| - return OPENED;
|
| -}
|
| -
|
| -DirOpenResult OnDiskDirectoryBackingStore::Load(
|
| - Directory::MetahandlesMap* handles_map,
|
| - JournalIndex* delete_journals,
|
| - MetahandleSet* metahandles_to_purge,
|
| - Directory::KernelLoadInfo* kernel_load_info) {
|
| - DCHECK(CalledOnValidThread());
|
| - DirOpenResult result = TryLoad(handles_map, delete_journals,
|
| - metahandles_to_purge, kernel_load_info);
|
| - if (result == OPENED) {
|
| - UMA_HISTOGRAM_ENUMERATION("Sync.DirectoryOpenResult", FIRST_TRY_SUCCESS,
|
| - RESULT_COUNT);
|
| - return OPENED;
|
| - }
|
| -
|
| - ReportFirstTryOpenFailure();
|
| -
|
| - // The fallback: delete the current database and return a fresh one. We can
|
| - // fetch the user's data from the cloud.
|
| - STLDeleteValues(handles_map);
|
| - STLDeleteElements(delete_journals);
|
| -
|
| - ResetAndCreateConnection();
|
| -
|
| - base::DeleteFile(backing_file_path_, false);
|
| -
|
| - result = TryLoad(handles_map, delete_journals, metahandles_to_purge,
|
| - kernel_load_info);
|
| - if (result == OPENED) {
|
| - UMA_HISTOGRAM_ENUMERATION("Sync.DirectoryOpenResult", SECOND_TRY_SUCCESS,
|
| - RESULT_COUNT);
|
| - } else {
|
| - UMA_HISTOGRAM_ENUMERATION("Sync.DirectoryOpenResult", SECOND_TRY_FAILURE,
|
| - RESULT_COUNT);
|
| - }
|
| -
|
| - return result;
|
| -}
|
| -
|
| -void OnDiskDirectoryBackingStore::ReportFirstTryOpenFailure() {
|
| - // In debug builds, the last thing we want is to silently clear the database.
|
| - // It's full of evidence that might help us determine what went wrong. It
|
| - // might be sqlite's fault, but it could also be a bug in sync. We crash
|
| - // immediately so a developer can investigate.
|
| - //
|
| - // Developers: If you're not interested in debugging this right now, just move
|
| - // aside the 'Sync Data' directory in your profile. This is similar to what
|
| - // the code would do if this DCHECK were disabled.
|
| - NOTREACHED() << "Crashing to preserve corrupt sync database";
|
| -}
|
| -
|
| -const base::FilePath& OnDiskDirectoryBackingStore::backing_file_path() const {
|
| - DCHECK(CalledOnValidThread());
|
| - return backing_file_path_;
|
| -}
|
| -
|
| -} // namespace syncable
|
| -} // namespace syncer
|
|
|