| Index: chrome/browser/sync/glue/sync_backend_host_core.cc
|
| diff --git a/chrome/browser/sync/glue/sync_backend_host_core.cc b/chrome/browser/sync/glue/sync_backend_host_core.cc
|
| index 98e1a4e93f73aa7af5ff245b105db47d28f4f3ee..58c59c3208524ea2379ba9b0958ef843ff1fdbca 100644
|
| --- a/chrome/browser/sync/glue/sync_backend_host_core.cc
|
| +++ b/chrome/browser/sync/glue/sync_backend_host_core.cc
|
| @@ -151,7 +151,7 @@ void SyncBackendHostCore::OnInitializationComplete(
|
| DCHECK_EQ(base::MessageLoop::current(), sync_loop_);
|
|
|
| if (!success) {
|
| - DoDestroySyncManager();
|
| + DoDestroySyncManager(syncer::STOP_SYNC);
|
| host_.Call(FROM_HERE,
|
| &SyncBackendHostImpl::HandleInitializationFailureOnFrontendLoop);
|
| return;
|
| @@ -566,31 +566,31 @@ void SyncBackendHostCore::ShutdownOnUIThread() {
|
| release_request_context_signal_.Signal();
|
| }
|
|
|
| -void SyncBackendHostCore::DoShutdown(bool sync_disabled) {
|
| +void SyncBackendHostCore::DoShutdown(syncer::ShutdownReason reason) {
|
| DCHECK_EQ(base::MessageLoop::current(), sync_loop_);
|
|
|
| // It's safe to do this even if the type was never activated.
|
| registrar_->DeactivateDataType(syncer::DEVICE_INFO);
|
| synced_device_tracker_.reset();
|
|
|
| - DoDestroySyncManager();
|
| + DoDestroySyncManager(reason);
|
|
|
| registrar_ = NULL;
|
|
|
| - if (sync_disabled)
|
| + if (reason == syncer::DISABLE_SYNC)
|
| DeleteSyncDataFolder();
|
|
|
| host_.Reset();
|
| weak_ptr_factory_.InvalidateWeakPtrs();
|
| }
|
|
|
| -void SyncBackendHostCore::DoDestroySyncManager() {
|
| +void SyncBackendHostCore::DoDestroySyncManager(syncer::ShutdownReason reason) {
|
| DCHECK_EQ(base::MessageLoop::current(), sync_loop_);
|
| if (sync_manager_) {
|
| DisableDirectoryTypeDebugInfoForwarding();
|
| save_changes_timer_.reset();
|
| sync_manager_->RemoveObserver(this);
|
| - sync_manager_->ShutdownOnSyncThread();
|
| + sync_manager_->ShutdownOnSyncThread(reason);
|
| sync_manager_.reset();
|
| }
|
| }
|
|
|