Commit graph

63 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
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
aa0d48facf Bug 1840389 - Make sure to pass migrator key to GetExtensionsResource in ChromeProfileMigrator. r=kpatenio
Tests for this to be written in bug 1840393.

Differential Revision: https://phabricator.services.mozilla.com/D182018
2023-06-27 16:45:59 +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
Tim Giles
5f1e2be590 Bug 1836773 - Disable importing extensions in the migration wizard by default. r=mconley
Depends on D180876

Differential Revision: https://phabricator.services.mozilla.com/D181298
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
Mark Banner
6725448902 Bug 1834176 - Convert consumers of NetUtil.jsm to import the ES module directly. r=arai,webdriver-reviewers,perftest-reviewers,valentin,extension-reviewers,devtools-reviewers,sync-reviewers,cookie-reviewers,robwu,afinder,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D178589
2023-06-07 08:42:36 +00:00
Mike Conley
390be27ed2 Bug 1835116 - Make it possible to disable payment method import from Chrome via a pref. r=niklas
Differential Revision: https://phabricator.services.mozilla.com/D179122
2023-05-25 20:16:04 +00:00
Mike Conley
794e55d2a7 Bug 1832784 - Batch add operations during form history migration. r=sgalich
Differential Revision: https://phabricator.services.mozilla.com/D178797
2023-05-25 15:25:03 +00:00
Natalia Csoregi
e87ecf485e Backed out 3 changesets (bug 1834222, bug 1834176) for causing RemoteProcessMonitor failures. CLOSED TREE
Backed out changeset 346d3a1568dd (bug 1834222)
Backed out changeset ea1d8b634bfc (bug 1834176)
Backed out changeset 74d1880272d3 (bug 1834176)
2023-05-24 04:29:45 +03:00
Mark Banner
fbc15bdb60 Bug 1834176 - Convert NetUtil.jsm to be an ES system module. r=arai,webdriver-reviewers,perftest-reviewers,valentin,extension-reviewers,devtools-reviewers,sync-reviewers,cookie-reviewers,robwu,afinder,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D178589
2023-05-23 19:09:29 +00:00
Noemi Erli
aa2f146d78 Backed out 2 changesets (bug 1834176) for causing xpc failures in test_unload.js CLOSED TREE
Backed out changeset 57876d77a652 (bug 1834176)
Backed out changeset ae2f0837b528 (bug 1834176)
2023-05-23 12:14:37 +03:00
Mark Banner
e3e9a991b8 Bug 1834176 - Convert NetUtil.jsm to be an ES system module. r=arai,webdriver-reviewers,perftest-reviewers,valentin,extension-reviewers,devtools-reviewers,sync-reviewers,cookie-reviewers,robwu,afinder,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D178589
2023-05-23 08:13:08 +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
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
steven wang
244b961f60 Bug 1827425 - Import form autofill entries from Chrome-based browsers. r=mconley.
Differential Revision: https://phabricator.services.mozilla.com/D175588
2023-05-02 00:41:10 +00:00
elephanteatsapple
723e10f0b1 Bug 1822314 - Fix NS_ERROR_FILE_UNRECOGNIZED_PATH errors when opening the migration wizard.r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D175020
2023-04-10 16:57:31 +00:00
Angel_V129
cf4248bb7d Bug 1819423 - Add support for importing synced bookmarks for Chrome-based browsers. r=kpatenio.
Differential Revision: https://phabricator.services.mozilla.com/D173391
2023-04-05 15:34:01 +00:00
elephanteatsapple
e8a251306a Bug 1825110 - Add branding asset for Brave migrator. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D173879
2023-03-28 20:35:31 +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
Angel_V129
8ec67adcce Bug 1814941 - Chrome - Don't list resources for import when those resources won't actually bring things over. r=kpatenio.
Differential Revision: https://phabricator.services.mozilla.com/D169034
2023-03-16 14:07:52 +00:00
BryanMacoy
3e617ad302 Bug 711995 - Favicons should be imported from Chrome. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D162361
2023-03-13 16:54:58 +00:00
steven wang
5ac03ecad1 Bug 1815543 - Sort the migrators in the new migration wizard in MRU order descending. r=mconley.
Differential Revision: https://phabricator.services.mozilla.com/D172231
2023-03-13 16:19:18 +00:00
achris16
0c38f22e41 Bug 1467094 - Import from Chromium Snap Profile r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D169497
2023-02-22 15:49:00 +00:00
elephanteatsapple
453f875d73 Bug 1809352- Include branding assets for each browser that can be imported from. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D170016
2023-02-17 03:18:06 +00:00
Norisz Fay
17babe8929 Backed out changeset 7d45f0ddbd8b (bug 1809352) for causing mochitest failures on browser_all_files_referenced.js CLOSED TREE 2023-02-16 21:58:52 +02:00
elephanteatsapple
b5b9a415a5 Bug 1809352- Include branding assets for each browser that can be imported from. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D170016
2023-02-16 18:53:48 +00:00
steven wang
e123a605f4 Bug 1801051 - Remove cookies migration (except for FirefoxProfileMigrator). r=mconley.
Differential Revision: https://phabricator.services.mozilla.com/D168348
2023-02-07 20:11:42 +00:00
Mike Conley
828431224a Bug 1811935 - Adjust visibility of the resource types available for each migrator / profile pair in the new migration wizard. r=Gijs
This causes the MigrationWizardChild to request the full collection of available
migrators and user profiles, and then based on which resourceTypes those migrators
and user profiles have available, changes the visibility of the checkboxes in the
selection page of the new MigrationWizard component.

Differential Revision: https://phabricator.services.mozilla.com/D167617
2023-01-25 12:53:31 +00:00
Marian-Vasile Laza
188fed440d Backed out changeset 97ee58e6c65d (bug 1811935) for causing bc failures on browser_dialog_cancel_close.js. CLOSED TREE 2023-01-25 04:06:11 +02:00
Mike Conley
ed79566bd6 Bug 1811935 - Adjust visibility of the resource types available for each migrator / profile pair in the new migration wizard. r=Gijs
This causes the MigrationWizardChild to request the full collection of available
migrators and user profiles, and then based on which resourceTypes those migrators
and user profiles have available, changes the visibility of the checkboxes in the
selection page of the new MigrationWizard component.

Differential Revision: https://phabricator.services.mozilla.com/D167617
2023-01-24 21:15:03 +00:00
Mark Banner
a94fe03b9d Bug 1811334 - Automatically replace Cu.reportError with console.error (most of browser/components). r=settings-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D167297
2023-01-20 17:49:21 +00:00
Mike Conley
c4b2ec5a4d Bug 1800733 - Fix macOS keychain values for Opera and Opera GX migrators. r=Gijs
It turns out we just had these two values wrong. Using the Keychain Access utility
on macOS, I was able to find the right values for both browsers and then do a
successfull password import from each.

Notably, both Opera and Opera GX share the same Keychain service and account
name despite being two separate products.

Differential Revision: https://phabricator.services.mozilla.com/D165180
2022-12-20 19:26:33 +00:00
Mike Conley
187e447724 Bug 718280 - Part 2: Move registration of migrators into MigrationUtils instead of components.conf. r=NeilDeakin
Depends on D164138

Differential Revision: https://phabricator.services.mozilla.com/D164139
2022-12-13 17:01:24 +00:00
Sandor Molnar
70c13f22bb Backed out 9 changesets (bug 1800917, bug 718280) for causing xpc failures in browser/components/migration/tests/unit/test_Edge_db_migration.js CLOSED TREE
Backed out changeset d55b95d9d14f (bug 1800917)
Backed out changeset 8427f1e65df4 (bug 1800917)
Backed out changeset 2d0f77d324f2 (bug 718280)
Backed out changeset eba58fd1ed1c (bug 718280)
Backed out changeset 33027a0f9ce9 (bug 718280)
Backed out changeset 237be1f62d01 (bug 718280)
Backed out changeset 007afe158ae5 (bug 718280)
Backed out changeset f1dea7abdfb7 (bug 718280)
Backed out changeset 47e2cccd33c7 (bug 718280)
2022-12-13 00:50:16 +02:00
Mike Conley
25d5dbe3b1 Bug 718280 - Part 2: Move registration of migrators into MigrationUtils instead of components.conf. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D164139
2022-12-12 16:04:03 +00:00
Mike Conley
ade405818a Bug 1802961 - Convert MigratorPrototype into an ES6 class and move into its own ESM as MigratorBase to be subclassed. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D163257
2022-12-06 17:50:39 +00:00
Mike Conley
026d72dfc9 Bug 1802358 - Enable require-jsdoc / valid-jsdoc for browser/components/migration. r=kpatenio
This doesn't do a thorough job of actually documenting things, it just makes sure that
the existing documentation abides by the JSDoc formatting rules. I did flesh out some
documentation here and there, but writing new / updating / clarifying documentation is
left as later work.

Differential Revision: https://phabricator.services.mozilla.com/D163133
2022-12-06 17:50:38 +00:00
Butkovits Atila
be54bd233f Backed out 7 changesets (bug 1802358, bug 1801314, bug 1802961) for causing documentation failures.
Backed out changeset bb0f5e137128 (bug 1802961)
Backed out changeset 4c2a66bfe913 (bug 1802961)
Backed out changeset baaa090cada1 (bug 1802961)
Backed out changeset d98ee38a13bb (bug 1802961)
Backed out changeset 618dcf6d8284 (bug 1802961)
Backed out changeset 59d98ca9fd51 (bug 1802358)
Backed out changeset bce1ea9149bd (bug 1801314)
2022-12-06 18:21:11 +02:00
Mike Conley
e4dfc42d84 Bug 1802961 - Convert MigratorPrototype into an ES6 class and move into its own ESM as MigratorBase to be subclassed. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D163257
2022-12-06 14:46:42 +00:00