OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/sync/internal_api/sync_manager.h" | 5 #include "chrome/browser/sync/internal_api/sync_manager.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/base64.h" | 9 #include "base/base64.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 model_safe_worker_registrar, | 795 model_safe_worker_registrar, |
796 listeners, | 796 listeners, |
797 &debug_info_event_listener_); | 797 &debug_info_event_listener_); |
798 context->set_account_name(credentials.email); | 798 context->set_account_name(credentials.email); |
799 // The SyncScheduler takes ownership of |context|. | 799 // The SyncScheduler takes ownership of |context|. |
800 scheduler_.reset(new SyncScheduler(name_, context, new Syncer())); | 800 scheduler_.reset(new SyncScheduler(name_, context, new Syncer())); |
801 } | 801 } |
802 | 802 |
803 bool signed_in = SignIn(credentials); | 803 bool signed_in = SignIn(credentials); |
804 | 804 |
805 if (signed_in || setup_for_test_mode_) { | 805 if (signed_in) { |
806 if (scheduler()) { | 806 if (scheduler()) { |
807 scheduler()->Start( | 807 scheduler()->Start( |
808 browser_sync::SyncScheduler::CONFIGURATION_MODE, base::Closure()); | 808 browser_sync::SyncScheduler::CONFIGURATION_MODE, base::Closure()); |
809 } | 809 } |
810 | 810 |
811 initialized_ = true; | 811 initialized_ = true; |
812 | 812 |
813 // Cryptographer should only be accessed while holding a | 813 // Cryptographer should only be accessed while holding a |
814 // transaction. Grabbing the user share for the transaction | 814 // transaction. Grabbing the user share for the transaction |
815 // checks the initialization state, so this must come after | 815 // checks the initialization state, so this must come after |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 // syncing until at least the DirectoryManager broadcasts the OPENED | 887 // syncing until at least the DirectoryManager broadcasts the OPENED |
888 // event, and a valid server connection is detected. | 888 // event, and a valid server connection is detected. |
889 if (scheduler()) // NULL during certain unittests. | 889 if (scheduler()) // NULL during certain unittests. |
890 scheduler()->Start(SyncScheduler::NORMAL_MODE, base::Closure()); | 890 scheduler()->Start(SyncScheduler::NORMAL_MODE, base::Closure()); |
891 } | 891 } |
892 | 892 |
893 bool SyncManager::SyncInternal::OpenDirectory() { | 893 bool SyncManager::SyncInternal::OpenDirectory() { |
894 DCHECK(!initialized_) << "Should only happen once"; | 894 DCHECK(!initialized_) << "Should only happen once"; |
895 | 895 |
896 bool share_opened = dir_manager()->Open(username_for_share(), this); | 896 bool share_opened = dir_manager()->Open(username_for_share(), this); |
897 DCHECK(share_opened); | |
898 if (!share_opened) { | 897 if (!share_opened) { |
899 LOG(ERROR) << "Could not open share for:" << username_for_share(); | 898 LOG(ERROR) << "Could not open share for:" << username_for_share(); |
900 return false; | 899 return false; |
901 } | 900 } |
902 | 901 |
903 // Database has to be initialized for the guid to be available. | 902 // Database has to be initialized for the guid to be available. |
904 syncable::ScopedDirLookup lookup(dir_manager(), username_for_share()); | 903 syncable::ScopedDirLookup lookup(dir_manager(), username_for_share()); |
905 if (!lookup.good()) { | 904 if (!lookup.good()) { |
906 NOTREACHED(); | 905 NOTREACHED(); |
907 return false; | 906 return false; |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1284 sync_notifier_.reset(); | 1283 sync_notifier_.reset(); |
1285 | 1284 |
1286 if (connection_manager_.get()) { | 1285 if (connection_manager_.get()) { |
1287 connection_manager_->RemoveListener(this); | 1286 connection_manager_->RemoveListener(this); |
1288 } | 1287 } |
1289 connection_manager_.reset(); | 1288 connection_manager_.reset(); |
1290 | 1289 |
1291 net::NetworkChangeNotifier::RemoveIPAddressObserver(this); | 1290 net::NetworkChangeNotifier::RemoveIPAddressObserver(this); |
1292 observing_ip_address_changes_ = false; | 1291 observing_ip_address_changes_ = false; |
1293 | 1292 |
1294 if (dir_manager()) { | 1293 if (initialized_ && dir_manager()) { |
1295 { | 1294 { |
1296 // Cryptographer should only be accessed while holding a | 1295 // Cryptographer should only be accessed while holding a |
1297 // transaction. | 1296 // transaction. |
1298 ReadTransaction trans(FROM_HERE, GetUserShare()); | 1297 ReadTransaction trans(FROM_HERE, GetUserShare()); |
1299 trans.GetCryptographer()->RemoveObserver(this); | 1298 trans.GetCryptographer()->RemoveObserver(this); |
1300 trans.GetLookup()-> | 1299 trans.GetLookup()-> |
1301 RemoveTransactionObserver(&js_mutation_event_observer_); | 1300 RemoveTransactionObserver(&js_mutation_event_observer_); |
1302 RemoveChangeObserver(&js_mutation_event_observer_); | 1301 RemoveChangeObserver(&js_mutation_event_observer_); |
1303 } | 1302 } |
1304 dir_manager()->FinalSaveChangesForAll(); | 1303 dir_manager()->FinalSaveChangesForAll(); |
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2109 lookup->GetDownloadProgress(*i, &marker); | 2108 lookup->GetDownloadProgress(*i, &marker); |
2110 | 2109 |
2111 if (marker.token().empty()) | 2110 if (marker.token().empty()) |
2112 result.insert(*i); | 2111 result.insert(*i); |
2113 | 2112 |
2114 } | 2113 } |
2115 return result; | 2114 return result; |
2116 } | 2115 } |
2117 | 2116 |
2118 } // namespace sync_api | 2117 } // namespace sync_api |
OLD | NEW |