Commit 2bd5f055 authored by zea@chromium.org's avatar zea@chromium.org

[Sync] Have bookmarks use a slower nudge delay to better handle automated writes

Now that its expected that extensions will be modifying bookmarks, we should
attempt to coalesce more of their writes into a single sync cycle.

BUG=401600

Review URL: https://codereview.chromium.org/478853003

Cr-Commit-Position: refs/heads/master@{#291486}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291486 0039d316-1c4b-4281-b951-d872f2087c98
parent cd501a75
......@@ -63,7 +63,7 @@ namespace {
// Delays for syncer nudges.
static const int kDefaultNudgeDelayMilliseconds = 200;
static const int kPreferencesNudgeDelayMilliseconds = 2000;
static const int kSlowNudgeDelayMilliseconds = 2000;
static const int kSyncRefreshDelayMsec = 500;
static const int kSyncSchedulerDelayMsec = 250;
......@@ -120,6 +120,7 @@ class NudgeStrategy {
switch (type) {
case AUTOFILL:
return ACCOMPANY_ONLY;
case BOOKMARKS:
case PREFERENCES:
case SESSIONS:
case FAVICON_IMAGES:
......@@ -146,9 +147,9 @@ class NudgeStrategy {
break;
case CUSTOM:
switch (model_type) {
case BOOKMARKS:
case PREFERENCES:
delay = TimeDelta::FromMilliseconds(
kPreferencesNudgeDelayMilliseconds);
delay = TimeDelta::FromMilliseconds(kSlowNudgeDelayMilliseconds);
break;
case SESSIONS:
case FAVICON_IMAGES:
......@@ -1149,8 +1150,8 @@ int SyncManagerImpl::GetDefaultNudgeDelay() {
}
// static.
int SyncManagerImpl::GetPreferencesNudgeDelay() {
return kPreferencesNudgeDelayMilliseconds;
int SyncManagerImpl::GetSlowNudgeDelay() {
return kSlowNudgeDelayMilliseconds;
}
} // namespace syncer
......@@ -131,7 +131,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl
base::Time explicit_passphrase_time) OVERRIDE;
static int GetDefaultNudgeDelay();
static int GetPreferencesNudgeDelay();
static int GetSlowNudgeDelay();
// SyncEngineEventListener implementation.
virtual void OnSyncCycleEvent(const SyncCycleEvent& event) OVERRIDE;
......
......@@ -1610,17 +1610,20 @@ TEST_F(SyncManagerTest, SetPassphraseWithEmptyPasswordNode) {
}
TEST_F(SyncManagerTest, NudgeDelayTest) {
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(BOOKMARKS),
base::TimeDelta::FromMilliseconds(
SyncManagerImpl::GetDefaultNudgeDelay()));
EXPECT_EQ(
sync_manager_.GetNudgeDelayTimeDelta(BOOKMARKS),
base::TimeDelta::FromMilliseconds(SyncManagerImpl::GetSlowNudgeDelay()));
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(AUTOFILL),
base::TimeDelta::FromSeconds(
kDefaultShortPollIntervalSeconds));
base::TimeDelta::FromSeconds(kDefaultShortPollIntervalSeconds));
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(PREFERENCES),
base::TimeDelta::FromMilliseconds(
SyncManagerImpl::GetPreferencesNudgeDelay()));
EXPECT_EQ(
sync_manager_.GetNudgeDelayTimeDelta(PREFERENCES),
base::TimeDelta::FromMilliseconds(SyncManagerImpl::GetSlowNudgeDelay()));
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(EXTENSIONS),
base::TimeDelta::FromMilliseconds(
SyncManagerImpl::GetDefaultNudgeDelay()));
}
// Friended by WriteNode, so can't be in an anonymouse namespace.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment