In Firefox Desktop, sponsored and non-sponsored suggestions aren't
shown in private windows, even when the "Show search suggestions in
Private Windows" option is checked. This commit makes Fenix's behavior
match Desktop's.
(cherry picked from commit 1258f6cb2fc1acf0804365b87fd9145e7309b6f5)
This commit adds the following measurements:
* A new value for the `fx_suggest.ping_type` metric,
`fxsuggest-impression`.
* An `fx_suggest.position` metric to capture the position of the
Firefox Suggest search suggestion in the awesomebar, for impressions
and clicks.
* An `fx_suggest.is_clicked` metric, to capture whether an
`fxsuggest-impression` ping is for a clicked suggestion.
This commit also:
* Mounts `FxSuggestFactsMiddleware` to collect facts for impressions
and clicks.
* Dispatches `AwesomeBarAction`s from the `SearchDialogController` in
response to user interactions with the awesomebar and toolbar.
(cherry picked from commit ca5cb4bdbdff0bf67bb763497e53ceeef43a69fd)
This commit builds on bug 1857092 to record impressions for sponsored
Firefox Suggest search suggestions, and moves the logic for recording
clicks to the same middleware.
An impression means, "did the user see a suggestion when they finished
engaging with the awesomebar?" A "finished engagement" means the user
navigated to a URL, a search results page, or a shown suggestion.
We don't record impressions for:
* Suggestions that the user sees as they're typing.
* Abandoned engagements, when the user dismisses the awesomebar without
navigating to a destination.
If the user taps on a Firefox Suggest suggestion, we record an
impression _and_ a click for that suggestion. If they tap on any other
suggestion, or navigate to a URL or search results page, we record an
impression only.
The new `FxSuggestFactsMiddleware` in this commit observes the
`EngagementFinished` action added in the last commit, and emits facts
for impressions and clicks.
(cherry picked from commit 196e46c25beba770227dde1594034b1275a450e5)
* In Nightly and debug builds, the secret setting is shown
(via `FeatureFlags.fxSuggest`), and the feature is enabled by default
via the `fx-suggest.enabled` Nimbus variable.
* In Beta and Release, we still want to show the secret setting, but
disable the feature by default.
(cherry picked from commit d89724e922a836be24a58ee0c9d66af088d7f393)
Added a new probe `product_page_visits` which counts the number of
visits to a supported retailer product page.
(cherry picked from commit fbd860cb37334374806b835ad548b82e050c820a)