| 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 be8b8720044248a403e928205334745f7d9bacfa..d626229dfc2760cdf888eda04c1b599d0c0ee335 100644
|
| --- a/sync/internal_api/sync_backup_manager.cc
|
| +++ b/sync/internal_api/sync_backup_manager.cc
|
| @@ -23,6 +23,7 @@ void SyncBackupManager::Init(InitArgs* args) {
|
| if (SyncRollbackManagerBase::InitInternal(
|
| args->database_location,
|
| args->internal_components_factory.get(),
|
| + InternalComponentsFactory::STORAGE_ON_DISK_DEFERRED,
|
| args->unrecoverable_error_handler.Pass(),
|
| args->report_unrecoverable_error_function)) {
|
| GetUserShare()->directory->CollectMetaHandleCounts(
|
| @@ -34,10 +35,8 @@ void SyncBackupManager::Init(InitArgs* args) {
|
| }
|
|
|
| void SyncBackupManager::SaveChanges() {
|
| - if (initialized()) {
|
| + if (initialized())
|
| NormalizeEntries();
|
| - GetUserShare()->directory->SaveChanges();
|
| - }
|
| }
|
|
|
| SyncStatus SyncBackupManager::GetDetailedStatus() const {
|
| @@ -122,6 +121,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) {}
|
|
|
|
|