summaryrefslogtreecommitdiffstats
path: root/sync/internal_api/public/util/experiments.h
diff options
context:
space:
mode:
authortim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-06 22:35:48 +0000
committertim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-06 22:35:48 +0000
commit64e6d9b2637e537219ac68b3e2573f522c7f2c80 (patch)
treeded1ffd37927ba0c508accba2a985f023c51e798 /sync/internal_api/public/util/experiments.h
parent21c9d29d956a66c402b6b3596425538777da1906 (diff)
downloadchromium_src-64e6d9b2637e537219ac68b3e2573f522c7f2c80.zip
chromium_src-64e6d9b2637e537219ac68b3e2573f522c7f2c80.tar.gz
chromium_src-64e6d9b2637e537219ac68b3e2573f522c7f2c80.tar.bz2
sync: add syncer::Experiment to control autofill culling.
This changes the behavior in several ways, one being that the ultimate decision of whether or not to cull expired autofill entries is now made by sync servers. However, we only feed this data through at MergeDataAndStartSyncing time, meaning once per sync startup (typically browser startup). The next time autofill components will learn of any value change by sync servers is the next time Chrome starts (MergeDataAndStartSyncing is called again). BUG=28990 Review URL: https://chromiumcodereview.appspot.com/11418249 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171611 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/public/util/experiments.h')
-rw-r--r--sync/internal_api/public/util/experiments.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/sync/internal_api/public/util/experiments.h b/sync/internal_api/public/util/experiments.h
index b5730ce..6e20a8e 100644
--- a/sync/internal_api/public/util/experiments.h
+++ b/sync/internal_api/public/util/experiments.h
@@ -11,15 +11,18 @@ namespace syncer {
const char kKeystoreEncryptionTag[] = "keystore_encryption";
const char kKeystoreEncryptionFlag[] = "sync-keystore-encryption";
+const char kAutofillCullingTag[] = "autofill_culling";
// A structure to hold the enable status of experimental sync features.
struct Experiments {
Experiments() : sync_tab_favicons(false),
- keystore_encryption(false) {}
+ keystore_encryption(false),
+ autofill_culling(false) {}
bool Matches(const Experiments& rhs) {
return (sync_tab_favicons == rhs.sync_tab_favicons &&
- keystore_encryption == rhs.keystore_encryption);
+ keystore_encryption == rhs.keystore_encryption &&
+ autofill_culling == rhs.autofill_culling);
}
// Enable syncing of favicons within tab sync (only has an effect if tab sync
@@ -28,6 +31,9 @@ struct Experiments {
// Enable keystore encryption logic and the new encryption UI.
bool keystore_encryption;
+
+ // Enable deletion of expired autofill entries (if autofill sync is enabled).
+ bool autofill_culling;
};
} // namespace syncer