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

Side by Side Diff: components/variations/variations_associated_data.h

Issue 2667553002: Move API for field trial params to base from variations. (Closed)
Patch Set: Created 3 years, 10 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ 5 #ifndef COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_
6 #define COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ 6 #define COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_
7 7
8 #include <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 #include <string> 10 #include <string>
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 // all active FieldTrial groups. Thread safe. 103 // all active FieldTrial groups. Thread safe.
104 VariationID GetGoogleVariationID(IDCollectionKey key, 104 VariationID GetGoogleVariationID(IDCollectionKey key,
105 const std::string& trial_name, 105 const std::string& trial_name,
106 const std::string& group_name); 106 const std::string& group_name);
107 107
108 // Same as GetGoogleVariationID(), but takes in a hashed |active_group| rather 108 // Same as GetGoogleVariationID(), but takes in a hashed |active_group| rather
109 // than the string trial and group name. 109 // than the string trial and group name.
110 VariationID GetGoogleVariationIDFromHashes(IDCollectionKey key, 110 VariationID GetGoogleVariationIDFromHashes(IDCollectionKey key,
111 const ActiveGroupId& active_group); 111 const ActiveGroupId& active_group);
112 112
113 // Associates the specified set of key-value |params| with the variation 113 // Deprecated. Use base::AssociateFieldTrialParams() instead.
114 // specified by |trial_name| and |group_name|. Fails and returns false if the
115 // specified variation already has params associated with it or the field trial
116 // is already active (group() has been called on it). Thread safe.
117 bool AssociateVariationParams(const std::string& trial_name, 114 bool AssociateVariationParams(const std::string& trial_name,
118 const std::string& group_name, 115 const std::string& group_name,
119 const std::map<std::string, std::string>& params); 116 const std::map<std::string, std::string>& params);
120 117
121 // Retrieves the set of key-value |params| for the variation associated with 118 // Deprecated. Use base::GetFieldTrialParams() instead.
122 // the specified field trial, based on its selected group. If the field trial
123 // does not exist or its selected group does not have any parameters associated
124 // with it, returns false and does not modify |params|. Calling this function
125 // will result in the field trial being marked as active if found (i.e. group()
126 // will be called on it), if it wasn't already. Currently, this information is
127 // only available from the browser process. Thread safe.
128 bool GetVariationParams(const std::string& trial_name, 119 bool GetVariationParams(const std::string& trial_name,
129 std::map<std::string, std::string>* params); 120 std::map<std::string, std::string>* params);
130 121
131 // Retrieves the set of key-value |params| for the variation associated with the 122 // Deprecated. Use base::GetFieldTrialParamsByFeature() instead.
132 // specified |feature|. A feature is associated with at most one variation,
133 // through the variation's associated field trial, and selected group. See
134 // base/feature_list.h for more information on features. If the feature is not
135 // enabled, or if there's no associated variation params, returns false and does
136 // not modify |params|. Calling this function will result in the associated
137 // field trial being marked as active if found (i.e. group() will be called on
138 // it), if it wasn't already. Currently, this information is only available from
139 // the browser process. Thread safe.
140 bool GetVariationParamsByFeature(const base::Feature& feature, 123 bool GetVariationParamsByFeature(const base::Feature& feature,
141 std::map<std::string, std::string>* params); 124 std::map<std::string, std::string>* params);
142 125
143 // Retrieves a specific parameter value corresponding to |param_name| for the 126 // Deprecated. Use base::GetFieldTrialParamValue() instead.
144 // variation associated with the specified field trial, based on its selected
145 // group. If the field trial does not exist or the specified parameter does not
146 // exist, returns an empty string. Calling this function will result in the
147 // field trial being marked as active if found (i.e. group() will be called on
148 // it), if it wasn't already. Currently, this information is only available from
149 // the browser process. Thread safe.
150 std::string GetVariationParamValue(const std::string& trial_name, 127 std::string GetVariationParamValue(const std::string& trial_name,
151 const std::string& param_name); 128 const std::string& param_name);
152 129
153 // Retrieves a specific parameter value corresponding to |param_name| for the 130 // Deprecated. Use base::GetFieldTrialParamValueByFeature() instead.
154 // variation associated with the specified |feature|. A feature is associated
155 // with at most one variation, through the variation's associated field trial,
156 // and selected group. See base/feature_list.h for more information on
157 // features. If the feature is not enabled, or the specified parameter does not
158 // exist, returns an empty string. Calling this function will result in the
159 // associated field trial being marked as active if found (i.e. group() will be
160 // called on it), if it wasn't already. Currently, this information is only
161 // available from the browser process. Thread safe.
162 std::string GetVariationParamValueByFeature(const base::Feature& feature, 131 std::string GetVariationParamValueByFeature(const base::Feature& feature,
163 const std::string& param_name); 132 const std::string& param_name);
164 133
165 // Same as GetVariationParamValueByFeature(). On top of that, it converts the 134 // Deprecated. Use base::GetFieldTrialParamByFeatureAsInt() instead.
166 // string value into an int using base::StringToInt() and returns it, if
167 // successful. Otherwise, it returns |default_value|. If the string value is not
168 // empty and the conversion does not succeed, it produces a warning to LOG.
169 int GetVariationParamByFeatureAsInt(const base::Feature& feature, 135 int GetVariationParamByFeatureAsInt(const base::Feature& feature,
170 const std::string& param_name, 136 const std::string& param_name,
171 int default_value); 137 int default_value);
172 138
173 // Same as GetVariationParamValueByFeature(). On top of that, it converts the 139 // Deprecated. Use base::GetFieldTrialParamByFeatureAsDouble() instead.
174 // string value into a double using base::StringToDouble() and returns it, if
175 // successful. Otherwise, it returns |default_value|. If the string value is not
176 // empty and the conversion does not succeed, it produces a warning to LOG.
177 double GetVariationParamByFeatureAsDouble(const base::Feature& feature, 140 double GetVariationParamByFeatureAsDouble(const base::Feature& feature,
178 const std::string& param_name, 141 const std::string& param_name,
179 double default_value); 142 double default_value);
180 143
181 // Same as GetVariationParamValueByFeature(). On top of that, it converts the 144 // Deprecated. Use base::GetFieldTrialParamByFeatureAsBool() instead.
182 // string value into a boolean and returns it, if successful. Otherwise, it
183 // returns |default_value|. The only string representations accepted here are
184 // "true" and "false". If the string value is not empty and the conversion does
185 // not succeed, it produces a warning to LOG.
186 bool GetVariationParamByFeatureAsBool(const base::Feature& feature, 145 bool GetVariationParamByFeatureAsBool(const base::Feature& feature,
187 const std::string& param_name, 146 const std::string& param_name,
188 bool default_value); 147 bool default_value);
189 148
190 // Expose some functions for testing. 149 // Expose some functions for testing.
191 namespace testing { 150 namespace testing {
192 151
193 // Clears all of the mapped associations. Deprecated, try to use 152 // Clears all of the mapped associations. Deprecated, try to use
194 // VariationParamsManager instead as it does a lot of work for you 153 // VariationParamsManager instead as it does a lot of work for you
195 // automatically. 154 // automatically.
196 void ClearAllVariationIDs(); 155 void ClearAllVariationIDs();
197 156
198 // Clears all of the associated params. Deprecated, try to use 157 // Clears all of the associated params. Deprecated, try to use
199 // VariationParamsManager instead as it does a lot of work for you 158 // VariationParamsManager instead as it does a lot of work for you
200 // automatically. 159 // automatically.
201 void ClearAllVariationParams(); 160 void ClearAllVariationParams();
202 161
203 } // namespace testing 162 } // namespace testing
204 163
205 } // namespace variations 164 } // namespace variations
206 165
207 #endif // COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ 166 #endif // COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_
OLDNEW
« no previous file with comments | « base/metrics/field_trial_params_unittest.cc ('k') | components/variations/variations_associated_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698