Create feature kMostVisitedTilesImprovedSuggestions with a client side
finch trial.
This feature exists for an M109 iOS-only experiment to test better
default MVT suggestions based on Bling usage data.
This flag is checked against in PopularSites::GetPopularSitesURL(...)
and overrides the popular sites URL with
suggested_sites_US_2023q1_mvt_experiment_arm1.json or
suggested_sites_US_2023q1_mvt_experiment_arm2.json depending on the
experimental arm, if any.
NOTE: This change should be reviewed alongside cl/486703603, which adds
IOSPopularSitesImprovedSuggestions to the synthetic trials.
Change-Id: I5ddd28c22bbbab2803efc4a36d2839a9fe609e25
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3995350
Reviewed-by: Tibor Goldschwendt <[email protected]>
Reviewed-by: Chris Lu <[email protected]>
Commit-Queue: Benjamin Williams <[email protected]>
Reviewed-by: Sylvain Defresne <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1071145}
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 773438f..7eeab25 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -39,6 +39,7 @@
#import "components/flags_ui/flags_storage.h"
#import "components/flags_ui/flags_ui_switches.h"
#import "components/invalidation/impl/invalidation_switches.h"
+#import "components/ntp_tiles/features.h"
#import "components/ntp_tiles/switches.h"
#import "components/omnibox/browser/omnibox_field_trial.h"
#import "components/omnibox/common/omnibox_features.h"
@@ -85,6 +86,7 @@
#import "ios/chrome/browser/ui/first_run/trending_queries_field_trial.h"
#import "ios/chrome/browser/ui/fullscreen/fullscreen_features.h"
#import "ios/chrome/browser/ui/keyboard/features.h"
+#import "ios/chrome/browser/ui/ntp/field_trial_constants.h"
#import "ios/chrome/browser/ui/ntp/new_tab_page_feature.h"
#import "ios/chrome/browser/ui/omnibox/omnibox_ui_features.h"
#import "ios/chrome/browser/ui/open_in/features.h"
@@ -576,6 +578,13 @@
{{"minimal", kIOSNewPostRestoreExperienceMinimal,
std::size(kIOSNewPostRestoreExperienceMinimal), nullptr}};
+const FeatureEntry::FeatureParam kIOSPopularSitesExcludePopularApps[] = {
+ {ntp_tiles::kIOSPopularSitesExcludePopularAppsParam, "true"}};
+const FeatureEntry::FeatureVariation
+ kIOSPopularSitesImprovedSuggestionsVariations[] = {
+ {"(Exclude popular apps)", kIOSPopularSitesExcludePopularApps,
+ std::size(kIOSPopularSitesExcludePopularApps), nullptr}};
+
const FeatureEntry::FeatureParam kEnableExperienceKitMapsWithSrp[] = {
{kExperienceKitMapsVariationName, kEnableExperienceKitMapsVariationSrp}};
const FeatureEntry::FeatureVariation kEnableExperienceKitMapsVariations[] = {
@@ -1145,6 +1154,15 @@
flags_ui::kOsIos,
FEATURE_VALUE_TYPE(password_manager::features::
kIOSPasswordManagerCrossOriginIframeSupport)},
+ {"ios-popular-sites-improved-suggestions",
+ flag_descriptions::kIOSPopularSitesImprovedSuggestionsName,
+ flag_descriptions::kIOSPopularSitesImprovedSuggestionsDescription,
+ flags_ui::kOsIos,
+ FEATURE_WITH_PARAMS_VALUE_TYPE(
+ ntp_tiles::kIOSPopularSitesImprovedSuggestions,
+ kIOSPopularSitesImprovedSuggestionsVariations,
+ field_trial_constants::
+ kIOSPopularSitesImprovedSuggestionsFieldTrialName)},
{"omnibox-adaptive-suggestions-count",
flag_descriptions::kAdaptiveSuggestionsCountName,
flag_descriptions::kAdaptiveSuggestionsCountDescription, flags_ui::kOsIos,