summaryrefslogtreecommitdiffstats
path: root/sync/syncable
diff options
context:
space:
mode:
authorzea <zea@chromium.org>2016-02-24 12:41:48 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-24 20:42:45 +0000
commit32a7684cf7c1173c11ab012591c8cca2d31df52a (patch)
tree7901fd9480b2114ddbb8fed5e48ef61ddaf9bd4f /sync/syncable
parenta03e8479b8c2e203d7306817d2f1330132000d8f (diff)
downloadchromium_src-32a7684cf7c1173c11ab012591c8cca2d31df52a.zip
chromium_src-32a7684cf7c1173c11ab012591c8cca2d31df52a.tar.gz
chromium_src-32a7684cf7c1173c11ab012591c8cca2d31df52a.tar.bz2
[Sync] Remove backup/rollback logic from Sync
BUG=586596 Review URL: https://codereview.chromium.org/1703173002 Cr-Commit-Position: refs/heads/master@{#377370}
Diffstat (limited to 'sync/syncable')
-rw-r--r--sync/syncable/deferred_on_disk_directory_backing_store.cc72
-rw-r--r--sync/syncable/deferred_on_disk_directory_backing_store.h49
-rw-r--r--sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc117
3 files changed, 0 insertions, 238 deletions
diff --git a/sync/syncable/deferred_on_disk_directory_backing_store.cc b/sync/syncable/deferred_on_disk_directory_backing_store.cc
deleted file mode 100644
index 5e960d2..0000000
--- a/sync/syncable/deferred_on_disk_directory_backing_store.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2014 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/deferred_on_disk_directory_backing_store.h"
-
-#include "base/logging.h"
-#include "base/metrics/histogram.h"
-#include "base/stl_util.h"
-#include "sync/syncable/syncable-inl.h"
-
-namespace syncer {
-namespace syncable {
-
-DeferredOnDiskDirectoryBackingStore::DeferredOnDiskDirectoryBackingStore(
- const std::string& dir_name,
- const base::FilePath& backing_file_path)
- : OnDiskDirectoryBackingStore(dir_name, backing_file_path),
- created_on_disk_(false) {
-}
-
-DeferredOnDiskDirectoryBackingStore::~DeferredOnDiskDirectoryBackingStore() {}
-
-bool DeferredOnDiskDirectoryBackingStore::SaveChanges(
- const Directory::SaveChangesSnapshot& snapshot) {
- DCHECK(CalledOnValidThread());
-
- // Back out early if there is nothing to save.
- if (!snapshot.HasUnsavedMetahandleChanges()) {
- return true;
- }
- if (!created_on_disk_ && !CreateOnDisk())
- return false;
- return OnDiskDirectoryBackingStore::SaveChanges(snapshot);
-}
-
-bool DeferredOnDiskDirectoryBackingStore::CreateOnDisk() {
- DCHECK(CalledOnValidThread());
- DCHECK(!created_on_disk_);
- ResetAndCreateConnection();
- if (!base::DeleteFile(backing_file_path(), false))
- return false;
- if (!Open(backing_file_path()) || !InitializeTables())
- return false;
- created_on_disk_ = true;
- return true;
-}
-
-DirOpenResult DeferredOnDiskDirectoryBackingStore::Load(
- Directory::MetahandlesMap* handles_map,
- JournalIndex* delete_journals,
- MetahandleSet* metahandles_to_purge,
- Directory::KernelLoadInfo* kernel_load_info) {
- DCHECK(CalledOnValidThread());
- // Open an in-memory database at first to create initial sync data needed by
- // Directory.
- CHECK(!IsOpen());
- if (!OpenInMemory())
- return FAILED_OPEN_DATABASE;
-
- if (!InitializeTables())
- return FAILED_OPEN_DATABASE;
- if (!LoadEntries(handles_map, metahandles_to_purge))
- return FAILED_DATABASE_CORRUPT;
- if (!LoadInfo(kernel_load_info))
- return FAILED_DATABASE_CORRUPT;
-
- return OPENED;
-}
-
-} // namespace syncable
-} // namespace syncer
diff --git a/sync/syncable/deferred_on_disk_directory_backing_store.h b/sync/syncable/deferred_on_disk_directory_backing_store.h
deleted file mode 100644
index 0531737..0000000
--- a/sync/syncable/deferred_on_disk_directory_backing_store.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2014 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.
-
-#ifndef SYNC_SYNCABLE_DEFERRED_ON_DISK_DIRECTORY_BACKING_STORE_H_
-#define SYNC_SYNCABLE_DEFERRED_ON_DISK_DIRECTORY_BACKING_STORE_H_
-
-#include <string>
-
-#include "base/files/file_path.h"
-#include "base/macros.h"
-#include "sync/base/sync_export.h"
-#include "sync/syncable/on_disk_directory_backing_store.h"
-
-namespace syncer {
-namespace syncable {
-
-// Store used for backing up user's data before first sync. It creates an
-// in-memory store first and switch to on-disk store if SaveChanges() is
-// called, which only happens when SyncBackupManager is shut down and a
-// syncing backend is to be created. Thus we guarantee that user data is not
-// persisted until user is actually going to sync.
-class SYNC_EXPORT DeferredOnDiskDirectoryBackingStore
- : public OnDiskDirectoryBackingStore {
- public:
- DeferredOnDiskDirectoryBackingStore(const std::string& dir_name,
- const base::FilePath& backing_file_path);
- ~DeferredOnDiskDirectoryBackingStore() override;
- DirOpenResult Load(Directory::MetahandlesMap* handles_map,
- JournalIndex* delete_journals,
- MetahandleSet* metahandles_to_purge,
- Directory::KernelLoadInfo* kernel_load_info) override;
- bool SaveChanges(const Directory::SaveChangesSnapshot& snapshot) override;
-
- private:
- // Create an on-disk directory backing store. Returns true on success, false
- // on error.
- bool CreateOnDisk();
-
- // Whether an on-disk directory backing store has been created.
- bool created_on_disk_;
-
- DISALLOW_COPY_AND_ASSIGN(DeferredOnDiskDirectoryBackingStore);
-};
-
-} // namespace syncable
-} // namespace syncer
-
-#endif // SYNC_SYNCABLE_DEFERRED_ON_DISK_DIRECTORY_BACKING_STORE_H_
diff --git a/sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc b/sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc
deleted file mode 100644
index a62060a..0000000
--- a/sync/syncable/deferred_on_disk_directory_backing_store_unittest.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright 2014 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 "base/files/scoped_temp_dir.h"
-#include "base/message_loop/message_loop.h"
-#include "base/stl_util.h"
-#include "sync/syncable/deferred_on_disk_directory_backing_store.h"
-#include "sync/syncable/directory.h"
-#include "sync/syncable/entry_kernel.h"
-#include "sync/syncable/on_disk_directory_backing_store.h"
-#include "sync/syncable/syncable_delete_journal.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace syncer {
-namespace syncable {
-namespace {
-
-static const base::FilePath::CharType kSyncDataFolderName[] =
- FILE_PATH_LITERAL("Sync Data");
-
-class DeferredOnDiskDirectoryBackingStoreTest : public testing::Test {
- protected:
- void SetUp() override {
- CHECK(temp_dir_.CreateUniqueTempDir());
- db_path_ = temp_dir_.path().Append(kSyncDataFolderName);
- }
-
- void TearDown() override { STLDeleteValues(&handles_map_); }
-
- base::MessageLoop message_loop_;
- base::ScopedTempDir temp_dir_;
- base::FilePath db_path_;
- Directory::MetahandlesMap handles_map_;
- JournalIndex delete_journals_;
- MetahandleSet metahandles_to_purge_;
- Directory::KernelLoadInfo kernel_load_info_;
-};
-
-// Test initialization of root entry when calling Load().
-TEST_F(DeferredOnDiskDirectoryBackingStoreTest, Load) {
- DeferredOnDiskDirectoryBackingStore store("test", db_path_);
- EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_,
- &metahandles_to_purge_, &kernel_load_info_));
- EXPECT_TRUE(delete_journals_.empty());
- EXPECT_TRUE(metahandles_to_purge_.empty());
- ASSERT_EQ(1u, handles_map_.size()); // root node
- ASSERT_TRUE(handles_map_.count(1));
- EntryKernel* root = handles_map_[1];
- EXPECT_TRUE(root->ref(ID).IsRoot());
- EXPECT_EQ(1, root->ref(META_HANDLE));
- EXPECT_TRUE(root->ref(IS_DIR));
-}
-
-// Test on-disk DB is not created if SaveChanges() is not called.
-TEST_F(DeferredOnDiskDirectoryBackingStoreTest,
- DontPersistIfSavingChangesNotCalled) {
- {
- // Open and close.
- DeferredOnDiskDirectoryBackingStore store("test", db_path_);
- EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_,
- &metahandles_to_purge_, &kernel_load_info_));
- }
-
- EXPECT_FALSE(base::PathExists(db_path_));
-}
-
-// Test on-disk DB is not created when there are no changes.
-TEST_F(DeferredOnDiskDirectoryBackingStoreTest,
- DontPersistWhenSavingNoChanges) {
- {
- // Open and close.
- DeferredOnDiskDirectoryBackingStore store("test", db_path_);
- EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_,
- &metahandles_to_purge_, &kernel_load_info_));
-
- Directory::SaveChangesSnapshot snapshot;
- store.SaveChanges(snapshot);
- }
-
- EXPECT_FALSE(base::PathExists(db_path_));
-}
-
-// Test changes are persisted to disk when SaveChanges() is called.
-TEST_F(DeferredOnDiskDirectoryBackingStoreTest, PersistWhenSavingValidChanges) {
- {
- // Open and close.
- DeferredOnDiskDirectoryBackingStore store("test", db_path_);
- EXPECT_EQ(OPENED, store.Load(&handles_map_, &delete_journals_,
- &metahandles_to_purge_, &kernel_load_info_));
-
- Directory::SaveChangesSnapshot snapshot;
- EntryKernel* entry = new EntryKernel();
- entry->put(ID, Id::CreateFromClientString("test_entry"));
- entry->put(META_HANDLE, 2);
- entry->mark_dirty(NULL);
- snapshot.dirty_metas.insert(entry);
- store.SaveChanges(snapshot);
- }
-
- STLDeleteValues(&handles_map_);
-
- ASSERT_TRUE(base::PathExists(db_path_));
- OnDiskDirectoryBackingStore read_store("test", db_path_);
- EXPECT_EQ(OPENED,
- read_store.Load(&handles_map_, &delete_journals_,
- &metahandles_to_purge_, &kernel_load_info_));
- ASSERT_EQ(2u, handles_map_.size());
- ASSERT_TRUE(handles_map_.count(1)); // root node
- ASSERT_TRUE(handles_map_.count(2));
- EntryKernel* entry = handles_map_[2];
- EXPECT_EQ(Id::CreateFromClientString("test_entry"), entry->ref(ID));
-}
-
-} // namespace
-} // namespace syncable
-} // namespace syncer