diff options
author | zea <zea@chromium.org> | 2014-11-03 13:38:21 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-03 21:38:42 +0000 |
commit | e2e772518116be2bcadcbf1f43612f67d0136509 (patch) | |
tree | 86049afda923c299554dadd0baafb8cce2db5018 | |
parent | 222991206441e3760bc972fbfba562e832e5e256 (diff) | |
download | chromium_src-e2e772518116be2bcadcbf1f43612f67d0136509.zip chromium_src-e2e772518116be2bcadcbf1f43612f67d0136509.tar.gz chromium_src-e2e772518116be2bcadcbf1f43612f67d0136509.tar.bz2 |
[Sync] Device info should be enabled by default
Device info is always enabled, regardless of sync everything state.
BUG=429217
Review URL: https://codereview.chromium.org/694903002
Cr-Commit-Position: refs/heads/master@{#302487}
-rw-r--r-- | chrome/browser/sync/test/integration/enable_disable_test.cc | 4 | ||||
-rw-r--r-- | components/sync_driver/sync_prefs.cc | 16 | ||||
-rw-r--r-- | components/sync_driver/sync_prefs_unittest.cc | 22 |
3 files changed, 38 insertions, 4 deletions
diff --git a/chrome/browser/sync/test/integration/enable_disable_test.cc b/chrome/browser/sync/test/integration/enable_disable_test.cc index 23b5bc8..433a8be 100644 --- a/chrome/browser/sync/test/integration/enable_disable_test.cc +++ b/chrome/browser/sync/test/integration/enable_disable_test.cc @@ -112,6 +112,10 @@ IN_PROC_BROWSER_TEST_F(EnableDisableSingleClientTest, DisableOneAtATime) { it.Get() == syncer::SYNCED_NOTIFICATION_APP_INFO) continue; + // Device info cannot be disabled. + if (it.Get() == syncer::DEVICE_INFO) + continue; + ASSERT_TRUE(GetClient(0)->DisableSyncForDatatype(it.Get())); // AUTOFILL_PROFILE is lumped together with AUTOFILL. diff --git a/components/sync_driver/sync_prefs.cc b/components/sync_driver/sync_prefs.cc index 5773f0f..b5159dd 100644 --- a/components/sync_driver/sync_prefs.cc +++ b/components/sync_driver/sync_prefs.cc @@ -66,9 +66,11 @@ void SyncPrefs::RegisterProfilePrefs( // although they don't have sync representations. user_types.PutAll(syncer::ProxyTypes()); - // Treat bookmarks specially. + // Treat bookmarks and device info specially. RegisterDataTypePreferredPref(registry, syncer::BOOKMARKS, true); + RegisterDataTypePreferredPref(registry, syncer::DEVICE_INFO, true); user_types.Remove(syncer::BOOKMARKS); + user_types.Remove(syncer::DEVICE_INFO); // These two prefs are set from sync experiment to enable enhanced bookmarks. registry->RegisterIntegerPref( @@ -349,7 +351,7 @@ const char* SyncPrefs::GetPrefNameForDataType(syncer::ModelType data_type) { default: break; } - NOTREACHED(); + NOTREACHED() << "Type is " << data_type; return NULL; } @@ -454,6 +456,11 @@ bool SyncPrefs::GetDataTypePreferred(syncer::ModelType type) const { NOTREACHED(); return false; } + + // Device info is always enabled. + if (pref_name == prefs::kSyncDeviceInfo) + return true; + if (type == syncer::PROXY_TABS && pref_service_->GetUserPrefValue(pref_name) == NULL && pref_service_->IsUserModifiablePreference(pref_name)) { @@ -473,6 +480,11 @@ void SyncPrefs::SetDataTypePreferred(syncer::ModelType type, NOTREACHED(); return; } + + // Device info is always preferred. + if (type == syncer::DEVICE_INFO) + return; + pref_service_->SetBoolean(pref_name, is_preferred); } diff --git a/components/sync_driver/sync_prefs_unittest.cc b/components/sync_driver/sync_prefs_unittest.cc index f88e4c7..8380dba 100644 --- a/components/sync_driver/sync_prefs_unittest.cc +++ b/components/sync_driver/sync_prefs_unittest.cc @@ -68,10 +68,11 @@ TEST_F(SyncPrefsTest, DefaultTypes) { SyncPrefs sync_prefs(&pref_service_); sync_prefs.SetKeepEverythingSynced(false); - // Only bookmarks are enabled by default. + // Only bookmarks and device info are enabled by default. + syncer::ModelTypeSet expected(syncer::BOOKMARKS, syncer::DEVICE_INFO); syncer::ModelTypeSet preferred_types = sync_prefs.GetPreferredDataTypes(syncer::UserTypes()); - EXPECT_TRUE(preferred_types.Equals(syncer::ModelTypeSet(syncer::BOOKMARKS))); + EXPECT_TRUE(preferred_types.Equals(expected)); // Simulate an upgrade to delete directives + proxy tabs support. None of the // new types or their pref group types should be registering, ensuring they @@ -164,6 +165,10 @@ TEST_F(SyncPrefsTest, PreferredTypesNotKeepEverythingSynced) { expected_preferred_types.Put(syncer::FAVICON_IMAGES); expected_preferred_types.Put(syncer::FAVICON_TRACKING); } + + // Device info is always preferred. + expected_preferred_types.Put(syncer::DEVICE_INFO); + sync_prefs.SetPreferredDataTypes(user_types, preferred_types); EXPECT_TRUE(expected_preferred_types.Equals( sync_prefs.GetPreferredDataTypes(user_types))); @@ -232,6 +237,19 @@ TEST_F(SyncPrefsTest, ClearPreferences) { EXPECT_TRUE(sync_prefs.GetEncryptionBootstrapToken().empty()); } +// Device info should always be enabled. +TEST_F(SyncPrefsTest, DeviceInfo) { + SyncPrefs sync_prefs(&pref_service_); + EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) + .Has(syncer::DEVICE_INFO)); + sync_prefs.SetKeepEverythingSynced(true); + EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) + .Has(syncer::DEVICE_INFO)); + sync_prefs.SetKeepEverythingSynced(false); + EXPECT_TRUE(sync_prefs.GetPreferredDataTypes(syncer::UserTypes()) + .Has(syncer::DEVICE_INFO)); +} + } // namespace } // namespace sync_driver |