| // Copyright 2021 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef ANDROID_WEBVIEW_BROWSER_AW_FEATURE_ENTRIES_H_ | 
 | #define ANDROID_WEBVIEW_BROWSER_AW_FEATURE_ENTRIES_H_ | 
 |  | 
 | #include <string> | 
 | #include <vector> | 
 |  | 
 | #include "base/feature_list.h" | 
 | #include "components/webui/flags/feature_entry.h" | 
 |  | 
 | namespace android_webview { | 
 | namespace aw_feature_entries { | 
 |  | 
 | // Registers variations parameter values selected for features in WebView. | 
 | // The registered variation parameters are connected to their corresponding | 
 | // features in |feature_list|. Returns the (possibly empty) comma separated | 
 | // list of additional variation ids to register in the MetricsService. | 
 | // | 
 | // This is a way for WebView to set feature parameters besides the finch, | 
 | // for example, add a switch in Dev UI, then setup feature parameters | 
 | // according to the switch. | 
 | std::vector<std::string> RegisterEnabledFeatureEntries( | 
 |     base::FeatureList* feature_list); | 
 |  | 
 | // Exposed for testing. | 
 | namespace internal { | 
 | std::string ToEnabledEntry(const flags_ui::FeatureEntry& entry, | 
 |                            int enabled_variation_index); | 
 | }  // namespace internal | 
 | }  // namespace aw_feature_entries | 
 | }  // namespace android_webview | 
 |  | 
 | #endif  // ANDROID_WEBVIEW_BROWSER_AW_FEATURE_ENTRIES_H_ |