diff options
Diffstat (limited to 'libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch')
-rw-r--r-- | libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch | 256 |
1 files changed, 133 insertions, 123 deletions
diff --git a/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch index 4da03a569..240c3d4e8 100644 --- a/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch +++ b/libre/xulrunner-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch @@ -2,35 +2,20 @@ From: Mike Hommey <mh@glandium.org> Date: Tue, 5 Jun 2012 08:57:06 +0200
Subject: Bug 756390 - Make the "Reset Firefox" feature more generic
----
- browser/components/migration/content/migration.js | 15 ++++++++++-----
- browser/components/migration/content/migration.xul | 2 +-
- .../migration/src/BrowserProfileMigrators.manifest | 2 +-
- .../components/migration/src/FirefoxProfileMigrator.js | 2 +-
- browser/components/migration/src/ProfileMigrator.js | 4 ++++
- .../en-US/chrome/browser/migration/migration.dtd | 2 --
- .../en-US/chrome/browser/migration/migration.properties | 11 +++++------
- toolkit/content/aboutSupport.js | 8 ++++----
- toolkit/content/jar.mn | 2 +-
- toolkit/content/resetProfile.js | 6 ++----
- toolkit/profile/nsIProfileMigrator.idl | 10 +++++++++-
- toolkit/xre/nsAppRunner.cpp | 2 +-
- 83 files changed, 394 insertions(+), 382 deletions(-)
-
diff --git a/browser/components/migration/content/migration.js b/browser/components/migration/content/migration.js
-index ffb0c34..442a5ff 100644
+index 0e8ccf5..fa46c08 100644
--- a/browser/components/migration/content/migration.js
+++ b/browser/components/migration/content/migration.js
-@@ -314,7 +314,7 @@ var MigrationWizard = {
+@@ -249,7 +249,7 @@ var MigrationWizard = {
}
- var bundle = document.getElementById("brandBundle");
+ var brandBundle = document.getElementById("brandBundle");
- // These strings don't exist when not using official branding. If that's
+ // These strings may not exist when not using official branding. If that's
// the case, just skip this page.
try {
- var pageTitle = bundle.getString("homePageMigrationPageTitle");
-@@ -346,8 +346,8 @@ var MigrationWizard = {
+ var pageTitle = brandBundle.getString("homePageMigrationPageTitle");
+@@ -281,8 +281,8 @@ var MigrationWizard = {
case "chrome":
source = "sourceNameChrome";
break;
@@ -41,99 +26,131 @@ index ffb0c34..442a5ff 100644 break;
}
-@@ -357,8 +357,13 @@ var MigrationWizard = {
+@@ -292,7 +292,12 @@ var MigrationWizard = {
var oldHomePageURL = this._migrator.sourceHomePageURL;
if (oldHomePageURL && source) {
-- var bundle2 = document.getElementById("bundle");
-- var appName = bundle2.getString(source);
+- var appName = MigrationUtils.getLocalizedString(source);
+ var appName;
+ if (source == "brand") {
-+ appName = bundle.GetStringFromName("brandFullName");
++ appName = brandBundle.GetStringFromName("brandFullName");
+ } else {
-+ var bundle2 = document.getElementById("bundle");
-+ appName = bundle2.getString(source);
++ appName = MigrationUtils.getLocalizedString(source);
+ }
- var oldHomePageLabel = bundle.getFormattedString("homePageImport",
- [appName]);
+ var oldHomePageLabel =
+ brandBundle.getFormattedString("homePageImport", [appName]);
var oldHomePage = document.getElementById("oldHomePage");
diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul
-index f8653b1..f3ac62a 100644
+index f030756..23e37ff 100644
--- a/browser/components/migration/content/migration.xul
+++ b/browser/components/migration/content/migration.xul
-@@ -76,7 +76,7 @@
- #endif
- #endif
+@@ -42,7 +42,7 @@
+ #elifdef XP_UNIX
<radio id="chrome" label="&importFromChrome.label;" accesskey="&importFromChrome.accesskey;"/>
+ #endif
- <radio id="firefox" label="&importFromFirefox.label;" accesskey="&importFromFirefox.accesskey;"/>
+ <radio id="self" hidden="true"/>
- <radio id="fromfile" label="&importFromHTMLFile.label;" accesskey="&importFromHTMLFile.accesskey;" hidden="true"/>
<radio id="nothing" label="&importFromNothing.label;" accesskey="&importFromNothing.accesskey;" hidden="true"/>
</radiogroup>
+ <label id="noSources" hidden="true">&noMigrationSources.label;</label>
diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest
-index f49e481..e490ddf 100644
+index d7fec75..d531b83 100644
--- a/browser/components/migration/src/BrowserProfileMigrators.manifest
+++ b/browser/components/migration/src/BrowserProfileMigrators.manifest
-@@ -3,4 +3,4 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
+@@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
component {4cec1de4-1671-4fc3-a53e-6c539dc77a26} ChromeProfileMigrator.js
contract @mozilla.org/profile/migrator;1?app=browser&type=chrome {4cec1de4-1671-4fc3-a53e-6c539dc77a26}
component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
-contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
+contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386}
+ #ifdef HAS_IE_MIGRATOR
+ component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
+ contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js
-index 7b4a6e4..add5bc4 100644
+index a6598fe..8f83da8 100644
--- a/browser/components/migration/src/FirefoxProfileMigrator.js
+++ b/browser/components/migration/src/FirefoxProfileMigrator.js
-@@ -448,7 +448,7 @@ FirefoxProfileMigrator.prototype = {
- ]),
+@@ -88,7 +88,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
- classDescription: "Firefox Profile Migrator",
-- contractID: "@mozilla.org/profile/migrator;1?app=browser&type=firefox",
-+ contractID: "@mozilla.org/profile/migrator;1?app=browser&type=self",
- classID: Components.ID("{91185366-ba97-4438-acba-48deaca63386}")
- };
-diff --git a/browser/components/migration/src/ProfileMigrator.js b/browser/components/migration/src/ProfileMigrator.js
-index ea66675..fe4df10 100644
---- a/browser/components/migration/src/ProfileMigrator.js
-+++ b/browser/components/migration/src/ProfileMigrator.js
-@@ -51,6 +51,10 @@ ProfileMigrator.prototype = {
- params);
+ FirefoxProfileMigrator.prototype.classDescription = "Firefox Profile Migrator";
+-FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=firefox";
++FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=self";
+ FirefoxProfileMigrator.prototype.classID = Components.ID("{91185366-ba97-4438-acba-48deaca63386}");
+
+ const NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);
+diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm
+index 0669aa8..19552e3 100644
+--- a/browser/components/migration/src/MigrationUtils.jsm
++++ b/browser/components/migration/src/MigrationUtils.jsm
+@@ -403,11 +403,6 @@ let MigrationUtils = Object.freeze({
+ * @see nsIStringBundle
+ */
+ getLocalizedString: function MU_getLocalizedString(aKey, aReplacements) {
+- const OVERRIDES = {
+- "4_firefox": "4_firefox_history_and_bookmarks"
+- };
+- aKey = OVERRIDES[aKey] || aKey;
+-
+ if (aReplacements === undefined)
+ return getMigrationBundle().GetStringFromName(aKey);
+ return getMigrationBundle().formatStringFromName(
+@@ -622,6 +617,17 @@ let MigrationUtils = Object.freeze({
},
-+ canMigrate: function PM__canMigrate(aMigratorKey) {
+ /**
++ * Returns whether a given migration type is supported.
++ *
++ * @param aKey Migrator key
++ * @returns whether the migrator key is supported.
++ */
++ canMigrate:
++ function MU_canMigrate(aMigratorKey) {
+ return "@mozilla.org/profile/migrator;1?app=browser&type=" + aMigratorKey in Cc;
+ },
+
- _toCString: function PM__toCString(aStr) {
- let cstr = Cc["@mozilla.org/supports-cstring;1"].
- createInstance(Ci.nsISupportsCString);
++ /**
+ * Cleans up references to migrators and nsIProfileInstance instances.
+ */
+ finishMigration: function MU_finishMigration() {
+diff --git a/browser/components/migration/src/ProfileMigrator.js b/browser/components/migration/src/ProfileMigrator.js
+index 744f117..59e5a4c 100644
+--- a/browser/components/migration/src/ProfileMigrator.js
++++ b/browser/components/migration/src/ProfileMigrator.js
+@@ -12,6 +12,7 @@ function ProfileMigrator() {
+
+ ProfileMigrator.prototype = {
+ migrate: MigrationUtils.startupMigration.bind(MigrationUtils),
++ canMigrate: MigrationUtils.canMigrate.bind(MigrationUtils),
+ QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIProfileMigrator]),
+ classDescription: "Profile Migrator",
+ contractID: "@mozilla.org/toolkit/profile-migrator;1",
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-index 86e9d0b..8df7864 100644
+index 21cf405..f3c1a6b 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.dtd
+++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd
-@@ -13,8 +13,6 @@
+@@ -17,8 +17,6 @@
<!ENTITY importFromSafari.accesskey "S">
<!ENTITY importFromChrome.label "Chrome">
<!ENTITY importFromChrome.accesskey "C">
-<!ENTITY importFromFirefox.label "Firefox">
-<!ENTITY importFromFirefox.accesskey "X">
- <!ENTITY importFromHTMLFile.label "From an HTML File">
- <!ENTITY importFromHTMLFile.accesskey "F">
+
+ <!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
-index 495ed78..0272654 100644
+index ab82d85..915f6b8 100644
--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
+++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
-@@ -4,7 +4,6 @@ profileName_format=%S %S
+@@ -8,7 +8,6 @@ profileName_format=%S %S
sourceNameIE=Internet Explorer
sourceNameSafari=Safari
sourceNameChrome=Google Chrome
-sourceNameFirefox=Mozilla Firefox
importedBookmarksFolder=From %S
- importedSearchURLsFolder=Keyword Searches (From %S)
-@@ -21,27 +20,27 @@ importedSafariBookmarks=From Safari
+
+@@ -22,22 +21,22 @@ importedSafariReadingList=Reading List (From Safari)
2_ie=Cookies
2_safari=Cookies
2_chrome=Cookies
@@ -143,8 +160,8 @@ index 495ed78..0272654 100644 4_ie=Browsing History
4_safari=Browsing History
4_chrome=Browsing History
--4_firefox=Browsing History
-+4_self=Browsing History
+-4_firefox_history_and_bookmarks=Browsing History and Bookmarks
++4_self=Browsing History and Bookmarks
8_ie=Saved Form History
8_safari=Saved Form History
@@ -160,36 +177,14 @@ index 495ed78..0272654 100644 32_ie=Favorites
32_safari=Bookmarks
- 32_chrome=Bookmarks
--32_firefox=Bookmarks
-+32_self=Bookmarks
-
+@@ -46,4 +45,4 @@ importedSafariReadingList=Reading List (From Safari)
64_ie=Other Data
64_safari=Other Data
-diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js
-index c86d80c..ff1ccfe 100644
---- a/toolkit/content/aboutSupport.js
-+++ b/toolkit/content/aboutSupport.js
-@@ -608,13 +608,13 @@ function populateResetBox() {
- .getService(Ci.nsIToolkitProfileService);
- let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
-
--#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
--#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
--
- // Only show the reset box for the default profile if the self-migrator used for reset exists.
- try {
- if (!currentProfileDir.equals(profileService.selectedProfile.rootDir) ||
-- !("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc))
-+ !("@mozilla.org/toolkit/profile-migrator;1" in Cc))
-+ return;
-+ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
-+ if (!("canMigrate" in pm) || !pm.canMigrate("self"))
- return;
- document.getElementById("reset-box").style.visibility = "visible";
- } catch (e) {
+ 64_chrome=Other Data
+-64_firefox=Bookmarks Backups
++64_self=Bookmarks Backups
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
-index 6f0d2d6..da7342b 100644
+index 697b217..b6e1709 100644
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -38,7 +38,7 @@ toolkit.jar:
@@ -199,40 +194,55 @@ index 6f0d2d6..da7342b 100644 -* content/global/resetProfile.js (resetProfile.js)
+ content/global/resetProfile.js (resetProfile.js)
* content/global/resetProfile.xul (resetProfile.xul)
+ * content/global/resetProfileProgress.xul (resetProfileProgress.xul)
* content/global/treeUtils.js (treeUtils.js)
- *+ content/global/viewZoomOverlay.js (viewZoomOverlay.js)
diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
-index 975a9ed..d8e46b1 100644
+index dcb4065..09c1146 100644
--- a/toolkit/content/resetProfile.js
+++ b/toolkit/content/resetProfile.js
-@@ -6,12 +6,10 @@ Components.utils.import("resource://gre/modules/Services.jsm");
+@@ -36,13 +36,13 @@ function resetSupported() {
+ getService(Ci.nsIToolkitProfileService);
+ let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
- // based on onImportItemsPageShow from migration.js
- function onResetProfileLoad() {
--#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
- const MAX_MIGRATED_TYPES = 16;
-
- var migratedItems = document.getElementById("migratedItems");
-- var bundle = Services.strings.createBundle("chrome://" + MOZ_BUILD_APP +
-+ var bundle = Services.strings.createBundle("chrome://browser" +
- "/locale/migration/migration.properties");
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-
+ // Reset is only supported for the default profile if the self-migrator used for reset exists.
+ try {
+- return currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc);
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
+ } catch (e) {
+ // Catch exception when there is no selected profile.
+ Cu.reportError(e);
+@@ -53,9 +53,6 @@ function resetSupported() {
+ function getMigratedData() {
+ Components.utils.import("resource:///modules/MigrationUtils.jsm");
- // Loop over possible data to migrate to give the user a list of what will be preserved. This
-@@ -21,7 +19,7 @@ function onResetProfileLoad() {
- var itemID = Math.pow(2, i);
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-
+ // From migration.properties
+ const MIGRATED_TYPES = [
+ 4, // History and Bookmarks
+@@ -68,7 +65,7 @@ function getMigratedData() {
+ let dataTypes = [];
+ for (let itemID of MIGRATED_TYPES) {
try {
- var checkbox = document.createElement("label");
-- checkbox.setAttribute("value", bundle.GetStringFromName(itemID + "_" + MOZ_APP_NAME));
-+ checkbox.setAttribute("value", bundle.GetStringFromName(itemID + "_self"));
- migratedItems.appendChild(checkbox);
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME);
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+ dataTypes.push(typeName);
} catch (x) {
- // Catch exceptions when the string for a data type doesn't exist because it's not migrated
+ // Catch exceptions when the string for a data type doesn't exist.
diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl
-index e941336..5b264af 100644
+index f35c227..7062886 100644
--- a/toolkit/profile/nsIProfileMigrator.idl
+++ b/toolkit/profile/nsIProfileMigrator.idl
-@@ -69,7 +69,7 @@ interface nsIProfileStartup : nsISupports
+@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports
* @client Toolkit (Startup code)
* @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
*/
@@ -241,7 +251,7 @@ index e941336..5b264af 100644 interface nsIProfileMigrator : nsISupports
{
/**
-@@ -92,6 +92,14 @@ interface nsIProfileMigrator : nsISupports
+@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports
* @note The startup code ignores COM exceptions thrown from this method.
*/
void migrate(in nsIProfileStartup aStartup, in ACString aKey);
@@ -257,15 +267,15 @@ index e941336..5b264af 100644 %{C++
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index 32eef5c..dbe1580 100644
+index e5d3042..6de3390 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -3561,7 +3561,7 @@ XRE_main(int argc, char* argv[], const nsXREAppData* aAppData)
- if (gDoProfileReset) {
- // Automatically migrate from the current application if we just
- // reset the profile.
-- aKey = MOZ_APP_NAME;
-+ aKey = "self";
- pm->Migrate(&dirProvider, aKey);
- // Set the new profile as the default after migration.
- rv = SetCurrentProfileAsDefault(profileSvc, profD);
+@@ -3650,7 +3650,7 @@ XREMain::XRE_mainRun()
+ if (gDoProfileReset) {
+ // Automatically migrate from the current application if we just
+ // reset the profile.
+- aKey = MOZ_APP_NAME;
++ aKey = "self";
+ }
+ pm->Migrate(&mDirProvider, aKey);
+ }
|