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 { ...@@ -63,7 +63,7 @@ namespace {
// Delays for syncer nudges. // Delays for syncer nudges.
static const int kDefaultNudgeDelayMilliseconds = 200; static const int kDefaultNudgeDelayMilliseconds = 200;
static const int kPreferencesNudgeDelayMilliseconds = 2000; static const int kSlowNudgeDelayMilliseconds = 2000;
static const int kSyncRefreshDelayMsec = 500; static const int kSyncRefreshDelayMsec = 500;
static const int kSyncSchedulerDelayMsec = 250; static const int kSyncSchedulerDelayMsec = 250;
...@@ -120,6 +120,7 @@ class NudgeStrategy { ...@@ -120,6 +120,7 @@ class NudgeStrategy {
switch (type) { switch (type) {
case AUTOFILL: case AUTOFILL:
return ACCOMPANY_ONLY; return ACCOMPANY_ONLY;
case BOOKMARKS:
case PREFERENCES: case PREFERENCES:
case SESSIONS: case SESSIONS:
case FAVICON_IMAGES: case FAVICON_IMAGES:
...@@ -146,9 +147,9 @@ class NudgeStrategy { ...@@ -146,9 +147,9 @@ class NudgeStrategy {
break; break;
case CUSTOM: case CUSTOM:
switch (model_type) { switch (model_type) {
case BOOKMARKS:
case PREFERENCES: case PREFERENCES:
delay = TimeDelta::FromMilliseconds( delay = TimeDelta::FromMilliseconds(kSlowNudgeDelayMilliseconds);
kPreferencesNudgeDelayMilliseconds);
break; break;
case SESSIONS: case SESSIONS:
case FAVICON_IMAGES: case FAVICON_IMAGES:
...@@ -1149,8 +1150,8 @@ int SyncManagerImpl::GetDefaultNudgeDelay() { ...@@ -1149,8 +1150,8 @@ int SyncManagerImpl::GetDefaultNudgeDelay() {
} }
// static. // static.
int SyncManagerImpl::GetPreferencesNudgeDelay() { int SyncManagerImpl::GetSlowNudgeDelay() {
return kPreferencesNudgeDelayMilliseconds; return kSlowNudgeDelayMilliseconds;
} }
} // namespace syncer } // namespace syncer
...@@ -131,7 +131,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl ...@@ -131,7 +131,7 @@ class SYNC_EXPORT_PRIVATE SyncManagerImpl
base::Time explicit_passphrase_time) OVERRIDE; base::Time explicit_passphrase_time) OVERRIDE;
static int GetDefaultNudgeDelay(); static int GetDefaultNudgeDelay();
static int GetPreferencesNudgeDelay(); static int GetSlowNudgeDelay();
// SyncEngineEventListener implementation. // SyncEngineEventListener implementation.
virtual void OnSyncCycleEvent(const SyncCycleEvent& event) OVERRIDE; virtual void OnSyncCycleEvent(const SyncCycleEvent& event) OVERRIDE;
......
...@@ -1610,17 +1610,20 @@ TEST_F(SyncManagerTest, SetPassphraseWithEmptyPasswordNode) { ...@@ -1610,17 +1610,20 @@ TEST_F(SyncManagerTest, SetPassphraseWithEmptyPasswordNode) {
} }
TEST_F(SyncManagerTest, NudgeDelayTest) { TEST_F(SyncManagerTest, NudgeDelayTest) {
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(BOOKMARKS), EXPECT_EQ(
base::TimeDelta::FromMilliseconds( sync_manager_.GetNudgeDelayTimeDelta(BOOKMARKS),
SyncManagerImpl::GetDefaultNudgeDelay())); base::TimeDelta::FromMilliseconds(SyncManagerImpl::GetSlowNudgeDelay()));
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(AUTOFILL), EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(AUTOFILL),
base::TimeDelta::FromSeconds( base::TimeDelta::FromSeconds(kDefaultShortPollIntervalSeconds));
kDefaultShortPollIntervalSeconds));
EXPECT_EQ(sync_manager_.GetNudgeDelayTimeDelta(PREFERENCES), EXPECT_EQ(
base::TimeDelta::FromMilliseconds( sync_manager_.GetNudgeDelayTimeDelta(PREFERENCES),
SyncManagerImpl::GetPreferencesNudgeDelay())); 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. // 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