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.
We recently made a change to the shopping CFRs that made them harder
to dismiss. They can only be dismissed by clicking the close X or
by clicking the link that opens the bottom sheet. The issue is that
this results in the page and the UI being unresponsive. So we want
to revert back to the original behavior where they were
dismissible by clicking outside. This change currently only affects
the shopping CFR
Expandable sections states in review checker bottom sheet were not
announce when using talkback. This patch adds both the states and
the actions that need to be dictated.
* 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.
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.
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.