Commit graph

63 commits

Author SHA1 Message Date
Gregory Pappas
27838882b1 Bug 1878401 - part 2 - Update nsIFilePicker users in browser/ to pass BrowsingContext to init r=extension-reviewers,settings-reviewers,credential-management-reviewers,Gijs,sgalich,migration-reviewers,mconley,robwu
Depends on D200546

Differential Revision: https://phabricator.services.mozilla.com/D200547
2024-02-28 21:29:37 +00:00
Sandor Molnar
3951121cc6 Backed out 8 changesets (bug 1878401, bug 1879041) for causing build bustages on widget/nsBaseFilePicker.cpp CLOSED TREE
Backed out changeset 2e2b8df3bdd6 (bug 1879041)
Backed out changeset 6d6952f9df2c (bug 1878401)
Backed out changeset 30b5bb590d3e (bug 1878401)
Backed out changeset 9a4b830334b9 (bug 1878401)
Backed out changeset 3c3d67f1fcb7 (bug 1878401)
Backed out changeset c83ba4026822 (bug 1878401)
Backed out changeset 6bcb670ce475 (bug 1878401)
Backed out changeset f263b196df96 (bug 1878401)
2024-02-28 17:56:48 +02:00
Gregory Pappas
67cc3e9258 Bug 1878401 - part 2 - Update nsIFilePicker users in browser/ to pass BrowsingContext to init r=extension-reviewers,settings-reviewers,credential-management-reviewers,Gijs,sgalich,migration-reviewers,mconley,robwu
Depends on D200546

Differential Revision: https://phabricator.services.mozilla.com/D200547
2024-02-28 15:07:44 +00:00
Mike Conley
e1336c1a0f Bug 1818237 - Make it possible to request permission to access Chrome-browser profiles. r=mstriemer,fluent-reviewers,desktop-theme-reviewers
This is needed for Ubuntu Linux when Firefox is installed as a Snap package.
Under those conditions, Firefox doesn't have the ability to read the contents
of the other browsers' data directories.

We work around by showing the user a native file picker and instructing them
to browse to that data directory in folder picker mode - doing so gives
the Firefox process access to the folder (through a temporary symlink).

Another restriction we must overcome is Sqlite's inability to read from
Sqlite databases through that symlinked folder. We work around this by
copying the databases we're importing from to the system temporary
directory, querying it, and then deleting those copies.

Differential Revision: https://phabricator.services.mozilla.com/D188874
2023-10-11 20:09:21 +00:00
Sandor Molnar
e9864bd8c9 Backed out 2 changesets (bug 1818237) for causing xpc failures on browser/components/migration/tests/unit/test_Chrome_permissions.js CLOSED TREE
Backed out changeset e5d78a9ddcb4 (bug 1818237)
Backed out changeset 87f67f05c8a8 (bug 1818237)
2023-10-11 19:53:35 +03:00
Mike Conley
ce487ed3b3 Bug 1818237 - Make it possible to request permission to access Chrome-browser profiles. r=mstriemer,fluent-reviewers,desktop-theme-reviewers
This is needed for Ubuntu Linux when Firefox is installed as a Snap package.
Under those conditions, Firefox doesn't have the ability to read the contents
of the other browsers' data directories.

We work around by showing the user a native file picker and instructing them
to browse to that data directory in folder picker mode - doing so gives
the Firefox process access to the folder (through a temporary symlink).

Another restriction we must overcome is Sqlite's inability to read from
Sqlite databases through that symlinked folder. We work around this by
copying the databases we're importing from to the system temporary
directory, querying it, and then deleting those copies.

Differential Revision: https://phabricator.services.mozilla.com/D188874
2023-10-11 14:53:55 +00:00
Sandor Molnar
fe0eee2ad6 Backed out 2 changesets (bug 1818237) for causing mochitest/xpc failures on browser/components/migration/<...>.js CLOSED TREE
Backed out changeset a8584f57dc7c (bug 1818237)
Backed out changeset 477292e081b3 (bug 1818237)
2023-10-11 09:32:23 +03:00
Mike Conley
71dcfe8cb4 Bug 1818237 - Make it possible to request permission to access Chrome-browser profiles. r=mstriemer,fluent-reviewers,desktop-theme-reviewers
This is needed for Ubuntu Linux when Firefox is installed as a Snap package.
Under those conditions, Firefox doesn't have the ability to read the contents
of the other browsers' data directories.

We work around by showing the user a native file picker and instructing them
to browse to that data directory in folder picker mode - doing so gives
the Firefox process access to the folder (through a temporary symlink).

Another restriction we must overcome is Sqlite's inability to read from
Sqlite databases through that symlinked folder. We work around this by
copying the databases we're importing from to the system temporary
directory, querying it, and then deleting those copies.

Differential Revision: https://phabricator.services.mozilla.com/D188874
2023-10-11 04:16:49 +00:00
Mike Conley
b29bd01391 Bug 1852973 - Delegate the responsibility of opening about:addons from the migration wizard to MigrationWizardParent. r=tgiles
Originally, we had had the extensions migration success link work by using a normal
anchor element with "about:addons" set as the href. This works on privileged pages like
about:preferences, but not for unprivileged pages like about:welcome - unprivileged
pages are generally unable to directly link to most about: pages.

The solution here is to continue to use an anchor element, but to use an event handler
on it rather than a "href" attribute, and have the MigrationWizardParent hear that
click event and take responsibility for opening about:addons.

As part of this, we're also intentionally choosing to open about:addons in a background
tab so that the user can continue to work through their onboard flow uninterrupted
should they click on the link while on about:welcome.

Differential Revision: https://phabricator.services.mozilla.com/D188116
2023-09-13 21:28:21 +00:00
Gregory Pappas
3eac12bbd7 Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao
Differential Revision: https://phabricator.services.mozilla.com/D184481
2023-07-26 16:28:11 +00:00
Mark Banner
6fe765f7ca Bug 1845079 - Update more consumers to import ES modules directly. r=arai,settings-reviewers,credential-management-reviewers,sync-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D184371
2023-07-24 15:32:45 +00:00
Mike Conley
15a050ce05 Bug 1842605 - Handle errors in loading passwords from Safari CSV files. r=kpatenio,fluent-reviewers,bolsson
This also fixes some incorrect inline documentation I found in some of our tests,
and fixes a case where we were showing the warning state for importing bookmarks
in browser_safari_passwords.js.

Differential Revision: https://phabricator.services.mozilla.com/D183506
2023-07-13 20:55:05 +00:00
Mike Conley
f26432d99b Bug 1841506 - Make sure to run MigrationUtils.finishMigration when tearing down the migration wizard. r=kpatenio
This is needed in order to clear the gProfileStartup state after a startup
migration from a profile reset.

Differential Revision: https://phabricator.services.mozilla.com/D182733
2023-07-04 19:18:57 +00:00
Mike Conley
873660df09 Bug 1840917 - Add a probe to measure how long it takes to show both the legacy and new migration wizard. data-review=jhirsch,r=tgiles
Differential Revision: https://phabricator.services.mozilla.com/D182389
2023-07-04 15:36:56 +00:00
Sandor Molnar
1d4be990b0 Backed out changeset d4e89e0e7e9b (bug 1840917) for causing bc failures in browser/components/migration/tests/browser/browser_entrypoint_telemetry.js CLOSED TREE 2023-06-30 04:48:41 +03:00
Mike Conley
88a1fbc692 Bug 1840917 - Add a probe to measure how long it takes to show both the legacy and new migration wizard. data-review=jhirsch,r=tgiles
Differential Revision: https://phabricator.services.mozilla.com/D182389
2023-06-29 23:57:26 +00:00
Tim Giles
f22f636fac Bug 1839416 - Add SUMO link on how Firefox matches extensions. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D182361
2023-06-28 18:20:58 +00:00
Mike Conley
a40dcbf105 Bug 1840488 - Change from classes to a state attribute for the migration wizard progress icon. r=tgiles,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D182274
2023-06-28 16:46:19 +00:00
Mike Conley
1286641adf Bug 1839872 - Fix progress and success states for file migrators. r=kpatenio
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
2023-06-22 23:00:48 +00:00
Mike Conley
6512795a6c Bug 1839462 - Modify migration event telemetry for extensions migration. data-review=jhirsch, r=tgiles
Depends on D181298

Differential Revision: https://phabricator.services.mozilla.com/D181566
2023-06-22 13:48:51 +00:00
Norisz Fay
9c4f20beaf Backed out 2 changesets (bug 1839462) as requested by dev CLOSED TREE
Backed out changeset a61155e9121f (bug 1839462)
Backed out changeset 99d02fe665aa (bug 1839462)
2023-06-21 23:42:10 +03:00
Mike Conley
84759ac45c Bug 1839462 - Modify migration event telemetry for extensions migration. data-review=jhirsch, r=tgiles
Depends on D181298

Differential Revision: https://phabricator.services.mozilla.com/D181566
2023-06-21 20:24:57 +00:00
Tim Giles
222be426df Bug 1836773 - Support the new MigrationResource in the migration wizard. r=mconley,willdurand,fluent-reviewers,desktop-theme-reviewers,flod
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
2023-06-21 20:24:56 +00:00
Mike Conley
061f8f7d3a Bug 1837367 - Allow file migrators to show an error message if migration failed for some reason. r=kpatenio,desktop-theme-reviewers
The spec calls for a special-case in the event that file migration
ever fails - the wizard should be sent back to the selection page,
have the associated file migrator still set in the dropdown, and
show an error message.

A later patch in this series will add such an error message for
the bookmarks file migrator.

Depends on D180458

Differential Revision: https://phabricator.services.mozilla.com/D180490
2023-06-13 14:53:00 +00:00
Mike Conley
03806b5352 Bug 1823537 - Port some older telemetry probes from the old migration wizard to the new one. r=Gijs
Those probes are:
* migration.uninstaller_profile_refresh (scalar)
* migration.discovered_migrators (keyed scalar)
* FX_MIGRATION_SOURCE_BROWSER (histogram)
* FX_MIGRATION_USAGE (histogram)
* FX_MIGRATION_ERRORS (histogram)

Not being ported are the following histograms:
* FX_STARTUP_MIGRATION_BROWSER_COUNT
* FX_STARTUP_MIGRATION_EXISTING_DEFAULT_BROWSER
* FX_STARTUP_MIGRATION_DATA_RECENCY
* FX_STARTUP_MIGRATION_USED_RECENT_BROWSER

as these are all expired.

Differential Revision: https://phabricator.services.mozilla.com/D180231
2023-06-09 17:39:51 +00:00
Mike Conley
cffc131623 Bug 1823537 - Use new migration wizard for startup and profile reset migrations. r=kpatenio,Gijs,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D180230
2023-06-09 17:39:51 +00:00
Mike Conley
a3c41c4d0c Bug 1825874 - Offer to import passwords from a CSV file for Safari. r=kpatenio
Safari doesn't let us import all passwords from Keychain at once. Instead,
the user needs to authorize each read from Keychain one by one. This is
not tenable for password import.

Instead, we show the user instructions on how they can export their passwords
from Safari into a CSV file that can then be imported. This patch adds support
for showing those instructions (which had landed earlier in bug 1818789) and
then importing from that CSV file upon selection.

The data-review for the safari_password_file Telemetry event being used here
was done earlier in bug 1824786.

Differential Revision: https://phabricator.services.mozilla.com/D175669
2023-05-29 16:12:41 +00:00
Butkovits Atila
4fe057c425 Backed out changeset 863fae78db03 (bug 1825874) for causing failures at browser_disabled_migrator.js. CLOSED TREE 2023-05-29 18:34:53 +03:00
Mike Conley
0128cbcc0b Bug 1825874 - Offer to import passwords from a CSV file for Safari. r=kpatenio
Safari doesn't let us import all passwords from Keychain at once. Instead,
the user needs to authorize each read from Keychain one by one. This is
not tenable for password import.

Instead, we show the user instructions on how they can export their passwords
from Safari into a CSV file that can then be imported. This patch adds support
for showing those instructions (which had landed earlier in bug 1818789) and
then importing from that CSV file upon selection.

The data-review for the safari_password_file Telemetry event being used here
was done earlier in bug 1824786.

Differential Revision: https://phabricator.services.mozilla.com/D175669
2023-05-29 14:39:59 +00:00
Mike Conley
002250eb40 Bug 1826149 - Add payment method migration experience in new migration wizard. r=niklas,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D178364
2023-05-25 20:16:04 +00:00
Mark Banner
130a655906 Bug 1826062 - Automatic fixes for upgrading Prettier to 2.8.8. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,calu
Differential Revision: https://phabricator.services.mozilla.com/D177027
2023-05-20 12:26:53 +00:00
Mark Banner
8219a5c503 Bug 1826062 - Automatic fixes for Prettier 2.0.5 upgrade. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,owlish
Differential Revision: https://phabricator.services.mozilla.com/D177025
2023-05-20 12:26:49 +00:00
Mike Conley
6b6a82db38 Bug 1828758 - Make Password file migrator only available if importing logins from CSV is enabled. r=kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D175804
2023-04-18 22:36:26 +00:00
Mike Conley
d9c70f322c Bug 1821187 - Add infrastructure for file migrators in the new Migration Wizard. r=fluent-reviewers,kpatenio,flod
This also includes our first file migrator, which imports passwords from CSV/TSV files.

Depends on D174537

Differential Revision: https://phabricator.services.mozilla.com/D173033
2023-04-13 20:15:03 +00:00
Butkovits Atila
54c533e94a Backed out 2 changesets (bug 1821187) for causing failures at browser_file_migration.js. CLOSED TREE
Backed out changeset 8402100dfc12 (bug 1821187)
Backed out changeset 2a7196e34b3d (bug 1821187)
2023-04-13 05:28:27 +03:00
Mike Conley
b3d86515cb Bug 1821187 - Add infrastructure for file migrators in the new Migration Wizard. r=fluent-reviewers,kpatenio,flod
This also includes our first file migrator, which imports passwords from CSV/TSV files.

Differential Revision: https://phabricator.services.mozilla.com/D173033
2023-04-13 01:28:38 +00:00
Mike Conley
91e55eb47a Bug 1827431 - Make sure to select the appropriate profile when choosing what resource data is available for migration. r=niklas
We weren't passing the appropriate profile object to getMigrateData, and thanks to mocking,
we didn't catch this in automated testing.

This patch fixes the issue, and updates our mocking helpers to ensure that the expected
profile object gets passed to the `getResources` calls during mochitest-browser tests.

Differential Revision: https://phabricator.services.mozilla.com/D175144
2023-04-12 16:01:41 +00:00
Ed Lee
6a75f6d576 Bug 1826439 - Support running new migration wizard Fx113 experiment r=pdahiya,settings-reviewers,mconley
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
2023-04-07 05:12:31 +00:00
Mike Conley
ba746927c0 Bug 1825655 - Record keyed scalars for each browser/profile pair found when discovering browsers to migrate from. data-review=jhirsch, r=niklas
Differential Revision: https://phabricator.services.mozilla.com/D174185
2023-04-03 20:47:13 +00:00
Mike Conley
b6752be6de Bug 1824786 - Add event telemetry for the migration wizards. data-review=jhirsch, r=niklas
Differential Revision: https://phabricator.services.mozilla.com/D174184
2023-04-03 20:47:13 +00:00
Mike Conley
a46819cdb9 Bug 1821779 - Move migrationWizard.ftl out from locales-preview into the locales folder. r=flod,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D174482
2023-04-03 17:25:18 +00:00
Mike Conley
180bc050d1 Bug 1801981 - Use the word "favorites" instead of "bookmarks" when importing from IE / Edge. r=niklas,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D173567
2023-03-29 17:58:22 +00:00
elephanteatsapple
c9dad3388d Bug 1822312 - Send brand images from each browser migrator class down to the Migration Wizard, and set the images in the panel-list / selector button. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D173537
2023-03-29 03:43:37 +00:00
Mike Conley
9e0af92a95 Bug 1825009 - Make sure that Select All only checks resources that are visible. r=kpatenio
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
2023-03-28 19:26:26 +00:00
Mike Conley
3a9a221da4 Bug 1822676 - Have the new Migration Wizard request permissions if necessary for Safari import. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D172840
2023-03-27 20:08:54 +00:00
Cosmin Sabou
257756f09e Backed out changeset fe5dd9d4dcbb (bug 1822676) for causing macOS shippable bc failures on browser_safari_permissions.js. 2023-03-27 21:21:39 +03:00
Mike Conley
46215877ca Bug 1822676 - Have the new Migration Wizard request permissions if necessary for Safari import. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D172840
2023-03-27 16:51:12 +00:00
Iulian Moraru
263c62f558 Backed out changeset 518a61189274 (bug 1822676) for causing doc-generate failures. CLOSED TREE 2023-03-27 19:12:29 +03:00
Mike Conley
da7fb10746 Bug 1822676 - Have the new Migration Wizard request permissions if necessary for Safari import. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D172840
2023-03-27 14:48:39 +00:00
Mike Conley
d4fd8ed785 Bug 1823965 - Update success strings for HISTORY and FORMDATA resource imports in the new migration wizard. r=niklas,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D173319
2023-03-23 20:42:20 +00:00