Commit Graph

182 Commits

Author SHA1 Message Date
Cristian Tuns
0e662993fc Backed out changeset 6e2699724abd (bug 1892249) for causing marionette failures in PathUtils.cpp CLOSED TREE 2024-05-14 19:15:53 -04:00
Mike Conley
8ce7979a4e Bug 1892249 - Use nsIZipWriter to compress the staging folder. r=backup-reviewers,fchasen
This is an intermediary stage before the compressed archive gets (optionally)
encrypted and written into the container file. This is why there's not a whole
lot of testing for the compressed file - those tests will get added once it
completes its journey into the container file so that we can test both
extraction and decompression at the same time.

Differential Revision: https://phabricator.services.mozilla.com/D210311
2024-05-14 21:25:45 +00:00
Mike Conley
5b979dc884 Bug 1893269 - Build out basic infrastructure for backup management UI. r=backup-reviewers,settings-reviewers,firefox-desktop-core-reviewers ,Gijs,fluent-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209161
2024-05-09 21:34:35 +00:00
Mike Conley
f680db2687 Bug 1892959 - Stub out initial section for backup management within about:preferences. r=backup-reviewers,fluent-reviewers,settings-reviewers,desktop-theme-reviewers,flod,Gijs,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209055
2024-05-08 20:37:04 +00:00
Sandor Molnar
da02f8de36 Backed out changeset 5d2a72296044 (bug 1892959) for causing bc failures @ browser/components/preferences/tests/browser_bug731866.js CLOSED TREE 2024-05-08 19:44:06 +03:00
Mike Conley
773e48c40f Bug 1892959 - Stub out initial section for backup management within about:preferences. r=backup-reviewers,fluent-reviewers,settings-reviewers,desktop-theme-reviewers,flod,Gijs,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209055
2024-05-08 15:21:37 +00:00
Mike Conley
e38e0ec8c6 Bug 1892771 - Clone the legacy client ID from the profile that initiated backup recovery. r=backup-reviewers,kpatenio
Data science wants us to copy the client IDs from whichever profile initiated recovery.
For legacy telemetry, the client ID is stored in a datareporting/state.json file.

This patch ensures that the client ID exists in the state.json file in the profile
that initiated recovery before then copying it over into the destination profile
for recovery.

This patch also updates the Marionette test to use a separate user profile to
initiate recovery from to ensure we get a unique client ID for it, compared to
the profile that the backup was created for.

Differential Revision: https://phabricator.services.mozilla.com/D209555
2024-05-07 13:10:28 +00:00
Mike Conley
4fb8b4713f Bug 1892479 - Add the legacy telemetry client ID to the backup manifest meta object. r=backup-reviewers,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D209461
2024-05-07 13:10:28 +00:00
Mike Conley
0adb271bf9 Bug 1892312 - Copy times.json from profile that initiated recovery and record recovery time. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209028
2024-05-06 16:47:00 +00:00
Mike Conley
afeeb05292 Bug 1892312 - Stop backing up times.json in MiscDataBackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209026
2024-05-06 16:46:59 +00:00
Stanca Serban
77cc188b7a Backed out 4 changesets (bug 1892312) for causing linting opt failures.
Backed out changeset a471d91079ae (bug 1892312)
Backed out changeset 3c4d8db39a35 (bug 1892312)
Backed out changeset 197faa33654c (bug 1892312)
Backed out changeset 8510a0207087 (bug 1892312)
2024-05-06 19:17:04 +03:00
Mike Conley
4792f8ea5d Bug 1892312 - Copy times.json from profile that initiated recovery and record recovery time. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209028
2024-05-06 15:18:40 +00:00
Mike Conley
f0682248ea Bug 1892312 - Stop backing up times.json in MiscDataBackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209026
2024-05-06 15:18:39 +00:00
Nikki Sharpley
b43107b445 Bug 1885894 - Remove sidebar persistence from XULStore r=sessionstore-reviewers,backup-reviewers,sidebar-reviewers,Gijs,mconley,sfoster,sclements
Since we are moving away from XUL for the revamped sidebar, remove persistence off of XULstore.
For now, this involves moving persistence of "sidebar-command" and "positionend" to SessionStore.

A follow up bug 1892033 for moving the style attribute to SessionStore has been filed. This is slightly more involved,
hence the separate patch.

Differential Revision: https://phabricator.services.mozilla.com/D207048
2024-05-06 15:11:20 +00:00
kpatenio
1ed5674500 Bug 1888448 - Implement recover for SessionStoreBackupResource. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D209319
2024-05-03 21:05:55 +00:00
Fred Chasen
de6192b5bb Bug 1890297 - Implement recover for AddonsBackupResource. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D209174
2024-05-03 16:43:53 +00:00
Mike Conley
6316b6c912 Bug 1894301 - Avoid schema violation before writing backup manifest when not signed into an account. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D209040
2024-05-01 19:01:56 +00:00
Mike Conley
182eeceb22 Bug 1892105 - Flesh out test_backup.py with some data to backup and recover. r=backup-reviewers,kpatenio
This patch updates test_backup.py to write some testing data into various data stores
that BackupService is backing up, create a backup, recover from that backup, and check
to see if the written data exists in the recovered profile.

This isn't exactly exhaustive - there are a number of data stores that aren't accounted
for here yet. Chiefly AddonsBackupResource and SessionStoreBackupResource (bug 1894004),
but also:

1. FxA sign-in status
2. Logins backups
3. Site Security Service State
4. ProfileAge data
5. WebRTC device ID mappings
6. Favicons
7. XUL Store data
8. Content preferences
9. Containers preferences
10. File handler preferences
11. Search preferences
12. user.js and chrome/ customizations

Still, this is a start, and certainly better than nothing. Bug 1894089 has been filed
to add more data to test the listed 12 items.

Differential Revision: https://phabricator.services.mozilla.com/D208939
2024-05-01 14:54:35 +00:00
Mike Conley
0616eead57 Bug 1892105 - Add a postRecoveryComplete Promise getter to BackupService. r=backup-reviewers,kpatenio
This Promise is mainly for use by Marionette tests to know when to check
data stores that might have been updated by postRecovery steps.

Differential Revision: https://phabricator.services.mozilla.com/D208938
2024-05-01 14:54:35 +00:00
Mike Conley
47cb2e4b60 Bug 1888440 - Implement recover for CookiesBackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208894
2024-04-29 18:56:28 +00:00
kpatenio
1ddd494dbd Bug 1888446 - implement recover for PlacesBackupResource. r=backup-reviewers,places-reviewers,mconley,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D208565
2024-04-29 17:17:02 +00:00
kpatenio
b3f402d410 Bug 1888442 - import recover for CredentialsAndSecurityBackupResource. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D208806
2024-04-29 17:12:54 +00:00
Mike Conley
d4cc583b01 Bug 1893362 - Workaround sphinx-js being unhappy with static async private methods. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208625
2024-04-25 17:15:29 +00:00
Mike Conley
8f084a79be Bug 1888444 - Implement recover for FormHistoryBackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208554
2024-04-25 16:59:09 +00:00
Mike Conley
0d6c591655 Bug 1888445 - Implement recover and postRecovery for MiscDataBackupResource. r=backup-reviewers,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D208372
2024-04-25 13:07:10 +00:00
Mike Conley
91508d72d5 Bug 1892335 - Have BackupService.init scan for and process a post-recovery.json file if it finds one. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208203
2024-04-25 13:07:10 +00:00
Mike Conley
0f19114d70 Bug 1892304 - Add the FxA uid and email to the backup manifest if signed in when creating a backup. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208191
2024-04-25 13:07:09 +00:00
Mike Conley
e240968ed7 Bug 1888447 - Implement recover for the PreferencesBackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208162
2024-04-24 18:02:49 +00:00
Mike Conley
ddd2dee114 Bug 1890574 - Add a simple utility to initiate backup recovery in the debug tool. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D208157
2024-04-24 18:02:49 +00:00
Mike Conley
5387ad0f82 Bug 1891596 - Add initial recoverFromBackup method to BackupService. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207929
2024-04-24 18:02:48 +00:00
Mike Conley
213b3dbbef Bug 1888436 - Add recover and postRecovery methods to BackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207928
2024-04-23 02:54:49 +00:00
Mike Conley
782c9958bd Bug 1886614 - Write a marionette test for the BackupService.createBackup method. r=backup-reviewers,kpatenio
This test can be run via:

./mach marionette-test browser/components/backup/test/marionette/test_backup.py

This also makes it so that BackupResource.copySqliteDatabases does not throw if
one of the passed in database files doesn't exist - it'll just ignore it and
move on. This required me to update some tests in order to create some fake
SQLite databases to ensure that the fake Sqlite connection was made and the
backup stub was called for the SQLite databases being copied.

Finally, this also fixes something I noticed - some of our BackupResource's
weren't returning null or objects as their ManifestEntry. This fixes that
and adds tests to cover that case.

Differential Revision: https://phabricator.services.mozilla.com/D207811
2024-04-23 02:54:49 +00:00
Fred Chasen
14509a1366 Bug 1892007 - Add optional priority number to BackupResource. r=backup-reviewers,mconley
- Adds a static `priority` getter in BackupResource base class, which defaults to 0.
- Determine the order resources will be backed up sorted on that priority in `createBackup`, defaulting to unordered.
- Sets `PlacesBackupResource` position 1 so it will run first.

Differential Revision: https://phabricator.services.mozilla.com/D207934
2024-04-22 23:15:07 +00:00
kpatenio
e032a08a0f Bug 1886613 - Rename staging folder once backup is done. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D207821
2024-04-22 16:40:23 +00:00
kpatenio
0d88c5f2a8 Bug 1892138 - reduce failures for test_SessionStoreBackupResource. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D207888
2024-04-18 18:16:41 +00:00
Mike Conley
df2ca1d62c Bug 1891141 - Create preferences for the pages per step and step delay used by BackupResources. r=backup-reviewers,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D207568
2024-04-17 20:50:48 +00:00
kpatenio
a6f22c8b9f Bug 1885941 - implement backup method for cookies, form history and sessions BackupResources. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D207495
2024-04-17 20:43:38 +00:00
Mike Conley
d0181dedba Bug 1887752 - Write a backup-manifest.json inside of the staging folder when creating a backup. r=backup-reviewers,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D207312
2024-04-17 18:48:04 +00:00
Natalia Csoregi
f623c63813 Backed out changeset 1d9301697aa0 (bug 1887752) for causing failures on browser_all_files_referenced.js CLOSED TREE 2024-04-17 20:29:32 +03:00
Mike Conley
561bda7b79 Bug 1887752 - Write a backup-manifest.json inside of the staging folder when creating a backup. r=backup-reviewers,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D207312
2024-04-17 15:17:40 +00:00
Fred Chasen
607439a7a7 Bug 1885614 - Implement backup method for AddonsBackupResource. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D207491
2024-04-16 19:27:25 +00:00
Mike Conley
7962b5b730 Bug 1890585 - Have MiscDataBackupResource backup the ActivityStreamStorage snippets table. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207460
2024-04-16 19:18:33 +00:00
Mike Conley
b70a8c48c2 Bug 1891124 - Allow the backup debug tool to show a notification showing how long creation time took. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207316
2024-04-15 20:39:05 +00:00
kpatenio
45734a7202 Bug 1885929 - Implement backup method for CredentialsAndSecurityBackupResource. r=backup-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D207286
2024-04-15 20:18:40 +00:00
Mike Conley
79d94225c6 Bug 1890591 - Add some utilities to BackupResource for copying files and Sqlite databases. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207155
2024-04-15 14:47:20 +00:00
kpatenio
18eff163a1 Bug 1885609 - implement backup method for PlacesBackupResource. r=backup-reviewers,places-reviewers,mak,mconley
Implements `PlacesBackupResource.backup` to store a copy of `places.sqlite` and `favicons.sqlite` in the staging folder.

If users don't want history remembered or use permanent private browsing mode, we will backup bookmarks instead to a file called `bookmarks.json`. Automatic backup is not yet implemented, so to test changes locally, go to `chrome://browser/content/backup/debug.html` to view where we store the staging folder and to manually run the backup methods for all available backup resources.

Backup files for `PlacesBackupResource` should be under the `places` subfolder in the staging folder.

Differential Revision: https://phabricator.services.mozilla.com/D206532
2024-04-10 21:21:17 +00:00
Mike Conley
19ee6676d2 Bug 1885944 - Implement backup method for MiscDataBackupResource. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207057
2024-04-10 13:36:58 +00:00
Mike Conley
346cdfd25a Bug 1890644 - Make it clear that backup method on a BackupResource can return null. r=backup-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D207071
2024-04-09 20:02:34 +00:00
Mike Conley
95d89beff6 Bug 1890294 - Add a requiresEncryption static getter on BackupResource for subclasses to override. r=backup-reviewers,places-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D206910
2024-04-09 15:15:34 +00:00
Mark Banner
6699dcb7f8 Bug 1799465 - Enable require-jsdoc rules by default, disabling on code where there are existing failures. r=frontend-codestyle-reviewers,migration-reviewers,backup-reviewers,mossop,mconley
Differential Revision: https://phabricator.services.mozilla.com/D206878
2024-04-08 13:34:13 +00:00