In bug 1836555, we changed the progress update messages from MigrationWizardParent
from being a binary "in progress" and "not in progress" to a series of possible
values defined under MigrationWizardConstants.PROGRESS_VALUE.
We forgot to update the file migrators to use this, and they were still using
the old `inProgress` flag. This means that the migration occurred, but progress
updates weren't properly displayed.
We had a test for this, but the test was actually broken - it was querying for
the progress groups using a broken query selector. I've fixed the test, added
an additional check to ensure that the progress icons are in the completed
state, and confirmed that the test fails without the fix, and passes with it.
Differential Revision: https://phabricator.services.mozilla.com/D181783
This adds a `quickSuggestScoreMap` Nimbus variable that lets experiments
override suggestion scores. It maps from telemetry types to score values. For
example:
```
"quickSuggestScoreMap": {
"amo": 0.25,
"adm_sponsored": 0.3
}
```
In this example, addon suggestions will always have a score of 0.25, and
sponsored suggestions will always have a score of 0.3. Of course, different
branches within an experiment and different experiments can set different
scores.
While working on this, I saw we have a bug when we try to look up the
`BaseFeature` for a result. To do the lookup, we look up the result's
`telemetryType` in `FEATURE_NAMES_BY_TELEMETRY_TYPE`. That's a problem for `adm`
suggestions because the `telemetryType` will be either `adm_sponsored` or
`adm_nonsponsored`, but neither of those is present in
`FEATURE_NAMES_BY_TELEMETRY_TYPE` -- only `adm` is.
To fix it, I added back the `provider` property to result payloads that I
previously removed, and I added `BaseFeature.merinoProvider` so each feature can
specify its Merino provider. Then, `QuickSuggest` can build a map from Merino
provider names to features, allowing us to look up features without needing to
hardcode something like `FEATURE_NAMES_BY_TELEMETRY_TYPE` or
`FEATURE_NAMES_BY_MERINO_PROVIDER`.
Since I added back the `provider` property, I had to update a lot of tests. (As
a follow up, it would be nice to centralize the creation of expected result
objects in the test helper.)
I also added `BaseFeature.getSuggestionTelemetryType()` to help implement the
score map and to better formalize the idea that telemetry types are an important
property that all quick suggest results should include.
Differential Revision: https://phabricator.services.mozilla.com/D181709
Enables support for migrating extensions from Chrome once we have the
API to match and install extensions from the add-ons store.
Adds a new ProgressState object to delineate between various progress
states. This new object has four properties: value, message, linkURL,
and linkText. See migration-wizard-constants for more information.
MigrationWizard.#onShowingProgress uses the new ProgressState object
to handle the new LOADING, SUCCESS, ERROR and INFO values for progress.
This has the added benefit of updating the UI on error cases for the
existing resource groups.
Adds a new details object parameter to MigratorBase.migrate which is
currently used in the Chrome extensions import case.
See ChromeProfileMigrator.GetExtensionsResource for an example of
creating this details object.
See MigrationWizardParent.#doBrowserMigration for example usage of this
details object.
Adds support-text links under each resource type group in the markup.
This is currently used only by extensions in the partial matching and
no matching extensions cases.
Refactor MigrationUtils.installExtensionsWrapper to return an array
with the progress state (LOADING, SUCCESS, ERROR, INFO) and any
imported extensions.
Depends on D180005
Differential Revision: https://phabricator.services.mozilla.com/D180876
Synchronously render default info content on about:privatebrowsing while
waiting for ASRouter to handle messages. Update the script and
stylesheet to account for rendering happening twice now. Add a browser
test to verify the content is rendered while ASRouter is hanging.
Differential Revision: https://phabricator.services.mozilla.com/D178987
Adds tests that ensure the correct page actions occur
when translations is reenabled via the translations
panel settings menu.
Depends on D179330
Differential Revision: https://phabricator.services.mozilla.com/D179332
Adds new test-only functions to simulate opening the
translations panel from the app menu instead of from
the translations button.
Depends on D179329
Differential Revision: https://phabricator.services.mozilla.com/D179330
Re-shows the translations button the never-translate-language
or never-translate-site checkboxes become unchecked to the
point that translations is re-enabled for the current page.
Differential Revision: https://phabricator.services.mozilla.com/D179329
This doesn't fix the bug but I saw some exceptions related to having a
non-null view with a null selection that this fixes.
Differential Revision: https://phabricator.services.mozilla.com/D181379