Adds animation as feature variation to keyboard accessory.

Moves keyboard accessory feature flag from switches to feature_list.

Desired layout and animation:

https://folio.googleplex.com/chrome-ux/mocks/304-payments-zero-integration/ZI_Keyacc_Onboarding#%2F14-icon-white%20bg-no%20overlay-video.mp4

Design doc:
https://docs.google.com/document/d/1LPO-unUyQ-YEGKpxB7tYA3j8yrwblyKf_U0eaBNBFx8/edit#

BUG=724624

Review-Url: https://codereview.chromium.org/2874933008
Cr-Commit-Position: refs/heads/master@{#473350}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 6ec24df..ea48c77 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -39,6 +39,7 @@
 #include "chrome/grit/chromium_strings.h"
 #include "components/autofill/core/browser/autofill_experiments.h"
 #include "components/autofill/core/common/autofill_switches.h"
+#include "components/autofill/core/common/autofill_util.h"
 #include "components/browser_sync/browser_sync_switches.h"
 #include "components/cloud_devices/common/cloud_devices_switches.h"
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_features.h"
@@ -849,6 +850,40 @@
      kAutofillCreditCardPopupLayoutFeatureVariationExpanded,
      arraysize(kAutofillCreditCardPopupLayoutFeatureVariationExpanded),
      nullptr}};
+
+const FeatureEntry::FeatureParam
+    kAutofillKeyboardAccessoryFeatureVariationAnimationDuration[] = {
+        {autofill::kAutofillKeyboardAccessoryAnimationDurationKey, "1000"}};
+
+const FeatureEntry::FeatureParam
+    kAutofillKeyboardAccessoryFeatureVariationLimitLabelWidth[] = {
+        {autofill::kAutofillKeyboardAccessoryLimitLabelWidthKey, "true"}};
+
+const FeatureEntry::FeatureParam
+    kAutofillKeyboardAccessoryFeatureVariationShowHint[] = {
+        {autofill::kAutofillKeyboardAccessoryHintKey, "true"}};
+
+const FeatureEntry::FeatureParam
+    kAutofillKeyboardAccessoryFeatureVariationAnimateWithHint[] = {
+        {autofill::kAutofillKeyboardAccessoryAnimationDurationKey, "1000"},
+        {autofill::kAutofillKeyboardAccessoryHintKey, "true"}};
+
+const FeatureEntry::FeatureVariation
+    kAutofillKeyboardAccessoryFeatureVariations[] = {
+        {"Animate", kAutofillKeyboardAccessoryFeatureVariationAnimationDuration,
+         arraysize(kAutofillKeyboardAccessoryFeatureVariationAnimationDuration),
+         nullptr},
+        {"Limit label width",
+         kAutofillKeyboardAccessoryFeatureVariationLimitLabelWidth,
+         arraysize(kAutofillKeyboardAccessoryFeatureVariationLimitLabelWidth),
+         nullptr},
+        {"Show hint", kAutofillKeyboardAccessoryFeatureVariationShowHint,
+         arraysize(kAutofillKeyboardAccessoryFeatureVariationShowHint),
+         nullptr},
+        {"Animate with hint",
+         kAutofillKeyboardAccessoryFeatureVariationAnimateWithHint,
+         arraysize(kAutofillKeyboardAccessoryFeatureVariationAnimateWithHint),
+         nullptr}};
 #endif  // OS_ANDROID
 
 const FeatureEntry::FeatureParam
@@ -1968,12 +2003,12 @@
      MULTI_VALUE_TYPE(kDataSaverPromptChoices)},
 #endif  // OS_CHROMEOS
 #if defined(OS_ANDROID)
-    {"enable-autofill-keyboard-accessory-view",
+    {"autofill-keyboard-accessory-view",
      flag_descriptions::kAutofillAccessoryViewName,
      flag_descriptions::kAutofillAccessoryViewDescription, kOsAndroid,
-     ENABLE_DISABLE_VALUE_TYPE(
-         autofill::switches::kEnableAccessorySuggestionView,
-         autofill::switches::kDisableAccessorySuggestionView)},
+     FEATURE_WITH_PARAMS_VALUE_TYPE(autofill::kAutofillKeyboardAccessory,
+                                    kAutofillKeyboardAccessoryFeatureVariations,
+                                    "AutofillKeyboardAccessoryVariations")},
 #endif  // OS_ANDROID
 #if defined(OS_WIN)
     {"try-supported-channel-layouts",