Commit graph

85 commits

Author SHA1 Message Date
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
Masatoshi Kimura
bcd7d268c4 Bug 1856104 - Remove useless version checks from JavaScript code. r=Gijs,webcompat-reviewers,settings-reviewers,search-reviewers,Standard8,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D189696
2023-10-02 19:00:07 +00:00
Noemi Erli
26e0b0be0a Backed out 3 changesets (bug 1856187, bug 1856100, bug 1856104) for causing newtab failures
Backed out changeset db28784a1734 (bug 1856187)
Backed out changeset bd11e14dca63 (bug 1856104)
Backed out changeset 2741311b6055 (bug 1856100)
2023-10-02 21:16:25 +03:00
Masatoshi Kimura
7ad48d61dd Bug 1856104 - Remove useless version checks from JavaScript code. r=Gijs,webcompat-reviewers,settings-reviewers,search-reviewers,Standard8,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D189696
2023-10-02 17:36:27 +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
Kelly Cochrane
f23df33f05 Bug 1826604 - Add History empty states and banner in about:firefoxview-next r=mkaply,fxview-reviewers,sclements,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D183197
2023-07-18 13:42:11 +00:00
Mike Conley
a963836ce1 Bug 1840792 - Be more resilient and timely when dealing with database corruption during Chrome browser import. r=kpatenio
This patch does two things:

1. It makes it so that a corrupt database doesn't result in several retries to
   requery the database, as it's extremely unlikely that a corrupt database is
   going to somehow get repaired in the interim.
2. It makes it so that if any Chrome-based browser resource fails to be acquired
   properly, it still allows other resources from the same (and other!) profiles
   to be imported.

Differential Revision: https://phabricator.services.mozilla.com/D182737
2023-07-04 20:43:09 +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
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
negin
90e34bbcb9 Bug 1837051 - Add Embedded Migration Wizard support for spotlight dialog r=omc-reviewers,pdahiya,mconley
Differential Revision: https://phabricator.services.mozilla.com/D180713
2023-06-23 19:23:51 +00:00
William Durand
c8e1ee2af1 Bug 1839830 - Integrate AMBrowserExtensionsImport with the migration wizard UI. r=mconley,mixedpuppy
Depends on D181465

Differential Revision: https://phabricator.services.mozilla.com/D181747
2023-06-23 12:25:55 +00:00
Mike Conley
1d8d8746e8 Bug 1839462 - Add keyed histogram to record the number of matched extensions during migration. data-review=jhirsch, r=tgiles
Depends on D181566

Differential Revision: https://phabricator.services.mozilla.com/D181567
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
ef9b97ed76 Bug 1839462 - Add keyed histogram to record the number of matched extensions during migration. data-review=jhirsch, r=tgiles
Depends on D181566

Differential Revision: https://phabricator.services.mozilla.com/D181567
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
Tim Giles
f9b8bafd25 Bug 1836555 - Add new 'extensions' migration resource type. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D180005
2023-06-21 20:24:56 +00:00
Mike Conley
63642749a7 Bug 1838507 - Default the about:welcome migration behaviour to the legacy XUL dialog. r=Mardak
This adds a new behaviour that opens the legacy migration wizard from about:welcome,
and sets the pref to default to that behaviour.

This also adds the behaviour to the FeatureManifest.yaml file so that it can be
instrumented remotely via Nimbus.

Differential Revision: https://phabricator.services.mozilla.com/D181105
2023-06-15 16:33:43 +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
91f5fd48f8 Bug 1833427 - Add bookmark import from HTML file in new migration wizard. r=fluent-reviewers,kpatenio,flod
Original patch by Tim Giles <tgiles@mozilla.com>, completed by Mike Conley <mconley@mozilla.com>.

Differential Revision: https://phabricator.services.mozilla.com/D179273
2023-05-30 13:37:54 +00:00
Mark Banner
8b4f426ecf Bug 1834204 - Update more consumers to import ES modules directly. r=kpatenio,geckoview-reviewers,whimboo,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D178590
2023-05-26 11:36:33 +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
Marco Bonardo
6d23aad6ea Bug 1818461 - Remove the synchronous PlacesUtils.getChildCountForFolder().r=daisuke,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D175532
2023-05-19 12:17:17 +00:00
Zach Harris
8b433920dc Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r=mconley,fluent-reviewers,flod
This tries to retrieve the credit card data from Chrome-based browsers using
SQLite queries and then inserts them into the Firefox database.

Differential Revision: https://phabricator.services.mozilla.com/D168434
2023-05-16 19:12:21 +00:00
Norisz Fay
37c6686b83 Backed out changeset b18e7995e7cd (bug 1393332) for causing xpcshell failures on test_Chrome_credit_cards.js CLOSED TREE 2023-05-12 22:28:07 +03:00
Zach Harris
599ccd4b12 Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r=mconley,fluent-reviewers,flod
This tries to retrieve the credit card data from Chrome-based browsers using
SQLite queries and then inserts them into the Firefox database.

Differential Revision: https://phabricator.services.mozilla.com/D168434
2023-05-12 13:44:04 +00:00
Cosmin Sabou
2258e7d928 Backed out changeset f7f2b8abcf6c (bug 1393332) for causing xpcshell failures on test_Chrome_formdata.js. CLOSED TREE 2023-05-12 04:33:55 +03:00
Zach Harris
2a855f845f Bug 1393332 - Add infrastructure for importing payment methods from Chrome-based browsers r=mconley,fluent-reviewers,flod
This tries to retrieve the credit card and autofill data from
Chrome using SQLite queries and then insert them into the Firefox
database.

Differential Revision: https://phabricator.services.mozilla.com/D168434
2023-05-11 20:29:08 +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
Ebilite Uchenna
8c931cb313 Bug 1824611 - Convert consumers of toolkit/components/passwordmgr to import ES modules directly. r=Standard8,credential-management-reviewers,settings-reviewers,fxview-reviewers,sclements,sgalich,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D174446
2023-04-11 19:06:24 +00:00
Mike Conley
96eca252ac Bug 1825854 - Add a preference to control the behavior of the migration wizard when opened from about:welcome. r=settings-reviewers,mstriemer
This is controlled by the migrationWizard.aboutWelcomeBehavior Nimbus feature variable.

Differential Revision: https://phabricator.services.mozilla.com/D174326
2023-04-05 21:40:46 +00:00
Mike Conley
90a1df9a44 Bug 1823536 - Use the legacy migration wizard dialog for showing startup migration state after a profile refresh. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D173084
2023-03-21 15:29:01 +00:00
Mike Conley
822b5881c3 Bug 1820790 - Generalize the 180 day history import limit, and apply it to IE and Edge (EdgeHTML) migrators. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D172718
2023-03-21 15:18:34 +00:00
Mike Conley
8fd5009126 Bug 1822692 - Introduce a categorical histogram for recording the Migration Wizard entrypoint. data-review=jhirsch, r=Gijs
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
2023-03-20 19:45:34 +00:00
Mike Conley
610167bc5a Bug 1820655 - Add a new section to about:preferences to launch the migration wizard. r=jhirsch,fluent-reviewers,flod DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D172324
2023-03-15 00:35:16 +00:00
Butkovits Atila
91f502bbd2 Backed out changeset 5c4677b1ea47 (bug 1820655) for causing failures at browser_open_migration_wizard.js. CLOSED TREE 2023-03-14 05:20:08 +02:00
Mike Conley
f1d3ef9dd0 Bug 1820655 - Add a new section to about:preferences to launch the migration wizard. r=jhirsch,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D172324
2023-03-14 01:59:01 +00:00
Butkovits Atila
640d009e7b Backed out changeset 21ac89d8a165 (bug 1820655) for causing Gecko Decision failure. CLOSED TREE 2023-03-14 03:20:05 +02:00
Mike Conley
3eb16d3b85 Bug 1820655 - Add a new section to about:preferences to launch the migration wizard. r=jhirsch,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D172324
2023-03-14 01:06:42 +00:00
Mike Conley
f0d2a795f1 Bug 1814912 - Use an HTML5 dialog instead of gSubDialog for the new migration wizard in about:preferences. r=Gijs,settings-reviewers
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
2023-02-07 14:25:47 +00:00