Add RestrictLegacySearchEnginePromoOnFormFactors killswitch

This flag is used in https://crrev.com/i/8586699

Bug: 444652415
Change-Id: Ie96004f970fdc525f926fcb9d170e6244b6220f4
Enabled-by-default-reason: killswitch
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6943492
Commit-Queue: Nicolas Dossou-Gbété <dgn@chromium.org>
Reviewed-by: Tomasz Wiszkowski <ender@google.com>
Cr-Commit-Position: refs/heads/main@{#1515384}
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
index 4ed8040f..e95bcc0 100644
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -499,6 +499,7 @@
     &sensitive_content::features::kSensitiveContentWhileSwitchingTabs,
     &supervised_user::kPropagateDeviceContentFiltersToSupervisedUser,
     &switches::kMitigateLegacySearchEnginePromoOverlap,
+    &switches::kRestrictLegacySearchEnginePromoOnFormFactors,
     &sync_sessions::kOptimizeAssociateWindowsAndroid,
     &syncer::kWebApkBackupAndRestoreBackend,
     &syncer::kUnoPhase2FollowUp,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
index f2b98e9..ebdd4cd 100644
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -575,6 +575,8 @@
     public static final String RENAME_JOURNEYS = "RenameJourneys";
     public static final String REPORT_NOTIFICATION_CONTENT_DETECTION_DATA =
             "ReportNotificationContentDetectionData";
+    public static final String RESTRICT_LEGACY_SEARCH_ENGINE_PROMO_ON_FORM_FACTORS =
+            "RestrictLegacySearchEnginePromoOnFormFactors";
     public static final String RIGHT_EDGE_GOES_FORWARD_GESTURE_NAV =
             "RightEdgeGoesForwardGestureNav";
     public static final String ROBUST_WINDOW_MANAGEMENT = "RobustWindowManagement";
diff --git a/components/regional_capabilities/regional_capabilities_switches.cc b/components/regional_capabilities/regional_capabilities_switches.cc
index cbea0aa5..65334de 100644
--- a/components/regional_capabilities/regional_capabilities_switches.cc
+++ b/components/regional_capabilities/regional_capabilities_switches.cc
@@ -16,6 +16,11 @@
 BASE_FEATURE(kMitigateLegacySearchEnginePromoOverlap,
              "MitigateLegacySearchEnginePromoOverlap",
              base::FEATURE_DISABLED_BY_DEFAULT);
+
+BASE_FEATURE(kRestrictLegacySearchEnginePromoOnFormFactors,
+             "RestrictLegacySearchEnginePromoOnFormFactors",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+
 BASE_FEATURE(kResolveRegionalCapabilitiesFromDevice,
              "ResolveRegionalCapabilitiesFromDevice",
              base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/components/regional_capabilities/regional_capabilities_switches.h b/components/regional_capabilities/regional_capabilities_switches.h
index dfc7841..38d6fe3926 100644
--- a/components/regional_capabilities/regional_capabilities_switches.h
+++ b/components/regional_capabilities/regional_capabilities_switches.h
@@ -42,6 +42,11 @@
 // Mitigate overlap cases between the legacy search engine promo and the
 // device-based program eligibility determinations.
 BASE_DECLARE_FEATURE(kMitigateLegacySearchEnginePromoOverlap);
+
+// Ensure that the legacy search engine promos don't trigger on out of
+// scope device types.
+BASE_DECLARE_FEATURE(kRestrictLegacySearchEnginePromoOnFormFactors);
+
 // Obtains the active regional program directly from the device instead of
 // deriving it from the profile country. Kill switch, enabled by default.
 BASE_DECLARE_FEATURE(kResolveRegionalCapabilitiesFromDevice);