| Index: chrome/browser/sync/internal_api/sync_manager.h
|
| diff --git a/chrome/browser/sync/internal_api/sync_manager.h b/chrome/browser/sync/internal_api/sync_manager.h
|
| index eaf5ccb1fe89b0b6f9c2e5a5f8125512dffe2368..5a9b2efb7849108fd501c8e01814852703c31c38 100644
|
| --- a/chrome/browser/sync/internal_api/sync_manager.h
|
| +++ b/chrome/browser/sync/internal_api/sync_manager.h
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/callback.h"
|
| +#include "base/time.h"
|
| #include "base/threading/thread_checker.h"
|
| #include "chrome/browser/sync/internal_api/change_record.h"
|
| #include "chrome/browser/sync/internal_api/configure_reason.h"
|
| @@ -56,6 +57,21 @@ enum PassphraseRequiredReason {
|
| // was unsuccessful.
|
| };
|
|
|
| +// Possible types of nudge delay for datatypes.
|
| +// Note: These are just hints. If a sync happens then all dirty entries
|
| +// would be committed as part of the sync.
|
| +enum NudgeDelayType {
|
| + // Sync right away.
|
| + IMMEDIATE,
|
| +
|
| + // Sync this change while syncing another change.
|
| + PIGGY_BACK_WITH_ANOTHER_CHANGE,
|
| +
|
| + // The datatype does not use one of the predefined wait times but defines its
|
| + // own wait time logic for nudge.
|
| + CUSTOM,
|
| +};
|
| +
|
| // Contains everything needed to talk to and identify a user account.
|
| struct SyncCredentials {
|
| std::string email;
|
| @@ -583,7 +599,16 @@ class SyncManager {
|
| void TriggerOnIncomingNotificationForTest(
|
| const syncable::ModelTypeBitSet& model_types);
|
|
|
| + static const int kDefaultNudgeDelayMilliseconds;
|
| + static const int kPreferencesNudgeDelayMilliseconds;
|
| + static const int kPiggybackNudgeDelay;
|
| +
|
| private:
|
| + FRIEND_TEST_ALL_PREFIXES(SyncManagerTest, NudgeDelayTest);
|
| +
|
| + // For unit tests.
|
| + base::TimeDelta GetNudgeDelayTimeDelta(const syncable::ModelType& model_type);
|
| +
|
| base::ThreadChecker thread_checker_;
|
|
|
| // An opaque pointer to the nested private class.
|
|
|