| 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/engine/syncapi.h" | 5 #include "chrome/browser/sync/engine/syncapi.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <bitset> | 8 #include <bitset> |
| 9 #include <iomanip> | 9 #include <iomanip> |
| 10 #include <list> | 10 #include <list> |
| (...skipping 1205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1216 // SyncManager's implementation: SyncManager::SyncInternal | 1216 // SyncManager's implementation: SyncManager::SyncInternal |
| 1217 class SyncManager::SyncInternal | 1217 class SyncManager::SyncInternal |
| 1218 : public net::NetworkChangeNotifier::IPAddressObserver, | 1218 : public net::NetworkChangeNotifier::IPAddressObserver, |
| 1219 public sync_notifier::SyncNotifierObserver, | 1219 public sync_notifier::SyncNotifierObserver, |
| 1220 public JsBackend, | 1220 public JsBackend, |
| 1221 public SyncEngineEventListener, | 1221 public SyncEngineEventListener, |
| 1222 public ServerConnectionEventListener, | 1222 public ServerConnectionEventListener, |
| 1223 public syncable::DirectoryChangeDelegate { | 1223 public syncable::DirectoryChangeDelegate { |
| 1224 static const int kDefaultNudgeDelayMilliseconds; | 1224 static const int kDefaultNudgeDelayMilliseconds; |
| 1225 static const int kPreferencesNudgeDelayMilliseconds; | 1225 static const int kPreferencesNudgeDelayMilliseconds; |
| 1226 // TODO(akalin): Remove this once we have the delay controllable |
| 1227 // from the server. |
| 1228 static const int kSessionsNudgeDelayMilliseconds; |
| 1226 public: | 1229 public: |
| 1227 explicit SyncInternal(const std::string& name) | 1230 explicit SyncInternal(const std::string& name) |
| 1228 : weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), | 1231 : weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)), |
| 1229 registrar_(NULL), | 1232 registrar_(NULL), |
| 1230 initialized_(false), | 1233 initialized_(false), |
| 1231 setup_for_test_mode_(false), | 1234 setup_for_test_mode_(false), |
| 1232 observing_ip_address_changes_(false) { | 1235 observing_ip_address_changes_(false) { |
| 1233 // Pre-fill |notification_info_map_|. | 1236 // Pre-fill |notification_info_map_|. |
| 1234 for (int i = syncable::FIRST_REAL_MODEL_TYPE; | 1237 for (int i = syncable::FIRST_REAL_MODEL_TYPE; |
| 1235 i < syncable::MODEL_TYPE_COUNT; ++i) { | 1238 i < syncable::MODEL_TYPE_COUNT; ++i) { |
| (...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1628 NotificationInfoMap notification_info_map_; | 1631 NotificationInfoMap notification_info_map_; |
| 1629 | 1632 |
| 1630 // These are for interacting with chrome://sync-internals. | 1633 // These are for interacting with chrome://sync-internals. |
| 1631 JsMessageHandlerMap js_message_handlers_; | 1634 JsMessageHandlerMap js_message_handlers_; |
| 1632 WeakHandle<JsEventHandler> js_event_handler_; | 1635 WeakHandle<JsEventHandler> js_event_handler_; |
| 1633 JsSyncManagerObserver js_sync_manager_observer_; | 1636 JsSyncManagerObserver js_sync_manager_observer_; |
| 1634 JsTransactionObserver js_transaction_observer_; | 1637 JsTransactionObserver js_transaction_observer_; |
| 1635 }; | 1638 }; |
| 1636 const int SyncManager::SyncInternal::kDefaultNudgeDelayMilliseconds = 200; | 1639 const int SyncManager::SyncInternal::kDefaultNudgeDelayMilliseconds = 200; |
| 1637 const int SyncManager::SyncInternal::kPreferencesNudgeDelayMilliseconds = 2000; | 1640 const int SyncManager::SyncInternal::kPreferencesNudgeDelayMilliseconds = 2000; |
| 1641 const int SyncManager::SyncInternal::kSessionsNudgeDelayMilliseconds = 10000; |
| 1638 | 1642 |
| 1639 SyncManager::Observer::~Observer() {} | 1643 SyncManager::Observer::~Observer() {} |
| 1640 | 1644 |
| 1641 SyncManager::SyncManager(const std::string& name) | 1645 SyncManager::SyncManager(const std::string& name) |
| 1642 : data_(new SyncInternal(name)) {} | 1646 : data_(new SyncInternal(name)) {} |
| 1643 | 1647 |
| 1644 SyncManager::Status::Status() | 1648 SyncManager::Status::Status() |
| 1645 : summary(INVALID), | 1649 : summary(INVALID), |
| 1646 authenticated(false), | 1650 authenticated(false), |
| 1647 server_up(false), | 1651 server_up(false), |
| (...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2454 | 2458 |
| 2455 // Found real mutation. | 2459 // Found real mutation. |
| 2456 if (mutated_model_type == syncable::UNSPECIFIED) { | 2460 if (mutated_model_type == syncable::UNSPECIFIED) { |
| 2457 mutated_model_type = model_type; | 2461 mutated_model_type = model_type; |
| 2458 break; | 2462 break; |
| 2459 } | 2463 } |
| 2460 } | 2464 } |
| 2461 | 2465 |
| 2462 // Nudge if necessary. | 2466 // Nudge if necessary. |
| 2463 if (mutated_model_type != syncable::UNSPECIFIED) { | 2467 if (mutated_model_type != syncable::UNSPECIFIED) { |
| 2464 int nudge_delay = (mutated_model_type == syncable::PREFERENCES) ? | 2468 int nudge_delay; |
| 2465 kPreferencesNudgeDelayMilliseconds : kDefaultNudgeDelayMilliseconds; | 2469 switch (mutated_model_type) { |
| 2470 case syncable::PREFERENCES: |
| 2471 nudge_delay = kPreferencesNudgeDelayMilliseconds; |
| 2472 case syncable::SESSIONS: |
| 2473 nudge_delay = kSessionsNudgeDelayMilliseconds; |
| 2474 default: |
| 2475 nudge_delay = kDefaultNudgeDelayMilliseconds; |
| 2476 } |
| 2466 syncable::ModelTypeBitSet model_types; | 2477 syncable::ModelTypeBitSet model_types; |
| 2467 model_types.set(mutated_model_type); | 2478 model_types.set(mutated_model_type); |
| 2468 if (weak_handle_this_.IsInitialized()) { | 2479 if (weak_handle_this_.IsInitialized()) { |
| 2469 weak_handle_this_.Call(FROM_HERE, | 2480 weak_handle_this_.Call(FROM_HERE, |
| 2470 &SyncInternal::RequestNudgeWithDataTypes, | 2481 &SyncInternal::RequestNudgeWithDataTypes, |
| 2471 TimeDelta::FromMilliseconds(nudge_delay), | 2482 TimeDelta::FromMilliseconds(nudge_delay), |
| 2472 browser_sync::NUDGE_SOURCE_LOCAL, | 2483 browser_sync::NUDGE_SOURCE_LOCAL, |
| 2473 model_types, | 2484 model_types, |
| 2474 FROM_HERE); | 2485 FROM_HERE); |
| 2475 } else { | 2486 } else { |
| (...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3063 void SyncManager::TriggerOnIncomingNotificationForTest( | 3074 void SyncManager::TriggerOnIncomingNotificationForTest( |
| 3064 const syncable::ModelTypeBitSet& model_types) { | 3075 const syncable::ModelTypeBitSet& model_types) { |
| 3065 syncable::ModelTypePayloadMap model_types_with_payloads = | 3076 syncable::ModelTypePayloadMap model_types_with_payloads = |
| 3066 syncable::ModelTypePayloadMapFromBitSet(model_types, | 3077 syncable::ModelTypePayloadMapFromBitSet(model_types, |
| 3067 std::string()); | 3078 std::string()); |
| 3068 | 3079 |
| 3069 data_->OnIncomingNotification(model_types_with_payloads); | 3080 data_->OnIncomingNotification(model_types_with_payloads); |
| 3070 } | 3081 } |
| 3071 | 3082 |
| 3072 } // namespace sync_api | 3083 } // namespace sync_api |
| OLD | NEW |