diff --git a/application/basilisk/components/migration/BrowserProfileMigrators.manifest b/application/basilisk/components/migration/BrowserProfileMigrators.manifest
index e16fba13a4..3f6ba231b2 100644
--- a/application/basilisk/components/migration/BrowserProfileMigrators.manifest
+++ b/application/basilisk/components/migration/BrowserProfileMigrators.manifest
@@ -9,6 +9,10 @@ component {4cec1de4-1671-4fc3-a53e-6c539dc77a26} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chrome {4cec1de4-1671-4fc3-a53e-6c539dc77a26}
component {8cece922-9720-42de-b7db-7cef88cb07ca} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chromium {8cece922-9720-42de-b7db-7cef88cb07ca}
+#if defined(XP_WIN)
+component {a3380b9d-ef2f-4a5f-84d9-df2e8a90b06d} ChromeProfileMigrator.js
+contract @mozilla.org/profile/migrator;1?app=browser&type=chromiumedge {a3380b9d-ef2f-4a5f-84d9-df2e8a90b06d}
+#endif
component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
diff --git a/application/basilisk/components/migration/ChromeProfileMigrator.js b/application/basilisk/components/migration/ChromeProfileMigrator.js
index f78687ebfb..67a6935e44 100644
--- a/application/basilisk/components/migration/ChromeProfileMigrator.js
+++ b/application/basilisk/components/migration/ChromeProfileMigrator.js
@@ -537,6 +537,25 @@ ChromiumProfileMigrator.prototype.classID = Components.ID("{8cece922-9720-42de-b
var componentsArray = [ChromeProfileMigrator, ChromiumProfileMigrator];
+/**
+ * Chromium Edge migration
+ **/
+function ChromiumEdgeProfileMigrator() {
+ let edgeUserDataFolder = getDataFolder(["Microsoft", "Edge"],
+ ["Microsoft Edge"],
+ ["microsoft-edge"]);
+ this._chromeUserDataFolder = edgeUserDataFolder.exists() ? edgeUserDataFolder : null;
+}
+
+ChromiumEdgeProfileMigrator.prototype = Object.create(ChromeProfileMigrator.prototype);
+ChromiumEdgeProfileMigrator.prototype.classDescription = "Chromium Edge Profile Migrator";
+ChromiumEdgeProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=chromiumedge";
+ChromiumEdgeProfileMigrator.prototype.classID = Components.ID("{a3380b9d-ef2f-4a5f-84d9-df2e8a90b06d}");
+
+if (AppConstants.platform == "win") {
+ componentsArray.push(ChromiumEdgeProfileMigrator);
+}
+
/**
* Chrome Canary
* Not available on Linux
diff --git a/application/basilisk/components/migration/MigrationUtils.jsm b/application/basilisk/components/migration/MigrationUtils.jsm
index 2bb7787731..f3246685ad 100644
--- a/application/basilisk/components/migration/MigrationUtils.jsm
+++ b/application/basilisk/components/migration/MigrationUtils.jsm
@@ -46,7 +46,7 @@ let gUndoData = null;
XPCOMUtils.defineLazyGetter(this, "gAvailableMigratorKeys", function() {
if (AppConstants.platform == "win") {
return [
- "firefox", "edge", "ie", "chrome", "chromium", "360se",
+ "firefox", "edge", "chromiumedge", "ie", "chrome", "chromium", "360se",
"canary"
];
}
@@ -517,6 +517,8 @@ this.MigrationUtils = Object.freeze({
switch (browserId) {
case "edge":
return "sourceNameEdge";
+ case "chromiumedge":
+ return "sourceNameChromiumEdge";
case "ie":
return "sourceNameIE";
case "safari":
@@ -1066,6 +1068,7 @@ this.MigrationUtils = Object.freeze({
"nothing": 1,
"firefox": 2,
"edge": 3,
+ "chromiumedge": 10,
"ie": 4,
"chrome": 5,
"chromium": 6,
diff --git a/application/basilisk/components/migration/content/migration.xul b/application/basilisk/components/migration/content/migration.xul
index 62c97c107c..62b946447c 100644
--- a/application/basilisk/components/migration/content/migration.xul
+++ b/application/basilisk/components/migration/content/migration.xul
@@ -34,6 +34,7 @@
#ifdef XP_WIN
+
diff --git a/application/basilisk/locales/en-US/chrome/browser/migration/migration.dtd b/application/basilisk/locales/en-US/chrome/browser/migration/migration.dtd
index ad9293a5d6..68bcfc470e 100644
--- a/application/basilisk/locales/en-US/chrome/browser/migration/migration.dtd
+++ b/application/basilisk/locales/en-US/chrome/browser/migration/migration.dtd
@@ -12,6 +12,8 @@
+
+
diff --git a/application/basilisk/locales/en-US/chrome/browser/migration/migration.properties b/application/basilisk/locales/en-US/chrome/browser/migration/migration.properties
index 65e39c78e7..c061b53740 100644
--- a/application/basilisk/locales/en-US/chrome/browser/migration/migration.properties
+++ b/application/basilisk/locales/en-US/chrome/browser/migration/migration.properties
@@ -6,7 +6,8 @@ profileName_format=%S %S
# Browser Specific
sourceNameIE=Internet Explorer
-sourceNameEdge=Microsoft Edge
+sourceNameEdge=Microsoft Edge (old)
+sourceNameChromiumEdge=Microsoft Edge (new)
sourceNameSafari=Safari
sourceNameCanary=Google Chrome Canary
sourceNameChrome=Google Chrome
@@ -24,12 +25,14 @@ importedEdgeReadingList=Reading List (From Edge)
# resetProfile.js if it should be listed in the reset dialog.
1_ie=Internet Options
1_edge=Settings
+1_chromiumedge=Settings
1_safari=Preferences
1_chrome=Preferences
1_360se=Preferences
2_ie=Cookies
2_edge=Cookies
+2_chromiumedge=Cookies
2_safari=Cookies
2_chrome=Cookies
2_firefox=Cookies
@@ -37,6 +40,7 @@ importedEdgeReadingList=Reading List (From Edge)
4_ie=Browsing History
4_edge=Browsing History
+4_chromiumedge=Browsing History
4_safari=Browsing History
4_chrome=Browsing History
4_firefox_history_and_bookmarks=Browsing History and Bookmarks
@@ -44,6 +48,7 @@ importedEdgeReadingList=Reading List (From Edge)
8_ie=Saved Form History
8_edge=Saved Form History
+8_chromiumedge=Saved Form History
8_safari=Saved Form History
8_chrome=Saved Form History
8_firefox=Saved Form History
@@ -51,6 +56,7 @@ importedEdgeReadingList=Reading List (From Edge)
16_ie=Saved Passwords
16_edge=Saved Passwords
+16_chromiumedge=Saved Passwords
16_safari=Saved Passwords
16_chrome=Saved Passwords
16_firefox=Saved Passwords
@@ -58,12 +64,14 @@ importedEdgeReadingList=Reading List (From Edge)
32_ie=Favorites
32_edge=Favorites
+32_chromiumedge=Bookmarks
32_safari=Bookmarks
32_chrome=Bookmarks
32_360se=Bookmarks
64_ie=Other Data
64_edge=Other Data
+64_chromiumedge=Other Data
64_safari=Other Data
64_chrome=Other Data
64_firefox_other=Other Data