| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #include "chrome/browser/sync/glue/sync_backend_host.h" | 7 #include "chrome/browser/sync/glue/sync_backend_host.h" |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 839 &SyncBackendHost::HandleSyncCycleCompletedOnFrontendLoop, | 839 &SyncBackendHost::HandleSyncCycleCompletedOnFrontendLoop, |
| 840 snapshot); | 840 snapshot); |
| 841 } | 841 } |
| 842 | 842 |
| 843 | 843 |
| 844 void SyncBackendHost::Core::OnInitializationComplete( | 844 void SyncBackendHost::Core::OnInitializationComplete( |
| 845 const syncer::WeakHandle<syncer::JsBackend>& js_backend, | 845 const syncer::WeakHandle<syncer::JsBackend>& js_backend, |
| 846 bool success, | 846 bool success, |
| 847 const syncer::ModelTypeSet restored_types) { | 847 const syncer::ModelTypeSet restored_types) { |
| 848 DCHECK_EQ(MessageLoop::current(), sync_loop_); | 848 DCHECK_EQ(MessageLoop::current(), sync_loop_); |
| 849 |
| 850 if (!success) { |
| 851 sync_manager_->RemoveObserver(this); |
| 852 sync_manager_->ShutdownOnSyncThread(); |
| 853 sync_manager_.reset(); |
| 854 } |
| 855 |
| 849 host_.Call( | 856 host_.Call( |
| 850 FROM_HERE, | 857 FROM_HERE, |
| 851 &SyncBackendHost::HandleSyncManagerInitializationOnFrontendLoop, | 858 &SyncBackendHost::HandleSyncManagerInitializationOnFrontendLoop, |
| 852 js_backend, success, restored_types); | 859 js_backend, success, restored_types); |
| 853 | 860 |
| 854 if (success) { | 861 if (success) { |
| 855 // Initialization is complete, so we can schedule recurring SaveChanges. | 862 // Initialization is complete, so we can schedule recurring SaveChanges. |
| 856 sync_loop_->PostTask(FROM_HERE, | 863 sync_loop_->PostTask(FROM_HERE, |
| 857 base::Bind(&Core::StartSavingChanges, this)); | 864 base::Bind(&Core::StartSavingChanges, this)); |
| 858 } | 865 } |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1044 void SyncBackendHost::Core::DoRefreshNigori( | 1051 void SyncBackendHost::Core::DoRefreshNigori( |
| 1045 const base::Closure& done_callback) { | 1052 const base::Closure& done_callback) { |
| 1046 DCHECK_EQ(MessageLoop::current(), sync_loop_); | 1053 DCHECK_EQ(MessageLoop::current(), sync_loop_); |
| 1047 chrome::VersionInfo version_info; | 1054 chrome::VersionInfo version_info; |
| 1048 sync_manager_->RefreshNigori(version_info.CreateVersionString(), | 1055 sync_manager_->RefreshNigori(version_info.CreateVersionString(), |
| 1049 done_callback); | 1056 done_callback); |
| 1050 } | 1057 } |
| 1051 | 1058 |
| 1052 void SyncBackendHost::Core::DoStopSyncManagerForShutdown( | 1059 void SyncBackendHost::Core::DoStopSyncManagerForShutdown( |
| 1053 const base::Closure& closure) { | 1060 const base::Closure& closure) { |
| 1054 DCHECK(sync_manager_.get()); | 1061 if (sync_manager_.get()) { |
| 1055 sync_manager_->StopSyncingForShutdown(closure); | 1062 sync_manager_->StopSyncingForShutdown(closure); |
| 1063 } else { |
| 1064 sync_loop_->PostTask(FROM_HERE, closure); |
| 1065 } |
| 1056 } | 1066 } |
| 1057 | 1067 |
| 1058 void SyncBackendHost::Core::DoShutdown(bool sync_disabled) { | 1068 void SyncBackendHost::Core::DoShutdown(bool sync_disabled) { |
| 1059 DCHECK_EQ(MessageLoop::current(), sync_loop_); | 1069 DCHECK_EQ(MessageLoop::current(), sync_loop_); |
| 1060 if (!sync_manager_.get()) | 1070 if (sync_manager_.get()) { |
| 1061 return; | 1071 save_changes_timer_.reset(); |
| 1072 sync_manager_->ShutdownOnSyncThread(); |
| 1073 sync_manager_->RemoveObserver(this); |
| 1074 sync_manager_.reset(); |
| 1075 } |
| 1062 | 1076 |
| 1063 save_changes_timer_.reset(); | |
| 1064 sync_manager_->ShutdownOnSyncThread(); | |
| 1065 sync_manager_->RemoveObserver(this); | |
| 1066 sync_manager_.reset(); | |
| 1067 chrome_sync_notification_bridge_ = NULL; | 1077 chrome_sync_notification_bridge_ = NULL; |
| 1068 registrar_ = NULL; | 1078 registrar_ = NULL; |
| 1069 | 1079 |
| 1070 if (sync_disabled) | 1080 if (sync_disabled) |
| 1071 DeleteSyncDataFolder(); | 1081 DeleteSyncDataFolder(); |
| 1072 | 1082 |
| 1073 sync_loop_ = NULL; | 1083 sync_loop_ = NULL; |
| 1074 | 1084 |
| 1075 host_.Reset(); | 1085 host_.Reset(); |
| 1076 } | 1086 } |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1379 FROM_HERE, | 1389 FROM_HERE, |
| 1380 base::Bind(&SyncBackendHost::Core::DoRefreshNigori, | 1390 base::Bind(&SyncBackendHost::Core::DoRefreshNigori, |
| 1381 core_.get(), sync_thread_done_callback)); | 1391 core_.get(), sync_thread_done_callback)); |
| 1382 } | 1392 } |
| 1383 | 1393 |
| 1384 #undef SDVLOG | 1394 #undef SDVLOG |
| 1385 | 1395 |
| 1386 #undef SLOG | 1396 #undef SLOG |
| 1387 | 1397 |
| 1388 } // namespace browser_sync | 1398 } // namespace browser_sync |
| OLD | NEW |