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

Unified Diff: sync/internal_api/sync_backup_manager.cc

Issue 455023003: Let SyncBackupManager keep backup data in memory until shutdown. Only persist (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: sync/internal_api/sync_backup_manager.cc
diff --git a/sync/internal_api/sync_backup_manager.cc b/sync/internal_api/sync_backup_manager.cc
index 0e71f3b7de51b940581c102092fe70335001bcc2..dbcd43561327e3cf2961b7464241e8bb942407fb 100644
--- a/sync/internal_api/sync_backup_manager.cc
+++ b/sync/internal_api/sync_backup_manager.cc
@@ -39,6 +39,7 @@ void SyncBackupManager::Init(
if (SyncRollbackManagerBase::InitInternal(
database_location,
internal_components_factory,
+ InternalComponentsFactory::STORAGE_ON_DISK_DEFERRED,
unrecoverable_error_handler.Pass(),
report_unrecoverable_error_function)) {
GetUserShare()->directory->CollectMetaHandleCounts(
@@ -50,10 +51,8 @@ void SyncBackupManager::Init(
}
void SyncBackupManager::SaveChanges() {
- if (initialized()) {
+ if (initialized())
NormalizeEntries();
- GetUserShare()->directory->SaveChanges();
- }
}
SyncStatus SyncBackupManager::GetDetailedStatus() const {
@@ -138,6 +137,15 @@ void SyncBackupManager::HideSyncPreference(ModelType type) {
}
}
+void SyncBackupManager::ShutdownOnSyncThread(ShutdownReason reason) {
+ if (reason == SWITCH_MODE_SYNC) {
+ NormalizeEntries();
+ GetUserShare()->directory->SaveChanges();
+ }
+
+ SyncRollbackManagerBase::ShutdownOnSyncThread(reason);
+}
+
void SyncBackupManager::RegisterDirectoryTypeDebugInfoObserver(
syncer::TypeDebugInfoObserver* observer) {}

Powered by Google App Engine
This is Rietveld 408576698