[iOS][ffr] Tweak configs and add flags for gesture IPH in chrome://flags

This CL does three things -

1. Rename "SwipeLeftForIncognito" to "SwipeRightForIncognito"
2. Tweak feature configurations to honor both frequency conditions
3. Add test cases to test the new configurations

Note that the feature parameters `kGestureInProductHelpMaxOccurrence`
and `kGestureInProductHelpDaysBetweenOccurrences` will be used in
Finch configs. They are not used in chrome://flags/ because the
frequency settings are hard to manually tested anyways.

OBSOLETE_HISTOGRAMS=Renamed IPH feature; the feature has never been
launched.

Bug: b:40276959
Change-Id: I89e9be2e298fa599ddb17741217575b4ec794f8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5287675
Reviewed-by: Robbie Gibson <[email protected]>
Commit-Queue: Ginny Huang <[email protected]>
Reviewed-by: Jesse Doherty <[email protected]>
Reviewed-by: Gauthier Ambard <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1260130}
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index cec4f90..f9dca7a 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -1608,6 +1608,22 @@
      flag_descriptions::kMinorModeRestrictionsForHistorySyncOptInDescription,
      flags_ui::kOsIos,
      FEATURE_VALUE_TYPE(::switches::kMinorModeRestrictionsForHistorySyncOptIn)},
+    {"ios-iph-pull-to-refresh",
+     flag_descriptions::kIPHiOSPullToRefreshFeatureName,
+     flag_descriptions::kIPHiOSPullToRefreshFeatureDescription,
+     flags_ui::kOsIos,
+     FEATURE_VALUE_TYPE(feature_engagement::kIPHiOSPullToRefreshFeature)},
+    {"ios-iph-swipe-back-forward",
+     flag_descriptions::kIPHiOSSwipeBackForwardFeatureName,
+     flag_descriptions::kIPHiOSSwipeBackForwardFeatureDescription,
+     flags_ui::kOsIos,
+     FEATURE_VALUE_TYPE(feature_engagement::kIPHiOSSwipeBackForwardFeature)},
+    {"ios-iph-tab-grid-swipe-right-for-incognito",
+     flag_descriptions::kIPHiOSTabGridSwipeRightForIncognitoName,
+     flag_descriptions::kIPHiOSTabGridSwipeRightForIncognitoDescription,
+     flags_ui::kOsIos,
+     FEATURE_VALUE_TYPE(
+         feature_engagement::kIPHiOSTabGridSwipeRightForIncognito)},
 };
 
 bool SkipConditionalFeatureEntry(const flags_ui::FeatureEntry& entry) {