| // 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/flags_ui/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_ |