Add feature flag kDisplaySearchEngineFavicon.

Add the feature flag for displaying search engine favicons in Settings.

Bug: 937057
Change-Id: I2f9ddbbea1adabe8eb6da33e8bce0a40bde34f04
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1529053
Auto-Submit: Yi Su <mrsuyi@chromium.org>
Reviewed-by: Mark Cogan <marq@chromium.org>
Commit-Queue: Yi Su <mrsuyi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#641833}
diff --git a/ios/chrome/browser/about_flags.mm b/ios/chrome/browser/about_flags.mm
index 60ad667..380c459 100644
--- a/ios/chrome/browser/about_flags.mm
+++ b/ios/chrome/browser/about_flags.mm
@@ -567,6 +567,10 @@
      flags_ui::kOsIos,
      FEATURE_VALUE_TYPE(
          autofill::features::kAutofillNoLocalSaveOnUploadSuccess)},
+    {"display-search-engine-favicon",
+     flag_descriptions::kDisplaySearchEngineFaviconName,
+     flag_descriptions::kDisplaySearchEngineFaviconDescription,
+     flags_ui::kOsIos, FEATURE_VALUE_TYPE(kDisplaySearchEngineFavicon)},
 };
 
 // Add all switches from experimental flags to |command_line|.
diff --git a/ios/chrome/browser/ios_chrome_flag_descriptions.cc b/ios/chrome/browser/ios_chrome_flag_descriptions.cc
index 5377412..374999c 100644
--- a/ios/chrome/browser/ios_chrome_flag_descriptions.cc
+++ b/ios/chrome/browser/ios_chrome_flag_descriptions.cc
@@ -244,6 +244,11 @@
     "A crash report will be uploaded if the main thread is frozen more than "
     "the time specified by this flag.";
 
+const char kDisplaySearchEngineFaviconName[] =
+    "Display search engine favicons.";
+const char kDisplaySearchEngineFaviconDescription[] =
+    "When enabled, Settings will display search engine favicons";
+
 const char kDragAndDropName[] = "Drag and Drop";
 const char kDragAndDropDescription[] = "Enable support for drag and drop.";
 
diff --git a/ios/chrome/browser/ios_chrome_flag_descriptions.h b/ios/chrome/browser/ios_chrome_flag_descriptions.h
index e1e21ce..bf52875 100644
--- a/ios/chrome/browser/ios_chrome_flag_descriptions.h
+++ b/ios/chrome/browser/ios_chrome_flag_descriptions.h
@@ -188,6 +188,11 @@
 extern const char kCopiedContentBehaviorName[];
 extern const char kCopiedContentBehaviorDescription[];
 
+// Title and description for the flag to enable displaying search engine
+// favicons in Settings.
+extern const char kDisplaySearchEngineFaviconName[];
+extern const char kDisplaySearchEngineFaviconDescription[];
+
 // Title and description for the flag to enable drag and drop.
 extern const char kDragAndDropName[];
 extern const char kDragAndDropDescription[];
diff --git a/ios/chrome/browser/ui/ui_feature_flags.cc b/ios/chrome/browser/ui/ui_feature_flags.cc
index 389e205..b447839 100644
--- a/ios/chrome/browser/ui/ui_feature_flags.cc
+++ b/ios/chrome/browser/ui/ui_feature_flags.cc
@@ -25,3 +25,6 @@
 
 const base::Feature kSettingsRefresh{"SettingsRefresh",
                                      base::FEATURE_DISABLED_BY_DEFAULT};
+
+const base::Feature kDisplaySearchEngineFavicon{
+    "DisplaySearchEngineFavicon", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/ios/chrome/browser/ui/ui_feature_flags.h b/ios/chrome/browser/ui/ui_feature_flags.h
index cb272f3..fe54cc1 100644
--- a/ios/chrome/browser/ui/ui_feature_flags.h
+++ b/ios/chrome/browser/ui/ui_feature_flags.h
@@ -32,4 +32,7 @@
 // Feature to apply UI Refresh theme to the settings.
 extern const base::Feature kSettingsRefresh;
 
+// Feature to display search engine favicons in Settings.
+extern const base::Feature kDisplaySearchEngineFavicon;
+
 #endif  // IOS_CHROME_BROWSER_UI_UI_FEATURE_FLAGS_H_