1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4// 5// Sync protocol datatype extension for experimental feature flags. 6 7syntax = "proto2"; 8 9option optimize_for = LITE_RUNTIME; 10option retain_unknown_fields = true; 11 12package sync_pb; 13 14// A flag to enable support for keystore encryption. 15message KeystoreEncryptionFlags { 16 optional bool enabled = 1; 17} 18 19// Whether history delete directives are enabled. 20message HistoryDeleteDirectives { 21 optional bool enabled = 1; 22} 23 24// Whether this client should cull (delete) expired autofill 25// entries when autofill sync is enabled. 26message AutofillCullingFlags { 27 optional bool enabled = 1; 28} 29 30// Whether the favicon sync datatypes are enabled, and what parameters 31// they should operate under. 32message FaviconSyncFlags { 33 optional bool enabled = 1; 34 optional int32 favicon_sync_limit = 2 [default = 200]; 35} 36 37// Flags for enabling the experimental no-precommit GU feature. 38message PreCommitUpdateAvoidanceFlags { 39 optional bool enabled = 1; 40} 41 42// Contains one flag or set of related flags. Each node of the experiments type 43// will have a unique_client_tag identifying which flags it contains. By 44// convention, the tag name should match the sub-message name. 45message ExperimentsSpecifics { 46 optional KeystoreEncryptionFlags keystore_encryption = 1; 47 optional HistoryDeleteDirectives history_delete_directives = 2; 48 optional AutofillCullingFlags autofill_culling = 3; 49 optional FaviconSyncFlags favicon_sync = 4; 50 optional PreCommitUpdateAvoidanceFlags pre_commit_update_avoidance = 5; 51} 52