diff options
author | tim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-06 22:35:48 +0000 |
---|---|---|
committer | tim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-06 22:35:48 +0000 |
commit | 64e6d9b2637e537219ac68b3e2573f522c7f2c80 (patch) | |
tree | ded1ffd37927ba0c508accba2a985f023c51e798 /sync/internal_api/public/util/experiments.h | |
parent | 21c9d29d956a66c402b6b3596425538777da1906 (diff) | |
download | chromium_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.h | 10 |
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 |