Bug 1279805 - Use app.releaseNotesURL to control release notes in the about dialog. r=florian draft
authorMatthew Noorenberghe <mozilla@noorenberghe.ca>
Mon, 10 Apr 2017 18:26:23 -0400
changeset 559933 ec87655250dc1899213c5073112ceff270d0395d
parent 552691 272ce6c2572164f5f6a9fba2a980ba9ccf50770c
child 559934 a8bd9644c0da4d16e82a3e1cc2a90f3dd0e09313
push id53285
push usermozilla@noorenberghe.ca
push dateMon, 10 Apr 2017 22:27:12 +0000
reviewersflorian
bugs1279805
milestone55.0a1
Bug 1279805 - Use app.releaseNotesURL to control release notes in the about dialog. r=florian MozReview-Commit-ID: 7sqDACxFfJQ
browser/base/content/aboutDialog.js
browser/base/content/aboutDialog.xul
browser/branding/aurora/pref/firefox-branding.js
browser/branding/official/pref/firefox-branding.js
--- a/browser/base/content/aboutDialog.js
+++ b/browser/base/content/aboutDialog.js
@@ -45,16 +45,27 @@ function init(aEvent) {
   // Append "(32-bit)" or "(64-bit)" build architecture to the version number:
   let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties");
   let archResource = Services.appinfo.is64Bit
                      ? "aboutDialog.architecture.sixtyFourBit"
                      : "aboutDialog.architecture.thirtyTwoBit";
   let arch = bundle.GetStringFromName(archResource);
   versionField.textContent += ` (${arch})`;
 
+  // Show a release notes link if we have a URL.
+  let relNotesLink = document.getElementById("releasenotes");
+  let relNotesPrefType = Services.prefs.getPrefType("app.releaseNotesURL");
+  if (relNotesPrefType != Services.prefs.PREF_INVALID) {
+    let relNotesURL = Services.urlFormatter.formatURLPref("app.releaseNotesURL");
+    if (relNotesURL != "about:blank") {
+      relNotesLink.href = relNotesURL;
+      relNotesLink.hidden = false;
+    }
+  }
+
   if (AppConstants.MOZ_UPDATER) {
     gAppUpdater = new appUpdater();
 
     let channelLabel = document.getElementById("currentChannel");
     let currentChannelText = document.getElementById("currentChannelText");
     channelLabel.value = UpdateUtils.UpdateChannel;
     if (/^release($|\-)/.test(channelLabel.value))
         currentChannelText.hidden = true;
--- a/browser/base/content/aboutDialog.xul
+++ b/browser/base/content/aboutDialog.xul
@@ -40,20 +40,18 @@
 #ifdef MOZ_UPDATER
   <script type="application/javascript" src="chrome://browser/content/aboutDialog-appUpdater.js"/>
 #endif
   <vbox id="aboutDialogContainer">
     <hbox id="clientBox">
       <vbox id="leftBox" flex="1"/>
       <vbox id="rightBox" flex="1">
         <hbox align="baseline">
-#expand <label id="version">__MOZ_APP_VERSION_DISPLAY__</label>
-#ifndef NIGHTLY_BUILD
-#expand <label id="releasenotes" class="text-link" href="https://www.mozilla.org/firefox/__MOZ_APP_VERSION__/releasenotes/">&releaseNotes.link;</label>
-#endif
+#expand   <label id="version">__MOZ_APP_VERSION_DISPLAY__</label>
+          <label id="releasenotes" class="text-link" hidden="true">&releaseNotes.link;</label>
         </hbox>
 
         <label id="distribution" class="text-blurb"/>
         <label id="distributionId" class="text-blurb"/>
 
         <vbox id="detailsBox">
           <vbox id="updateBox">
 #ifdef MOZ_UPDATER
--- a/browser/branding/aurora/pref/firefox-branding.js
+++ b/browser/branding/aurora/pref/firefox-branding.js
@@ -17,16 +17,18 @@ pref("app.update.download.backgroundInte
 pref("app.update.promptWaitTime", 691200);
 // URL user can browse to manually if for some reason all update installation
 // attempts fail.
 pref("app.update.url.manual", "https://www.mozilla.org/firefox/aurora/");
 // A default value for the "More information about this update" link
 // supplied in the "An update is available" page of the update wizard.
 pref("app.update.url.details", "https://www.mozilla.org/firefox/aurora/");
 
+pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/");
+
 // The number of days a binary is permitted to be old
 // without checking for an update.  This assumes that
 // app.update.checkInstallTime is true.
 pref("app.update.checkInstallTime.days", 2);
 
 // Give the user x seconds to reboot before showing a badge on the hamburger
 // button. default=4 days
 pref("app.update.badgeWaitTime", 345600);
--- a/browser/branding/official/pref/firefox-branding.js
+++ b/browser/branding/official/pref/firefox-branding.js
@@ -15,16 +15,18 @@ pref("app.update.download.backgroundInte
 pref("app.update.promptWaitTime", 691200);
 // URL user can browse to manually if for some reason all update installation
 // attempts fail.
 pref("app.update.url.manual", "https://www.mozilla.org/firefox/");
 // A default value for the "More information about this update" link
 // supplied in the "An update is available" page of the update wizard.
 pref("app.update.url.details", "https://www.mozilla.org/%LOCALE%/firefox/notes");
 
+pref("app.releaseNotesURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/releasenotes/");
+
 // The number of days a binary is permitted to be old
 // without checking for an update.  This assumes that
 // app.update.checkInstallTime is true.
 pref("app.update.checkInstallTime.days", 63);
 
 // Give the user x seconds to reboot before showing a badge on the hamburger
 // button. default=immediately
 pref("app.update.badgeWaitTime", 0);