Bug 1822676 - Have the new Migration Wizard request permissions if necessary for Safari import. r=NeilDeakin

Differential Revision: https://phabricator.services.mozilla.com/D172840
This commit is contained in:
Mike Conley
2023-03-27 16:51:12 +00:00
parent 256fa812cb
commit bd4fe113d7
7 changed files with 294 additions and 15 deletions

View File

@@ -77,6 +77,19 @@ export class MigrationWizardParent extends JSWindowActorParent {
message.data.resourceTypes,
message.data.profile
);
break;
}
case "CheckPermissions": {
let migrator = await MigrationUtils.getMigrator(message.data.key);
return migrator.hasPermissions();
}
case "RequestSafariPermissions": {
let safariMigrator = await MigrationUtils.getMigrator("safari");
return safariMigrator.getPermissions(
this.browsingContext.topChromeWindow
);
}
}
@@ -237,8 +250,11 @@ export class MigrationWizardParent extends JSWindowActorParent {
* @returns {Promise<MigratorProfileInstance>}
*/
async #serializeMigratorAndProfile(migrator, profileObj) {
let profileMigrationData = await migrator.getMigrateData(profileObj);
let lastModifiedDate = await migrator.getLastUsedDate();
let [profileMigrationData, lastModifiedDate] = await Promise.all([
migrator.getMigrateData(profileObj),
migrator.getLastUsedDate(),
]);
let availableResourceTypes = [];
for (let resourceType in MigrationUtils.resourceTypes) {