summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzea <zea@chromium.org>2014-11-03 13:38:21 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-03 21:38:42 +0000
commite2e772518116be2bcadcbf1f43612f67d0136509 (patch)
tree86049afda923c299554dadd0baafb8cce2db5018
parent222991206441e3760bc972fbfba562e832e5e256 (diff)
downloadchromium_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.cc4
-rw-r--r--components/sync_driver/sync_prefs.cc16
-rw-r--r--components/sync_driver/sync_prefs_unittest.cc22
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