Additionally check for the new content modal and standalone version for WAIT_FOR_MIGRATION_CLOSE by using observer notifications from preferences dialog close, new wizard actor, old wizard uninit.
Differential Revision: https://phabricator.services.mozilla.com/D174692
This also adds some belt-and-suspenders checks here so that even if the Migration Wizard
somehow gets confused and sends resource types that the migrator can't import from, they'll
just get ignored rather than having a forever-progress-spinner for that resource type.
Differential Revision: https://phabricator.services.mozilla.com/D173848
Some of this styling requires us to hack around with inline styles from JS since
the <panel-list>, <panel-item>'s and <xul:panel> are slotted. Bug 1823489 has been
filed to investigate not using slotted items to make it easier to style using the
migration-wizard.css stylesheet instead.
Differential Revision: https://phabricator.services.mozilla.com/D173064
Along with bringing us closer to the layout and spacing from Figma, this does the following:
1. Changes the header element to an <h1> and uses CSS to get the expected font size. This should
make the organization of the wizard make more sense to screenreaders.
2. Handles the "single resource" case for Variant 2, where we hide "Select All" and align the
resource list to the left if there's only a single resource to import.
3. Fixes a string to match the spec.
Differential Revision: https://phabricator.services.mozilla.com/D173054
We're intentionally keeping the old FX_MIGRATION_ENTRY_POINT histogram around and
written to in order to have a smooth cutover to the new categorical histogram.
Differential Revision: https://phabricator.services.mozilla.com/D172735
Notably, this also updates the em ratio of the "base" font size and the deemphasized font-size.
In the Figma specification, the base font size is 13px, and the deemphasized font-size is 10px,
which is ~84% of 13px.
Differential Revision: https://phabricator.services.mozilla.com/D172443
Up until now, we've used the connectedCallback to initialize the MigrationWizard. That's
been fine, except that it requires us to remove and then re-add the element to the DOM
if we want to "reset" it and start over.
This patch adds a method "requestState" to the MigrationWizard that kicks off the
initialization. Embedders can set the `auto-request-state` attribute on the
element if they're happy to just use the connectedCallback.
Finally, this adds an intrinsic width to the entire MigrationWizard element to reduce
flicker when transitioning between states.
Differential Revision: https://phabricator.services.mozilla.com/D171742
This will make it easier to use Storybook to simulate how the MigrationWizard is likely to
be used in practice - which is to say, declaratively.
Differential Revision: https://phabricator.services.mozilla.com/D170666
I also renamed migration-dialog.[js|html|css] to migration-dialog-window.[js|html|css] to
make it clearer that those resources are for when the wizard is being shown in a separate
window. I also updated the documentation to reflect this.
Differential Revision: https://phabricator.services.mozilla.com/D169014
This does a few things to support this new behaviour:
1. Adds the ability for about:preferences category modules to indicate that
they want to specially handle subcategories. In this particular case, it
causes the "migrate" subcategory of the "general" category to open up the
migration dialog.
2. Updates MigrationUtils to open about:preferences#general-migrate if the opener
is a tabbrowser window.
3. Adds some utility functions to make writing tests easier.
4. Updates existing tests to expect the wizard to be opened in the about:preferences
subdialog.
5. Makes pressing "Escape" close the migration wizard when it's loaded in the
migration-dialog.html document.
Differential Revision: https://phabricator.services.mozilla.com/D167873