[iOS] Add a experiment to change the bookmark string

This CL adds an experiment to test different strings to add a page
to the bookmarks.

Bug: 1329496
Change-Id: I4b9be9d7f46243e499260b814a23819ab7fde8c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3695399
Auto-Submit: Gauthier Ambard <[email protected]>
Reviewed-by: David Jean <[email protected]>
Commit-Queue: Gauthier Ambard <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1012482}
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 5877623..6f5a449 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -78,6 +78,7 @@
 #import "ios/chrome/browser/ui/omnibox/omnibox_ui_features.h"
 #import "ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_features.h"
 #import "ios/chrome/browser/ui/popup_menu/overflow_menu/feature_flags.h"
+#import "ios/chrome/browser/ui/popup_menu/public/features.h"
 #import "ios/chrome/browser/ui/start_surface/start_surface_features.h"
 #import "ios/chrome/browser/ui/tab_switcher/tab_grid/features.h"
 #import "ios/chrome/browser/ui/toolbar_container/toolbar_container_features.h"
@@ -373,6 +374,24 @@
      std::size(kBubbleRichIPHRichWithSnooze), nullptr},
 };
 
+const FeatureEntry::FeatureParam kPopupMenuBookmarkStringAddABookmark[] = {
+    {kPopupMenuBookmarkStringParamName,
+     kPopupMenuBookmarkStringParamAddABookmark}};
+const FeatureEntry::FeatureParam kPopupMenuBookmarkStringAddToBookmarks[] = {
+    {kPopupMenuBookmarkStringParamName,
+     kPopupMenuBookmarkStringParamAddToBookmarks}};
+const FeatureEntry::FeatureParam kPopupMenuBookmarkStringBookmarkThisPage[] = {
+    {kPopupMenuBookmarkStringParamName,
+     kPopupMenuBookmarkStringParamBookmarkThisPage}};
+
+const FeatureEntry::FeatureVariation kPopupMenuBookmarkStringVarations[] = {
+    {"(Add A Bookmark)", kPopupMenuBookmarkStringAddABookmark,
+     std::size(kPopupMenuBookmarkStringAddABookmark), nullptr},
+    {"(Add To Bookmarks)", kPopupMenuBookmarkStringAddToBookmarks,
+     std::size(kPopupMenuBookmarkStringAddToBookmarks), nullptr},
+    {"(Bookmark This Page)", kPopupMenuBookmarkStringBookmarkThisPage,
+     std::size(kPopupMenuBookmarkStringBookmarkThisPage), nullptr}};
+
 // To add a new entry, add to the end of kFeatureEntries. There are four
 // distinct types of entries:
 // . ENABLE_DISABLE_VALUE: entry is either enabled, disabled, or uses the
@@ -946,6 +965,11 @@
      flag_descriptions::kEnableDiscoverFeedGhostCardsName,
      flag_descriptions::kEnableDiscoverFeedGhostCardsDescription,
      flags_ui::kOsIos, FEATURE_VALUE_TYPE(kDiscoverFeedGhostCardsEnabled)},
+    {"bookmark-string-menu", flag_descriptions::kBookmarkStringName,
+     flag_descriptions::kBookmarkStringDescription, flags_ui::kOsIos,
+     FEATURE_WITH_PARAMS_VALUE_TYPE(kBookmarkString,
+                                    kPopupMenuBookmarkStringVarations,
+                                    "BookmarkString")},
 };
 
 bool SkipConditionalFeatureEntry(const flags_ui::FeatureEntry& entry) {