Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Side by Side Diff: components/variations/proto/study.proto

Issue 1306653004: Expand FeatureList to support FieldTrial association. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Rob's comments. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 syntax = "proto2"; 5 syntax = "proto2";
6 6
7 option optimize_for = LITE_RUNTIME; 7 option optimize_for = LITE_RUNTIME;
8 8
9 package variations; 9 package variations;
10 10
(...skipping 26 matching lines...) Expand all
37 // Ex: PERMANENT 37 // Ex: PERMANENT
38 optional Consistency consistency = 7 [default = SESSION]; 38 optional Consistency consistency = 7 [default = SESSION];
39 39
40 // Name of the experiment that gets the default experience. This experiment 40 // Name of the experiment that gets the default experience. This experiment
41 // must be included in the list below. 41 // must be included in the list below.
42 // Ex: "default" 42 // Ex: "default"
43 optional string default_experiment_name = 8; 43 optional string default_experiment_name = 8;
44 44
45 // An experiment within the study. 45 // An experiment within the study.
46 // 46 //
47 // Next tag: 11 47 // Next tag: 12
48 message Experiment { 48 message Experiment {
49 // A named parameter value for this experiment. 49 // A named parameter value for this experiment.
50 // 50 //
51 // Next tag: 3 51 // Next tag: 3
52 message Param { 52 message Param {
53 // The name of the parameter. 53 // The name of the parameter.
54 optional string name = 1; 54 optional string name = 1;
55 55
56 // The value of the parameter. 56 // The value of the parameter.
57 optional string value = 2; 57 optional string value = 2;
(...skipping 14 matching lines...) Expand all
72 // Optional id used to allow this experiment to trigger experimental 72 // Optional id used to allow this experiment to trigger experimental
73 // behavior on Google web properties. 73 // behavior on Google web properties.
74 optional uint64 google_web_trigger_experiment_id = 8; 74 optional uint64 google_web_trigger_experiment_id = 8;
75 75
76 // Optional id used to uniquely identify this experiment for Google Update. 76 // Optional id used to uniquely identify this experiment for Google Update.
77 optional uint64 google_update_experiment_id = 4; 77 optional uint64 google_update_experiment_id = 4;
78 78
79 // Optional id used to uniquely identify this experiment for Chrome Sync. 79 // Optional id used to uniquely identify this experiment for Chrome Sync.
80 optional uint64 chrome_sync_experiment_id = 10; 80 optional uint64 chrome_sync_experiment_id = 10;
81 81
82 // Specifies the feature association parameters for this experiment group.
83 //
84 // Next tag: 5
85 message FeatureAssociation {
86 // Optional list of features to enable when this experiment is selected.
87 // Command-line overrides take precedence over this setting. No feature
88 // listed here should exist in the |disable_feature| list.
89 repeated string enable_feature = 1;
90
91 // Optional list of features to disable when this experiment is selected.
92 // Command-line overrides take precedence over this setting. No feature
93 // listed here should exist in the |enable_feature| list.
94 repeated string disable_feature = 2;
95
96 // Similar to |forcing_flag|, this is an optional name of a feature which
97 // will cause this experiment to be forced on, if that feature is enabled
98 // from the command-line. Experiment with this set are not eligible for
99 // selection via a random dice roll.
100 optional string forcing_feature_on = 3;
101
102 // Similar to |forcing_flag|, this is an optional name of a feature which
103 // will cause this experiment to be forced off, if that feature is
Ilya Sherman 2015/09/16 00:50:44 It's weird to say "will cause this experiment to b
Alexei Svitkine (slow) 2015/09/23 22:01:27 Good catch, you're right - the wording is incorrec
104 // disabled from the command-line. Experiment with this set are not
105 // eligible for selection via a random dice roll.
106 optional string forcing_feature_off = 4;
Ilya Sherman 2015/09/16 00:50:44 Am I understanding correctly that only one of forc
Ilya Sherman 2015/09/16 00:50:44 Am I understanding correctly that for a single exp
Alexei Svitkine (slow) 2015/09/23 22:01:27 I considered this approach earlier but didn't like
Alexei Svitkine (slow) 2015/09/23 22:01:27 Correct. The following are mutually exclusive: {f
Ilya Sherman 2015/09/24 01:11:32 Hmm. Any experiment that has a forcing_feature_on
Alexei Svitkine (slow) 2015/09/24 20:49:20 Again, I think that reduces flexibility. We've see
Ilya Sherman 2015/09/25 03:47:22 Well, the field could be repeated, if the concern
Alexei Svitkine (slow) 2015/09/25 03:56:51 Groups have other features though, such as associa
Ilya Sherman 2015/09/25 04:33:36 Alright, you've convinced me :)
107 }
108 optional FeatureAssociation feature_association = 11;
109
82 // Optional name of a Chrome flag that, when present, causes this experiment 110 // Optional name of a Chrome flag that, when present, causes this experiment
83 // to be forced. If the forcing_flag field is set, users will not be 111 // to be forced. If the forcing_flag field is set, users will not be
84 // assigned to this experiment unless that flag is present in Chrome's 112 // assigned to this experiment unless that flag is present in Chrome's
85 // command line. 113 // command line.
86 optional string forcing_flag = 5; 114 optional string forcing_flag = 5;
87 115
88 // Parameter values for this experiment. 116 // Parameter values for this experiment.
89 repeated Param param = 6; 117 repeated Param param = 6;
90 118
91 enum Type { 119 enum Type {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 // This is recommended for most studies that include client code. 281 // This is recommended for most studies that include client code.
254 ACTIVATION_EXPLICIT = 0; 282 ACTIVATION_EXPLICIT = 0;
255 // The study will be automatically activated when it is created. This 283 // The study will be automatically activated when it is created. This
256 // is recommended for studies that do not have any client logic. 284 // is recommended for studies that do not have any client logic.
257 ACTIVATION_AUTO = 1; 285 ACTIVATION_AUTO = 1;
258 } 286 }
259 287
260 // Activation type for this study. Defaults to ACTIVATION_EXPLICIT if omitted. 288 // Activation type for this study. Defaults to ACTIVATION_EXPLICIT if omitted.
261 optional ActivationType activation_type = 12; 289 optional ActivationType activation_type = 12;
262 } 290 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698