From 46e59eb863f035d6c2288c2e8f2e69c8843059e2 Mon Sep 17 00:00:00 2001 From: Gavin Sharp Date: Wed, 28 Mar 2012 09:56:56 -0700 Subject: [PATCH] Bug 739793: add old version to post-update whatsnew URL to allow differentiating various upgrade scenarios, r=mak --HG-- extra : transplant_source : %94%F1O%DEK%D0n%F3%F5%07%7D%20%C7%E2%C6%3C%922%01%DB --- browser/branding/nightly/pref/firefox-branding.js | 2 +- browser/branding/official/pref/firefox-branding.js | 2 +- browser/components/nsBrowserContentHandler.js | 11 +++++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/browser/branding/nightly/pref/firefox-branding.js b/browser/branding/nightly/pref/firefox-branding.js index 105eb14b55ce..21d2ba900c76 100644 --- a/browser/branding/nightly/pref/firefox-branding.js +++ b/browser/branding/nightly/pref/firefox-branding.js @@ -1,4 +1,4 @@ -pref("startup.homepage_override_url","http://www.mozilla.org/projects/%APP%/%VERSION%/whatsnew/"); +pref("startup.homepage_override_url","http://www.mozilla.org/projects/%APP%/%VERSION%/whatsnew/?oldversion=%OLD_VERSION%"); pref("startup.homepage_welcome_url","http://www.mozilla.org/projects/%APP%/%VERSION%/firstrun/"); // The time interval between checks for a new version (in seconds) pref("app.update.interval", 3600); // 1 hour diff --git a/browser/branding/official/pref/firefox-branding.js b/browser/branding/official/pref/firefox-branding.js index 63c5a31d313f..09a5cc445f27 100644 --- a/browser/branding/official/pref/firefox-branding.js +++ b/browser/branding/official/pref/firefox-branding.js @@ -1,4 +1,4 @@ -pref("startup.homepage_override_url","http://www.mozilla.com/%LOCALE%/%APP%/%VERSION%/whatsnew/"); +pref("startup.homepage_override_url","http://www.mozilla.com/%LOCALE%/%APP%/%VERSION%/whatsnew/?oldversion=%OLD_VERSION%"); pref("startup.homepage_welcome_url","http://www.mozilla.com/%LOCALE%/%APP%/%VERSION%/firstrun/"); // Interval: Time between checks for a new version (in seconds) // nightly=6 hours, official=24 hours diff --git a/browser/components/nsBrowserContentHandler.js b/browser/components/nsBrowserContentHandler.js index b6e7927bae9e..c1716dc2f8ce 100644 --- a/browser/components/nsBrowserContentHandler.js +++ b/browser/components/nsBrowserContentHandler.js @@ -581,6 +581,15 @@ nsBrowserContentHandler.prototype = { var overridePage = ""; var haveUpdateSession = false; try { + // Read the old value of homepage_override.mstone before + // needHomepageOverride updates it, so that we can later add it to the + // URL if we do end up showing an overridePage. This makes it possible + // to have the overridePage's content vary depending on the version we're + // upgrading from. + let old_mstone = "unknown"; + try { + old_mstone = Services.prefs.getCharPref("browser.startup.homepage_override.mstone"); + } catch (ex) {} let override = needHomepageOverride(prefb); if (override != OVERRIDE_NONE) { // Setup the default search engine to about:home page. @@ -604,6 +613,8 @@ nsBrowserContentHandler.prototype = { overridePage = Services.urlFormatter.formatURLPref("startup.homepage_override_url"); if (prefb.prefHasUserValue("app.update.postupdate")) overridePage = getPostUpdateOverridePage(overridePage); + + overridePage = overridePage.replace("%OLD_VERSION%", old_mstone); break; } }