summaryrefslogtreecommitdiff
path: root/chromium/components/feature_engagement
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-09-29 16:16:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-11-09 10:04:06 +0000
commita95a7417ad456115a1ef2da4bb8320531c0821f1 (patch)
treeedcd59279e486d2fd4a8f88a7ed025bcf925c6e6 /chromium/components/feature_engagement
parent33fc33aa94d4add0878ec30dc818e34e1dd3cc2a (diff)
downloadqtwebengine-chromium-a95a7417ad456115a1ef2da4bb8320531c0821f1.tar.gz
BASELINE: Update Chromium to 106.0.5249.126
Change-Id: Ib0bb21c437a7d1686e21c33f2d329f2ac425b7ab Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/438936 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/feature_engagement')
-rw-r--r--chromium/components/feature_engagement/OWNERS6
-rw-r--r--chromium/components/feature_engagement/internal/android/tracker_impl_android.h5
-rw-r--r--chromium/components/feature_engagement/internal/availability_model.h5
-rw-r--r--chromium/components/feature_engagement/internal/availability_model_impl.h5
-rw-r--r--chromium/components/feature_engagement/internal/chrome_variations_configuration.h5
-rw-r--r--chromium/components/feature_engagement/internal/condition_validator.h5
-rw-r--r--chromium/components/feature_engagement/internal/editable_configuration.h5
-rw-r--r--chromium/components/feature_engagement/internal/never_availability_model.cc4
-rw-r--r--chromium/components/feature_engagement/internal/never_availability_model.h5
-rw-r--r--chromium/components/feature_engagement/internal/never_availability_model_unittest.cc36
-rw-r--r--chromium/components/feature_engagement/internal/never_condition_validator.h5
-rw-r--r--chromium/components/feature_engagement/internal/once_condition_validator.h5
-rw-r--r--chromium/components/feature_engagement/internal/single_invalid_configuration.h5
-rw-r--r--chromium/components/feature_engagement/public/configuration.h5
-rw-r--r--chromium/components/feature_engagement/public/event_constants.cc3
-rw-r--r--chromium/components/feature_engagement/public/event_constants.h6
-rw-r--r--chromium/components/feature_engagement/public/feature_configurations.cc91
-rw-r--r--chromium/components/feature_engagement/public/feature_configurations.h5
-rw-r--r--chromium/components/feature_engagement/public/feature_constants.cc34
-rw-r--r--chromium/components/feature_engagement/public/feature_constants.h16
-rw-r--r--chromium/components/feature_engagement/public/feature_list.cc15
-rw-r--r--chromium/components/feature_engagement/public/feature_list.h41
22 files changed, 153 insertions, 159 deletions
diff --git a/chromium/components/feature_engagement/OWNERS b/chromium/components/feature_engagement/OWNERS
index 354f99dd084..52ee6138617 100644
--- a/chromium/components/feature_engagement/OWNERS
+++ b/chromium/components/feature_engagement/OWNERS
@@ -2,6 +2,7 @@ dtrainor@chromium.org
nyquist@chromium.org
shaktisahu@chromium.org
+# For mobile platforms:
per-file ...event_constants.*=twellington@chromium.org
per-file ...feature_configurations.cc=twellington@chromium.org
per-file ...feature_constants.*=twellington@chromium.org
@@ -9,3 +10,8 @@ per-file ...feature_list.*=twellington@chromium.org
per-file ...EventConstants.java=twellington@chromium.org
per-file ...FeatureConstants.java=twellington@chromium.org
+# For User Education/Feature Engagement on desktop platforms:
+per-file ...event_constants.*=dfried@chromium.org
+per-file ...feature_configurations.cc=dfried@chromium.org
+per-file ...feature_constants.*=dfried@chromium.org
+per-file ...feature_list.*=dfried@chromium.org
diff --git a/chromium/components/feature_engagement/internal/android/tracker_impl_android.h b/chromium/components/feature_engagement/internal/android/tracker_impl_android.h
index 9a686747acf..1400dd78740 100644
--- a/chromium/components/feature_engagement/internal/android/tracker_impl_android.h
+++ b/chromium/components/feature_engagement/internal/android/tracker_impl_android.h
@@ -12,16 +12,13 @@
#include "base/android/callback_android.h"
#include "base/android/jni_android.h"
#include "base/android/scoped_java_ref.h"
+#include "base/feature_list.h"
#include "base/memory/raw_ptr.h"
#include "base/supports_user_data.h"
#include "components/feature_engagement/internal/tracker_impl.h"
#include "components/feature_engagement/public/feature_list.h"
#include "components/feature_engagement/public/tracker.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
// JNI bridge between DisplayLockHandleAndroid in Java and C++.
diff --git a/chromium/components/feature_engagement/internal/availability_model.h b/chromium/components/feature_engagement/internal/availability_model.h
index da8870c1bec..2912bf1a5f8 100644
--- a/chromium/components/feature_engagement/internal/availability_model.h
+++ b/chromium/components/feature_engagement/internal/availability_model.h
@@ -8,12 +8,9 @@
#include <stdint.h>
#include "base/callback_forward.h"
+#include "base/feature_list.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
// An AvailabilityModel tracks when each feature was made available to an
diff --git a/chromium/components/feature_engagement/internal/availability_model_impl.h b/chromium/components/feature_engagement/internal/availability_model_impl.h
index fe96da41f90..607e04e94ce 100644
--- a/chromium/components/feature_engagement/internal/availability_model_impl.h
+++ b/chromium/components/feature_engagement/internal/availability_model_impl.h
@@ -12,14 +12,11 @@
#include <string>
#include "base/callback.h"
+#include "base/feature_list.h"
#include "base/memory/weak_ptr.h"
#include "components/feature_engagement/internal/availability_model.h"
#include "components/feature_engagement/internal/persistent_availability_store.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
// An AvailabilityModel which supports loading data from an
// PersistentAvailabilityStore.
diff --git a/chromium/components/feature_engagement/internal/chrome_variations_configuration.h b/chromium/components/feature_engagement/internal/chrome_variations_configuration.h
index 4406bca5e69..989fdec36bb 100644
--- a/chromium/components/feature_engagement/internal/chrome_variations_configuration.h
+++ b/chromium/components/feature_engagement/internal/chrome_variations_configuration.h
@@ -5,13 +5,10 @@
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_CHROME_VARIATIONS_CONFIGURATION_H_
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_CHROME_VARIATIONS_CONFIGURATION_H_
+#include "base/feature_list.h"
#include "components/feature_engagement/public/configuration.h"
#include "components/feature_engagement/public/feature_list.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
// A ChromeVariationsConfiguration provides a configuration that is parsed from
diff --git a/chromium/components/feature_engagement/internal/condition_validator.h b/chromium/components/feature_engagement/internal/condition_validator.h
index facd64dc12a..34ff47ae571 100644
--- a/chromium/components/feature_engagement/internal/condition_validator.h
+++ b/chromium/components/feature_engagement/internal/condition_validator.h
@@ -11,14 +11,11 @@
#include <string>
#include <vector>
+#include "base/feature_list.h"
#include "components/feature_engagement/public/configuration.h"
#include "components/feature_engagement/public/feature_list.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
struct FeatureConfig;
class AvailabilityModel;
diff --git a/chromium/components/feature_engagement/internal/editable_configuration.h b/chromium/components/feature_engagement/internal/editable_configuration.h
index ede2531f121..1b7bd9fd023 100644
--- a/chromium/components/feature_engagement/internal/editable_configuration.h
+++ b/chromium/components/feature_engagement/internal/editable_configuration.h
@@ -5,12 +5,9 @@
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EDITABLE_CONFIGURATION_H_
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EDITABLE_CONFIGURATION_H_
+#include "base/feature_list.h"
#include "components/feature_engagement/public/configuration.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
// An EditableConfiguration provides a configuration that can be configured
diff --git a/chromium/components/feature_engagement/internal/never_availability_model.cc b/chromium/components/feature_engagement/internal/never_availability_model.cc
index dc8c5b0e6f1..f71297faa63 100644
--- a/chromium/components/feature_engagement/internal/never_availability_model.cc
+++ b/chromium/components/feature_engagement/internal/never_availability_model.cc
@@ -15,7 +15,7 @@
namespace feature_engagement {
-NeverAvailabilityModel::NeverAvailabilityModel() : ready_(false) {}
+NeverAvailabilityModel::NeverAvailabilityModel() = default;
NeverAvailabilityModel::~NeverAvailabilityModel() = default;
@@ -24,7 +24,7 @@ void NeverAvailabilityModel::Initialize(OnInitializedCallback callback,
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::BindOnce(&NeverAvailabilityModel::ForwardedOnInitializedCallback,
- base::Unretained(this), std::move(callback)));
+ weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
}
bool NeverAvailabilityModel::IsReady() const {
diff --git a/chromium/components/feature_engagement/internal/never_availability_model.h b/chromium/components/feature_engagement/internal/never_availability_model.h
index 3d4c8f8f95e..fff9f88d9ad 100644
--- a/chromium/components/feature_engagement/internal/never_availability_model.h
+++ b/chromium/components/feature_engagement/internal/never_availability_model.h
@@ -7,6 +7,7 @@
#include <stdint.h>
+#include "base/memory/weak_ptr.h"
#include "components/feature_engagement/internal/availability_model.h"
namespace feature_engagement {
@@ -36,7 +37,9 @@ class NeverAvailabilityModel : public AvailabilityModel {
void ForwardedOnInitializedCallback(OnInitializedCallback callback);
// Whether the model has been successfully initialized.
- bool ready_;
+ bool ready_ = false;
+
+ base::WeakPtrFactory<NeverAvailabilityModel> weak_ptr_factory_{this};
};
} // namespace feature_engagement
diff --git a/chromium/components/feature_engagement/internal/never_availability_model_unittest.cc b/chromium/components/feature_engagement/internal/never_availability_model_unittest.cc
index e3fce69a0cb..982a8f376e4 100644
--- a/chromium/components/feature_engagement/internal/never_availability_model_unittest.cc
+++ b/chromium/components/feature_engagement/internal/never_availability_model_unittest.cc
@@ -22,7 +22,8 @@ const base::Feature kAvailabilityTestFeatureBar{
class NeverAvailabilityModelTest : public ::testing::Test {
public:
- NeverAvailabilityModelTest() = default;
+ NeverAvailabilityModelTest()
+ : availability_model_(std::make_unique<NeverAvailabilityModel>()) {}
NeverAvailabilityModelTest(const NeverAvailabilityModelTest&) = delete;
NeverAvailabilityModelTest& operator=(const NeverAvailabilityModelTest&) =
@@ -31,7 +32,7 @@ class NeverAvailabilityModelTest : public ::testing::Test {
void OnInitializedCallback(bool success) { success_ = success; }
protected:
- NeverAvailabilityModel availability_model_;
+ std::unique_ptr<NeverAvailabilityModel> availability_model_;
absl::optional<bool> success_;
private:
@@ -42,34 +43,47 @@ class NeverAvailabilityModelTest : public ::testing::Test {
TEST_F(NeverAvailabilityModelTest, ShouldNeverHaveData) {
EXPECT_EQ(absl::nullopt,
- availability_model_.GetAvailability(kAvailabilityTestFeatureFoo));
+ availability_model_->GetAvailability(kAvailabilityTestFeatureFoo));
EXPECT_EQ(absl::nullopt,
- availability_model_.GetAvailability(kAvailabilityTestFeatureBar));
+ availability_model_->GetAvailability(kAvailabilityTestFeatureBar));
- availability_model_.Initialize(
+ availability_model_->Initialize(
base::BindOnce(&NeverAvailabilityModelTest::OnInitializedCallback,
base::Unretained(this)),
14u);
base::RunLoop().RunUntilIdle();
EXPECT_EQ(absl::nullopt,
- availability_model_.GetAvailability(kAvailabilityTestFeatureFoo));
+ availability_model_->GetAvailability(kAvailabilityTestFeatureFoo));
EXPECT_EQ(absl::nullopt,
- availability_model_.GetAvailability(kAvailabilityTestFeatureBar));
+ availability_model_->GetAvailability(kAvailabilityTestFeatureBar));
}
TEST_F(NeverAvailabilityModelTest, ShouldBeReadyAfterInitialization) {
- EXPECT_FALSE(availability_model_.IsReady());
- availability_model_.Initialize(
+ EXPECT_FALSE(availability_model_->IsReady());
+ availability_model_->Initialize(
base::BindOnce(&NeverAvailabilityModelTest::OnInitializedCallback,
base::Unretained(this)),
14u);
- EXPECT_FALSE(availability_model_.IsReady());
+ EXPECT_FALSE(availability_model_->IsReady());
EXPECT_FALSE(success_.has_value());
base::RunLoop().RunUntilIdle();
- EXPECT_TRUE(availability_model_.IsReady());
+ EXPECT_TRUE(availability_model_->IsReady());
ASSERT_TRUE(success_.has_value());
EXPECT_TRUE(success_.value());
}
+TEST_F(NeverAvailabilityModelTest, DestroyedBeforeInitialization) {
+ EXPECT_FALSE(availability_model_->IsReady());
+ // Initialize performs asynchronous tasks that are posted to the task queue.
+ // However the class may be torn down before they have a chance to complete.
+ availability_model_->Initialize(
+ base::BindOnce(&NeverAvailabilityModelTest::OnInitializedCallback,
+ base::Unretained(this)),
+ 14u);
+ availability_model_.reset();
+ base::RunLoop().RunUntilIdle();
+ ASSERT_FALSE(success_.has_value());
+}
+
} // namespace feature_engagement
diff --git a/chromium/components/feature_engagement/internal/never_condition_validator.h b/chromium/components/feature_engagement/internal/never_condition_validator.h
index b5f6c15a621..21e04698b7c 100644
--- a/chromium/components/feature_engagement/internal/never_condition_validator.h
+++ b/chromium/components/feature_engagement/internal/never_condition_validator.h
@@ -5,14 +5,11 @@
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_CONDITION_VALIDATOR_H_
#define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_NEVER_CONDITION_VALIDATOR_H_
+#include "base/feature_list.h"
#include "components/feature_engagement/internal/condition_validator.h"
#include "components/feature_engagement/public/feature_list.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
class AvailabilityModel;
class DisplayLockController;
diff --git a/chromium/components/feature_engagement/internal/once_condition_validator.h b/chromium/components/feature_engagement/internal/once_condition_validator.h
index aa8791f8fc0..b337e4dafa3 100644
--- a/chromium/components/feature_engagement/internal/once_condition_validator.h
+++ b/chromium/components/feature_engagement/internal/once_condition_validator.h
@@ -7,14 +7,11 @@
#include <unordered_set>
+#include "base/feature_list.h"
#include "components/feature_engagement/internal/condition_validator.h"
#include "components/feature_engagement/public/feature_list.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
class AvailabilityModel;
class DisplayLockController;
diff --git a/chromium/components/feature_engagement/internal/single_invalid_configuration.h b/chromium/components/feature_engagement/internal/single_invalid_configuration.h
index f55ad4d3d73..c0a1fc2fbee 100644
--- a/chromium/components/feature_engagement/internal/single_invalid_configuration.h
+++ b/chromium/components/feature_engagement/internal/single_invalid_configuration.h
@@ -8,12 +8,9 @@
#include <string>
#include <unordered_set>
+#include "base/feature_list.h"
#include "components/feature_engagement/public/configuration.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
// An Configuration that always returns the same single invalid configuration,
diff --git a/chromium/components/feature_engagement/public/configuration.h b/chromium/components/feature_engagement/public/configuration.h
index 9692303bf07..e73c7c64196 100644
--- a/chromium/components/feature_engagement/public/configuration.h
+++ b/chromium/components/feature_engagement/public/configuration.h
@@ -11,12 +11,9 @@
#include <string>
#include <vector>
+#include "base/feature_list.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-struct Feature;
-}
-
namespace feature_engagement {
// A ComparatorType describes the relationship between two numbers.
diff --git a/chromium/components/feature_engagement/public/event_constants.cc b/chromium/components/feature_engagement/public/event_constants.cc
index 94bc287358e..9d6bad7bd70 100644
--- a/chromium/components/feature_engagement/public/event_constants.cc
+++ b/chromium/components/feature_engagement/public/event_constants.cc
@@ -29,6 +29,7 @@ const char kGlobalMediaControlsOpened[] = "global_media_controls_opened";
const char kFocusModeOpened[] = "focus_mode_opened";
const char kFocusModeConditionsMet[] = "focus_mode_conditions_met";
+const char kSideSearchAutoTriggered[] = "side_search_auto_triggered";
const char kSideSearchOpened[] = "side_search_opened";
const char kTabSearchOpened[] = "tab_search_opened";
@@ -59,6 +60,8 @@ const char kDesktopVersionRequested[] = "desktop_version_requested";
const char kDefaultSiteViewShown[] = "default_site_view_shown";
const char kPasswordSuggestionsShown[] = "password_suggestions_shown";
const char kPasswordSuggestionSelected[] = "password_suggestion_selected";
+const char kOverflowMenuNoHorizontalScrollOrAction[] =
+ "overflow_menu_no_horizontal_scroll_or_action";
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_ANDROID)
diff --git a/chromium/components/feature_engagement/public/event_constants.h b/chromium/components/feature_engagement/public/event_constants.h
index c7a23e83729..e69d4e8e26e 100644
--- a/chromium/components/feature_engagement/public/event_constants.h
+++ b/chromium/components/feature_engagement/public/event_constants.h
@@ -51,6 +51,8 @@ extern const char kFocusModeOpened[];
// All conditions for show Focus Mode IPH were met.
extern const char kFocusModeConditionsMet[];
+// The side search panel was automatically triggered.
+extern const char kSideSearchAutoTriggered[];
// The Side search panel was opened by the user.
extern const char kSideSearchOpened[];
@@ -109,6 +111,10 @@ extern const char kPasswordSuggestionsShown[];
// The user has selected an Autofill password suggestion.
extern const char kPasswordSuggestionSelected[];
+// The user has exited the overflow menu without scrolling horizontally and
+// without taking an action.
+extern const char kOverflowMenuNoHorizontalScrollOrAction[];
+
#endif // BUILDFLAG(IS_IOS)
// Android.
diff --git a/chromium/components/feature_engagement/public/feature_configurations.cc b/chromium/components/feature_engagement/public/feature_configurations.cc
index 5af929179d5..ab84cf339a8 100644
--- a/chromium/components/feature_engagement/public/feature_configurations.cc
+++ b/chromium/components/feature_engagement/public/feature_configurations.cc
@@ -231,37 +231,38 @@ absl::optional<FeatureConfig> GetClientSideFeatureConfig(
Comparator(LESS_THAN, 3), 90, 360));
return config;
}
- if (kIPHAddToHomescreenMessageFeature.name == feature->name) {
- // A config that allows the Add to homescreen message IPH to be shown:
- // * Once per 15 days
- // * Up to 2 times but only if unused in the last 15 days.
+ if (kIPHContextualPageActionsPriceTrackingActionChipFeature.name ==
+ feature->name) {
+ // A config that allows the Price Tracking Action Chip to be shown:
+ // * 3 times per session.
+ // * 5 times per day.
+ // * 10 times per week.
absl::optional<FeatureConfig> config = FeatureConfig();
config->valid = true;
config->availability = Comparator(ANY, 0);
- config->session_rate = Comparator(EQUAL, 0);
- config->trigger = EventConfig("add_to_homescreen_message_iph_trigger",
- Comparator(LESS_THAN, 2), 90, 90);
- config->used = EventConfig("add_to_homescreen_dialog_shown",
- Comparator(EQUAL, 0), 90, 90);
+ config->session_rate = Comparator(LESS_THAN, 3);
+ config->trigger = EventConfig(
+ "contextual_page_actions_price_tracking_action_chip_iph_trigger",
+ Comparator(LESS_THAN, 5), 1, 360);
config->event_configs.insert(EventConfig(
- "add_to_homescreen_message_iph_trigger", Comparator(EQUAL, 0), 15, 90));
+ "contextual_page_actions_price_tracking_action_chip_iph_trigger",
+ Comparator(LESS_THAN, 10), 7, 360));
return config;
}
- if (kIPHAddToHomescreenTextBubbleFeature.name == feature->name) {
- // A config that allows the Add to homescreen text bubble IPH to be shown:
+ if (kIPHAddToHomescreenMessageFeature.name == feature->name) {
+ // A config that allows the Add to homescreen message IPH to be shown:
// * Once per 15 days
// * Up to 2 times but only if unused in the last 15 days.
absl::optional<FeatureConfig> config = FeatureConfig();
config->valid = true;
config->availability = Comparator(ANY, 0);
config->session_rate = Comparator(EQUAL, 0);
- config->trigger = EventConfig("add_to_homescreen_text_bubble_iph_trigger",
+ config->trigger = EventConfig("add_to_homescreen_message_iph_trigger",
Comparator(LESS_THAN, 2), 90, 90);
config->used = EventConfig("add_to_homescreen_dialog_shown",
Comparator(EQUAL, 0), 90, 90);
- config->event_configs.insert(
- EventConfig("add_to_homescreen_text_bubble_iph_trigger",
- Comparator(EQUAL, 0), 15, 90));
+ config->event_configs.insert(EventConfig(
+ "add_to_homescreen_message_iph_trigger", Comparator(EQUAL, 0), 15, 90));
return config;
}
@@ -516,6 +517,25 @@ absl::optional<FeatureConfig> GetClientSideFeatureConfig(
Comparator(EQUAL, 0), 15, 90));
return config;
}
+ if (kIPHShoppingListMenuItemFeature.name == feature->name) {
+ // Allows a shopping list menu item IPH to be displayed at most:
+ // * Once per week.
+ // * Up to 3 times per year.
+ // * And only as long as the user has never initiated price tracking from
+ // the menu.
+ absl::optional<FeatureConfig> config = FeatureConfig();
+ config->valid = true;
+ config->availability = Comparator(ANY, 0);
+ config->session_rate = Comparator(EQUAL, 1);
+ config->trigger = EventConfig("shopping_list_menu_item_iph_triggered",
+ Comparator(EQUAL, 0), 7, 7);
+ config->event_configs.insert(
+ EventConfig("shopping_list_menu_item_iph_triggered",
+ Comparator(LESS_THAN, 3), 360, 360));
+ config->used = EventConfig("shopping_list_track_price_from_menu",
+ Comparator(EQUAL, 0), 360, 360);
+ return config;
+ }
if (kIPHTabSwitcherButtonFeature.name == feature->name) {
absl::optional<FeatureConfig> config = FeatureConfig();
config->valid = true;
@@ -698,28 +718,6 @@ absl::optional<FeatureConfig> GetClientSideFeatureConfig(
return config;
}
- if (kIPHStartSurfaceTabSwitcherHomeButton.name == feature->name) {
- // A config that allows the StartSurfaceTabSwitcherHomeButton IPH to be
- // shown:
- // * Once per day
- // * Up to 7 times but only if the home button is not clicked when IPH is
- // showing.
- absl::optional<FeatureConfig> config = FeatureConfig();
- config->valid = true;
- config->availability = Comparator(ANY, 0);
- config->session_rate = Comparator(ANY, 0);
- config->trigger =
- EventConfig("start_surface_tab_switcher_home_button_iph_trigger",
- Comparator(LESS_THAN, 7), k10YearsInDays, k10YearsInDays);
- config->used =
- EventConfig("start_surface_tab_switcher_home_button_clicked",
- Comparator(EQUAL, 0), k10YearsInDays, k10YearsInDays);
- config->event_configs.insert(
- EventConfig("start_surface_tab_switcher_home_button_iph_trigger",
- Comparator(EQUAL, 0), 1, 360));
- return config;
- }
-
if (kIPHSharedHighlightingReceiverFeature.name == feature->name) {
// A config that allows the shared highlighting message IPH to be shown
// when a user receives a highlight:
@@ -886,6 +884,23 @@ absl::optional<FeatureConfig> GetClientSideFeatureConfig(
Comparator(EQUAL, 0), 60, 60);
return config;
}
+
+ if (kIPHRequestDesktopSiteAppMenuFeature.name == feature->name) {
+ // A config that allows the RDS site-level setting user education prompt to
+ // be shown:
+ // * If the user has used the RDS (tab-level) setting on the app menu at
+ // least once.
+ // * If the prompt has never been shown before.
+ absl::optional<FeatureConfig> config = FeatureConfig();
+ config->valid = true;
+ config->availability = Comparator(ANY, 0);
+ config->session_rate = Comparator(ANY, 0);
+ config->used = EventConfig("app_menu_desktop_site_for_tab_clicked",
+ Comparator(GREATER_THAN_OR_EQUAL, 1), 180, 180);
+ config->trigger = EventConfig("request_desktop_site_app_menu_iph_trigger",
+ Comparator(EQUAL, 0), 180, 180);
+ return config;
+ }
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
diff --git a/chromium/components/feature_engagement/public/feature_configurations.h b/chromium/components/feature_engagement/public/feature_configurations.h
index fe119a55216..f81910918f6 100644
--- a/chromium/components/feature_engagement/public/feature_configurations.h
+++ b/chromium/components/feature_engagement/public/feature_configurations.h
@@ -5,12 +5,9 @@
#ifndef COMPONENTS_FEATURE_ENGAGEMENT_PUBLIC_FEATURE_CONFIGURATIONS_H_
#define COMPONENTS_FEATURE_ENGAGEMENT_PUBLIC_FEATURE_CONFIGURATIONS_H_
+#include "base/feature_list.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
-namespace base {
-struct Feature;
-} // namespace base
-
namespace feature_engagement {
struct FeatureConfig;
diff --git a/chromium/components/feature_engagement/public/feature_constants.cc b/chromium/components/feature_engagement/public/feature_constants.cc
index d0a13bec40e..e31968e4bfa 100644
--- a/chromium/components/feature_engagement/public/feature_constants.cc
+++ b/chromium/components/feature_engagement/public/feature_constants.cc
@@ -4,6 +4,7 @@
#include "components/feature_engagement/public/feature_constants.h"
+#include "base/feature_list.h"
#include "build/build_config.h"
namespace feature_engagement {
@@ -46,6 +47,8 @@ const base::Feature kIPHReadingListInSidePanelFeature{
"IPH_ReadingListInSidePanel", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHReopenTabFeature{"IPH_ReopenTab",
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIPHSideSearchAutoTriggeringFeature{
+ "IPH_SideSearchAutoTriggering", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHSideSearchFeature{"IPH_SideSearch",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHTabSearchFeature{"IPH_TabSearch",
@@ -60,6 +63,9 @@ const base::Feature kIPHProfileSwitchFeature{"IPH_ProfileSwitch",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHIntentChipFeature{"IPH_IntentChip",
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIPHWebUiHelpBubbleTestFeature(
+ "IPH_WebUiHelpBubbleTest",
+ base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
@@ -76,8 +82,6 @@ const base::Feature
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHAddToHomescreenMessageFeature{
"IPH_AddToHomescreenMessage", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kIPHAddToHomescreenTextBubbleFeature{
- "IPH_AddToHomescreenTextBubble", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHAutoDarkOptOutFeature{"IPH_AutoDarkOptOut",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHAutoDarkUserEducationMessageFeature{
@@ -87,6 +91,9 @@ const base::Feature kIPHAutoDarkUserEducationMessageOptInFeature{
const base::Feature kIPHContextualPageActionsPriceTrackingFeature{
"IPH_ContextualPageActions_PriceTracking",
base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kIPHContextualPageActionsPriceTrackingActionChipFeature{
+ "IPH_ContextualPageActions_PriceTrackingActionChip",
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHCrowFeature{"IPH_Crow",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHDataSaverDetailFeature{
@@ -107,21 +114,6 @@ const base::Feature kIPHChromeHomeExpandFeature{
"IPH_ChromeHomeExpand", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHChromeHomePullToRefreshFeature{
"IPH_ChromeHomePullToRefresh", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchTranslationEnableFeature{
- "IPH_ContextualSearchTranslationEnable", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchWebSearchFeature{
- "IPH_ContextualSearchWebSearch", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchPromoteTapFeature{
- "IPH_ContextualSearchPromoteTap", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchPromotePanelOpenFeature{
- "IPH_ContextualSearchPromotePanelOpen", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchOptInFeature{
- "IPH_ContextualSearchOptIn", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchTappedButShouldLongpressFeature{
- "IPH_ContextualSearchTappedButShouldLongpress",
- base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHContextualSearchInPanelHelpFeature{
- "IPH_ContextualSearchInPanelHelp", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHDownloadSettingsFeature{
"IPH_DownloadSettings", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHDownloadInfoBarDownloadContinuingFeature{
@@ -138,6 +130,8 @@ const base::Feature kIPHReadLaterAppMenuBookmarksFeature{
"IPH_ReadLaterAppMenuBookmarks", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHReadLaterBottomSheetFeature{
"IPH_ReadLaterBottomSheet", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kIPHRequestDesktopSiteAppMenuFeature{
+ "IPH_RequestDesktopSiteAppMenu", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHShoppingListSaveFlowFeature{
"IPH_ShoppingListSaveFlow", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHEphemeralTabFeature{"IPH_EphemeralTab",
@@ -213,6 +207,8 @@ const base::Feature kIPHPageInfoStoreInfoFeature{
"IPH_PageInfoStoreInfo", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHPreviewsOmniboxUIFeature{
"IPH_PreviewsOmniboxUI", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kIPHPriceDropNTPFeature{"IPH_PriceDropNTP",
+ base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHShoppingListMenuItemFeature{
"IPH_ShoppingListMenuItem", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHTabGroupsQuicklyComparePagesFeature{
@@ -267,8 +263,6 @@ const base::Feature kIPHSharedHighlightingBuilder{
"IPH_SharedHighlightingBuilder", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHSharedHighlightingReceiverFeature{
"IPH_SharedHighlightingReceiver", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kIPHStartSurfaceTabSwitcherHomeButton{
- "IPH_StartSurfaceTabSwitcherHomeButton", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kIPHSharingHubWebnotesStylizeFeature{
"IPH_SharingHubWebnotesStylize", base::FEATURE_ENABLED_BY_DEFAULT};
#endif // BUILDFLAG(IS_ANDROID)
@@ -296,6 +290,8 @@ const base::Feature kIPHPasswordSuggestionsFeature{
"IPH_PasswordSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHFollowWhileBrowsingFeature{
"IPH_FollowWhileBrowsing", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIPHOverflowMenuTipFeature{
+ "IPH_OverflowMenuTip", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
diff --git a/chromium/components/feature_engagement/public/feature_constants.h b/chromium/components/feature_engagement/public/feature_constants.h
index 6dc3e390fe9..1e177c4cefd 100644
--- a/chromium/components/feature_engagement/public/feature_constants.h
+++ b/chromium/components/feature_engagement/public/feature_constants.h
@@ -45,12 +45,14 @@ extern const base::Feature kIPHReadingListEntryPointFeature;
extern const base::Feature kIPHIntentChipFeature;
extern const base::Feature kIPHReadingListInSidePanelFeature;
extern const base::Feature kIPHReopenTabFeature;
+extern const base::Feature kIPHSideSearchAutoTriggeringFeature;
extern const base::Feature kIPHSideSearchFeature;
extern const base::Feature kIPHTabSearchFeature;
extern const base::Feature kIPHWebUITabStripFeature;
extern const base::Feature kIPHDesktopSnoozeFeature;
extern const base::Feature kIPHDesktopPwaInstallFeature;
extern const base::Feature kIPHProfileSwitchFeature;
+extern const base::Feature kIPHWebUiHelpBubbleTestFeature;
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
@@ -65,11 +67,12 @@ extern const base::Feature
extern const base::Feature
kIPHAdaptiveButtonInTopToolbarCustomizationVoiceSearchFeature;
extern const base::Feature kIPHAddToHomescreenMessageFeature;
-extern const base::Feature kIPHAddToHomescreenTextBubbleFeature;
extern const base::Feature kIPHAutoDarkOptOutFeature;
extern const base::Feature kIPHAutoDarkUserEducationMessageFeature;
extern const base::Feature kIPHAutoDarkUserEducationMessageOptInFeature;
extern const base::Feature kIPHContextualPageActionsPriceTrackingFeature;
+extern const base::Feature
+ kIPHContextualPageActionsPriceTrackingActionChipFeature;
extern const base::Feature kIPHCrowFeature;
extern const base::Feature kIPHDataSaverDetailFeature;
extern const base::Feature kIPHDataSaverMilestonePromoFeature;
@@ -80,13 +83,6 @@ extern const base::Feature kIPHDownloadPageFeature;
extern const base::Feature kIPHDownloadPageScreenshotFeature;
extern const base::Feature kIPHChromeHomeExpandFeature;
extern const base::Feature kIPHChromeHomePullToRefreshFeature;
-extern const base::Feature kIPHContextualSearchTranslationEnableFeature;
-extern const base::Feature kIPHContextualSearchWebSearchFeature;
-extern const base::Feature kIPHContextualSearchPromoteTapFeature;
-extern const base::Feature kIPHContextualSearchPromotePanelOpenFeature;
-extern const base::Feature kIPHContextualSearchOptInFeature;
-extern const base::Feature kIPHContextualSearchTappedButShouldLongpressFeature;
-extern const base::Feature kIPHContextualSearchInPanelHelpFeature;
extern const base::Feature kIPHDownloadSettingsFeature;
extern const base::Feature kIPHDownloadInfoBarDownloadContinuingFeature;
extern const base::Feature kIPHDownloadInfoBarDownloadsAreFasterFeature;
@@ -129,11 +125,13 @@ extern const base::Feature kIPHNewTabPageHomeButtonFeature;
extern const base::Feature kIPHPageInfoFeature;
extern const base::Feature kIPHPageInfoStoreInfoFeature;
extern const base::Feature kIPHPreviewsOmniboxUIFeature;
+extern const base::Feature kIPHPriceDropNTPFeature;
extern const base::Feature kIPHQuietNotificationPromptsFeature;
extern const base::Feature kIPHReadLaterContextMenuFeature;
extern const base::Feature kIPHReadLaterAppMenuBookmarkThisPageFeature;
extern const base::Feature kIPHReadLaterAppMenuBookmarksFeature;
extern const base::Feature kIPHReadLaterBottomSheetFeature;
+extern const base::Feature kIPHRequestDesktopSiteAppMenuFeature;
extern const base::Feature kIPHShoppingListMenuItemFeature;
extern const base::Feature kIPHShoppingListSaveFlowFeature;
extern const base::Feature kIPHTabGroupsQuicklyComparePagesFeature;
@@ -162,7 +160,6 @@ extern const base::Feature kIPHWebFeedFollowFeature;
extern const base::Feature kIPHWebFeedPostFollowDialogFeature;
extern const base::Feature kIPHSharedHighlightingBuilder;
extern const base::Feature kIPHSharedHighlightingReceiverFeature;
-extern const base::Feature kIPHStartSurfaceTabSwitcherHomeButton;
extern const base::Feature kIPHSharingHubWebnotesStylizeFeature;
#endif // BUILDFLAG(IS_ANDROID)
@@ -178,6 +175,7 @@ extern const base::Feature kIPHDiscoverFeedHeaderFeature;
extern const base::Feature kIPHDefaultSiteViewFeature;
extern const base::Feature kIPHPasswordSuggestionsFeature;
extern const base::Feature kIPHFollowWhileBrowsingFeature;
+extern const base::Feature kIPHOverflowMenuTipFeature;
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
diff --git a/chromium/components/feature_engagement/public/feature_list.cc b/chromium/components/feature_engagement/public/feature_list.cc
index ab905b12f67..52f48cbfeb7 100644
--- a/chromium/components/feature_engagement/public/feature_list.cc
+++ b/chromium/components/feature_engagement/public/feature_list.cc
@@ -20,7 +20,6 @@ const base::Feature* const kAllFeatures[] = {
&kIPHAdaptiveButtonInTopToolbarCustomizationShareFeature,
&kIPHAdaptiveButtonInTopToolbarCustomizationVoiceSearchFeature,
&kIPHAddToHomescreenMessageFeature,
- &kIPHAddToHomescreenTextBubbleFeature,
&kIPHAutoDarkOptOutFeature,
&kIPHAutoDarkUserEducationMessageFeature,
&kIPHAutoDarkUserEducationMessageOptInFeature,
@@ -37,13 +36,7 @@ const base::Feature* const kAllFeatures[] = {
&kIPHChromeReengagementNotification2Feature,
&kIPHChromeReengagementNotification3Feature,
&kIPHContextualPageActionsPriceTrackingFeature,
- &kIPHContextualSearchTranslationEnableFeature,
- &kIPHContextualSearchWebSearchFeature,
- &kIPHContextualSearchPromoteTapFeature,
- &kIPHContextualSearchPromotePanelOpenFeature,
- &kIPHContextualSearchOptInFeature,
- &kIPHContextualSearchTappedButShouldLongpressFeature,
- &kIPHContextualSearchInPanelHelpFeature,
+ &kIPHContextualPageActionsPriceTrackingActionChipFeature,
&kIPHCrowFeature,
&kIPHDownloadSettingsFeature,
&kIPHDownloadInfoBarDownloadContinuingFeature,
@@ -76,12 +69,14 @@ const base::Feature* const kAllFeatures[] = {
&kIPHPageInfoFeature,
&kIPHPageInfoStoreInfoFeature,
&kIPHPreviewsOmniboxUIFeature,
+ &kIPHPriceDropNTPFeature,
&kIPHPwaInstallAvailableFeature,
&kIPHQuietNotificationPromptsFeature,
&kIPHReadLaterContextMenuFeature,
&kIPHReadLaterAppMenuBookmarkThisPageFeature,
&kIPHReadLaterAppMenuBookmarksFeature,
&kIPHReadLaterBottomSheetFeature,
+ &kIPHRequestDesktopSiteAppMenuFeature,
&kIPHShoppingListMenuItemFeature,
&kIPHShoppingListSaveFlowFeature,
&kIPHTabGroupsQuicklyComparePagesFeature,
@@ -106,7 +101,6 @@ const base::Feature* const kAllFeatures[] = {
&kIPHWebFeedPostFollowDialogFeature,
&kIPHSharedHighlightingBuilder,
&kIPHSharedHighlightingReceiverFeature,
- &kIPHStartSurfaceTabSwitcherHomeButton,
&kIPHSharingHubWebnotesStylizeFeature,
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_IOS)
@@ -121,6 +115,7 @@ const base::Feature* const kAllFeatures[] = {
&kIPHDefaultSiteViewFeature,
&kIPHPasswordSuggestionsFeature,
&kIPHFollowWhileBrowsingFeature,
+ &kIPHOverflowMenuTipFeature,
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
@@ -134,6 +129,7 @@ const base::Feature* const kAllFeatures[] = {
&kIPHReadingListEntryPointFeature,
&kIPHReadingListInSidePanelFeature,
&kIPHReopenTabFeature,
+ &kIPHSideSearchAutoTriggeringFeature,
&kIPHSideSearchFeature,
&kIPHTabSearchFeature,
&kIPHWebUITabStripFeature,
@@ -141,6 +137,7 @@ const base::Feature* const kAllFeatures[] = {
&kIPHProfileSwitchFeature,
&kIPHDesktopSharedHighlightingFeature,
&kIPHIntentChipFeature,
+ &kIPHWebUiHelpBubbleTestFeature,
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
diff --git a/chromium/components/feature_engagement/public/feature_list.h b/chromium/components/feature_engagement/public/feature_list.h
index 83105819f3c..0b9843167e2 100644
--- a/chromium/components/feature_engagement/public/feature_list.h
+++ b/chromium/components/feature_engagement/public/feature_list.h
@@ -54,8 +54,6 @@ DEFINE_VARIATION_PARAM(
"IPH_AdaptiveButtonInTopToolbarCustomization_VoiceSearch");
DEFINE_VARIATION_PARAM(kIPHAddToHomescreenMessageFeature,
"IPH_AddToHomescreenMessage");
-DEFINE_VARIATION_PARAM(kIPHAddToHomescreenTextBubbleFeature,
- "IPH_AddToHomescreenTextBubble");
DEFINE_VARIATION_PARAM(kIPHAutoDarkOptOutFeature, "IPH_AutoDarkOptOut");
DEFINE_VARIATION_PARAM(kIPHAutoDarkUserEducationMessageFeature,
"IPH_AutoDarkUserEducationMessage");
@@ -63,6 +61,8 @@ DEFINE_VARIATION_PARAM(kIPHAutoDarkUserEducationMessageOptInFeature,
"IPH_AutoDarkUserEducationMessageOptIn");
DEFINE_VARIATION_PARAM(kIPHContextualPageActionsPriceTrackingFeature,
"IPH_ContextualPageActions_PriceTracking");
+DEFINE_VARIATION_PARAM(kIPHContextualPageActionsPriceTrackingActionChipFeature,
+ "IPH_ContextualPageActions_PriceTrackingActionChip");
DEFINE_VARIATION_PARAM(kIPHCrowFeature, "IPH_Crow");
DEFINE_VARIATION_PARAM(kIPHDataSaverDetailFeature, "IPH_DataSaverDetail");
DEFINE_VARIATION_PARAM(kIPHDataSaverMilestonePromoFeature,
@@ -82,20 +82,6 @@ DEFINE_VARIATION_PARAM(kIPHChromeReengagementNotification2Feature,
"IPH_ChromeReengagementNotification2");
DEFINE_VARIATION_PARAM(kIPHChromeReengagementNotification3Feature,
"IPH_ChromeReengagementNotification3");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchTranslationEnableFeature,
- "IPH_ContextualSearchTranslationEnable");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchWebSearchFeature,
- "IPH_ContextualSearchWebSearch");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchPromoteTapFeature,
- "IPH_ContextualSearchPromoteTap");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchPromotePanelOpenFeature,
- "IPH_ContextualSearchPromotePanelOpen");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchOptInFeature,
- "IPH_ContextualSearchOptIn");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchTappedButShouldLongpressFeature,
- "IPH_ContextualSearchTappedButShouldLongpress");
-DEFINE_VARIATION_PARAM(kIPHContextualSearchInPanelHelpFeature,
- "IPH_ContextualSearchInPanelHelp");
DEFINE_VARIATION_PARAM(kIPHDownloadSettingsFeature, "IPH_DownloadSettings");
DEFINE_VARIATION_PARAM(kIPHDownloadInfoBarDownloadContinuingFeature,
"IPH_DownloadInfoBarDownloadContinuing");
@@ -149,6 +135,7 @@ DEFINE_VARIATION_PARAM(kIPHNewTabPageButtonFeature, "IPH_NewTabPageHomeButton");
DEFINE_VARIATION_PARAM(kIPHPageInfoFeature, "IPH_PageInfo");
DEFINE_VARIATION_PARAM(kIPHPageInfoStoreInfoFeature, "IPH_PageInfoStoreInfo");
DEFINE_VARIATION_PARAM(kIPHPreviewsOmniboxUIFeature, "IPH_PreviewsOmniboxUI");
+DEFINE_VARIATION_PARAM(kIPHPriceDropNTPFeature, "IPH_PriceDropNTP");
DEFINE_VARIATION_PARAM(kIPHPwaInstallAvailableFeature,
"IPH_PwaInstallAvailableFeature");
DEFINE_VARIATION_PARAM(kIPHQuietNotificationPromptsFeature,
@@ -161,6 +148,8 @@ DEFINE_VARIATION_PARAM(kIPHReadLaterAppMenuBookmarksFeature,
"IPH_ReadLaterAppMenuBookmarks");
DEFINE_VARIATION_PARAM(kIPHReadLaterBottomSheetFeature,
"IPH_ReadLaterBottomSheet");
+DEFINE_VARIATION_PARAM(kIPHRequestDesktopSiteAppMenuFeature,
+ "IPH_RequestDesktopSiteAppMenu");
DEFINE_VARIATION_PARAM(kIPHShoppingListMenuItemFeature,
"IPH_ShoppingListMenuItem");
DEFINE_VARIATION_PARAM(kIPHShoppingListSaveFlowFeature,
@@ -202,8 +191,6 @@ DEFINE_VARIATION_PARAM(kIPHSharedHighlightingBuilder,
"IPH_SharedHighlightingBuilder");
DEFINE_VARIATION_PARAM(kIPHSharedHighlightingReceiverFeature,
"IPH_SharedHighlightingReceiver");
-DEFINE_VARIATION_PARAM(kIPHStartSurfaceTabSwitcherHomeButton,
- "IPH_StartSurfaceTabSwitcherHomeButton");
DEFINE_VARIATION_PARAM(kIPHSharingHubWebnotesStylizeFeature,
"IPH_SharingHubWebnotesStylize");
#endif // BUILDFLAG(IS_ANDROID)
@@ -225,6 +212,7 @@ DEFINE_VARIATION_PARAM(kIPHPasswordSuggestionsFeature,
"IPH_PasswordSuggestions");
DEFINE_VARIATION_PARAM(kIPHFollowWhileBrowsingFeature,
"IPH_FollowWhileBrowsing");
+DEFINE_VARIATION_PARAM(kIPHOverflowMenuTipFeature, "IPH_OverflowMenuTip");
#endif // BUILDFLAG(IS_IOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
@@ -244,6 +232,8 @@ DEFINE_VARIATION_PARAM(kIPHReadingListEntryPointFeature,
DEFINE_VARIATION_PARAM(kIPHReadingListInSidePanelFeature,
"IPH_ReadingListInSidePanel");
DEFINE_VARIATION_PARAM(kIPHReopenTabFeature, "IPH_ReopenTab");
+DEFINE_VARIATION_PARAM(kIPHSideSearchAutoTriggeringFeature,
+ "IPH_SideSearchAutoTriggering");
DEFINE_VARIATION_PARAM(kIPHSideSearchFeature, "IPH_SideSearch");
DEFINE_VARIATION_PARAM(kIPHTabAudioMutingFeature, "IPH_TabAudioMuting");
DEFINE_VARIATION_PARAM(kIPHTabSearchFeature, "IPH_TabSearch");
@@ -253,6 +243,8 @@ DEFINE_VARIATION_PARAM(kIPHProfileSwitchFeature, "IPH_ProfileSwitch");
DEFINE_VARIATION_PARAM(kIPHDesktopSharedHighlightingFeature,
"IPH_DesktopSharedHighlighting");
DEFINE_VARIATION_PARAM(kIPHIntentChipFeature, "IPH_IntentChip");
+DEFINE_VARIATION_PARAM(kIPHWebUiHelpBubbleTestFeature,
+ "IPH_WebUiHelpBubbleTest");
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
@@ -279,7 +271,6 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(
kIPHAdaptiveButtonInTopToolbarCustomizationVoiceSearchFeature),
VARIATION_ENTRY(kIPHAddToHomescreenMessageFeature),
- VARIATION_ENTRY(kIPHAddToHomescreenTextBubbleFeature),
VARIATION_ENTRY(kIPHAutoDarkOptOutFeature),
VARIATION_ENTRY(kIPHAutoDarkUserEducationMessageFeature),
VARIATION_ENTRY(kIPHAutoDarkUserEducationMessageOptInFeature),
@@ -297,13 +288,6 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHChromeReengagementNotification1Feature),
VARIATION_ENTRY(kIPHChromeReengagementNotification2Feature),
VARIATION_ENTRY(kIPHChromeReengagementNotification3Feature),
- VARIATION_ENTRY(kIPHContextualSearchTranslationEnableFeature),
- VARIATION_ENTRY(kIPHContextualSearchWebSearchFeature),
- VARIATION_ENTRY(kIPHContextualSearchPromoteTapFeature),
- VARIATION_ENTRY(kIPHContextualSearchPromotePanelOpenFeature),
- VARIATION_ENTRY(kIPHContextualSearchOptInFeature),
- VARIATION_ENTRY(kIPHContextualSearchTappedButShouldLongpressFeature),
- VARIATION_ENTRY(kIPHContextualSearchInPanelHelpFeature),
VARIATION_ENTRY(kIPHDownloadSettingsFeature),
VARIATION_ENTRY(kIPHDownloadInfoBarDownloadContinuingFeature),
VARIATION_ENTRY(kIPHDownloadInfoBarDownloadsAreFasterFeature),
@@ -321,12 +305,14 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHPageInfoFeature),
VARIATION_ENTRY(kIPHPageInfoStoreInfoFeature),
VARIATION_ENTRY(kIPHPreviewsOmniboxUIFeature),
+ VARIATION_ENTRY(kIPHPriceDropNTPFeature),
VARIATION_ENTRY(kIPHPwaInstallAvailableFeature),
VARIATION_ENTRY(kIPHQuietNotificationPromptsFeature),
VARIATION_ENTRY(kIPHReadLaterContextMenuFeature),
VARIATION_ENTRY(kIPHReadLaterAppMenuBookmarkThisPageFeature),
VARIATION_ENTRY(kIPHReadLaterAppMenuBookmarksFeature),
VARIATION_ENTRY(kIPHReadLaterBottomSheetFeature),
+ VARIATION_ENTRY(kIPHRequestDesktopSiteAppMenuFeature),
VARIATION_ENTRY(kIPHShoppingListMenuItemFeature),
VARIATION_ENTRY(kIPHShoppingListSaveFlowFeature),
VARIATION_ENTRY(kIPHTabGroupsQuicklyComparePagesFeature),
@@ -363,6 +349,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHDefaultSiteViewFeature),
VARIATION_ENTRY(kIPHPasswordSuggestionsFeature),
VARIATION_ENTRY(kIPHFollowWhileBrowsingFeature),
+ VARIATION_ENTRY(kIPHOverflowMenuTipFeature),
#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature),
@@ -375,6 +362,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHReadingListEntryPointFeature),
VARIATION_ENTRY(kIPHReadingListInSidePanelFeature),
VARIATION_ENTRY(kIPHReopenTabFeature),
+ VARIATION_ENTRY(kIPHSideSearchAutoTriggeringFeature),
VARIATION_ENTRY(kIPHSideSearchFeature),
VARIATION_ENTRY(kIPHTabAudioMutingFeature),
VARIATION_ENTRY(kIPHTabSearchFeature),
@@ -383,6 +371,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHProfileSwitchFeature),
VARIATION_ENTRY(kIPHDesktopSharedHighlightingFeature),
VARIATION_ENTRY(kIPHIntentChipFeature),
+ VARIATION_ENTRY(kIPHWebUiHelpBubbleTestFeature),
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)