Have BackupService.createBackup use nsIZipWriter to zip up the contents of the staging folder
Categories
(Firefox :: Profile Backup, task, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox128 | --- | fixed |
People
(Reporter: mconley, Assigned: mconley)
References
Details
(Whiteboard: [fidefe-device-migration])
Attachments
(1 file)
After the staging folder has been populated, we should write its contents to a ZIP file at maximum compression. We can place this ZIP file either within the staging folder (it will only be there temporarily).
Updated•2 years ago
|
| Assignee | ||
Comment 1•2 years ago
|
||
Because there may be several ways that the BackupService might emit the output from a backup (and they might not be mutually exclusive!), what I recommend is that we try to decouple this action from the BackupService a bit.
We should perhaps have a BackupArchive abstract class that has a single write method, which takes a single stagingPath string parameter and returns a Promise when the archiving activity has been completed.
Similar to BackupResource, we can then iterate through every BackupArchive that's been registered and call write on each, passing in the staging path.
We can then have a SingleFileBackupArchive subclass of BackupArchive, which will do the work of writing the ZIP file.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 2•2 years ago
|
||
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.
Updated•2 years ago
|
Comment 4•2 years ago
|
||
Backed out for causing marionette failures in PathUtils.cpp
- Backout link
- Push with failures
- Failure Log
- Failure line: Assertion failure: !aPath.Contains(u'/') (Windows paths cannot include forward slashes), at /builds/worker/checkouts/gecko/dom/system/PathUtils.cpp:341
PROCESS-CRASH | MOZ_RELEASE_ASSERT(!aPath.Contains(u'/')) (Windows paths cannot include forward slashes) [@ mozilla::dom::PathUtils::SplitRelative] | browser/components/backup/tests/marionette/test_backup.py BackupTest.test_backup
| Assignee | ||
Updated•2 years ago
|
Comment 6•2 years ago
|
||
| bugherder | ||
Description
•