Bug 1378366 - Change 'var' to 'const' and 'let' in fontBuilder.js. r?timdream draft
authorJared Wein <jwein@mozilla.com>
Fri, 27 Oct 2017 06:51:16 -0400
changeset 687544 c95ef136415678f93bd5afeac26858770030ec80
parent 687543 60e483484fcfeace416ae01370c5fee99923b168
child 737677 89e6032c64ae7b7248afdd1bc12a5b0cc0ef02fe
push id86529
push userbmo:jaws@mozilla.com
push dateFri, 27 Oct 2017 10:52:01 +0000
reviewerstimdream
bugs1378366
milestone58.0a1
Bug 1378366 - Change 'var' to 'const' and 'let' in fontBuilder.js. r?timdream MozReview-Commit-ID: 3QYWdnVzgJs
toolkit/mozapps/preferences/fontbuilder.js
--- a/toolkit/mozapps/preferences/fontbuilder.js
+++ b/toolkit/mozapps/preferences/fontbuilder.js
@@ -16,89 +16,89 @@ var FontBuilder = {
 
   _allFonts: null,
   _langGroupSupported: false,
   async buildFontList(aLanguage, aFontType, aMenuList) {
     // Reset the list
     while (aMenuList.hasChildNodes())
       aMenuList.firstChild.remove();
 
-    var defaultFont = null;
+    let defaultFont = null;
     // Load Font Lists
-    var fonts = await this.enumerator.EnumerateFontsAsync(aLanguage, aFontType);
+    let fonts = await this.enumerator.EnumerateFontsAsync(aLanguage, aFontType);
     if (fonts.length > 0)
       defaultFont = this.enumerator.getDefaultFont(aLanguage, aFontType);
     else {
       fonts = await this.enumerator.EnumerateFontsAsync(aLanguage, "");
       if (fonts.length > 0)
         defaultFont = this.enumerator.getDefaultFont(aLanguage, "");
     }
 
     if (!this._allFonts)
       this._allFonts = await this.enumerator.EnumerateAllFontsAsync({});
 
     // Build the UI for the Default Font and Fonts for this CSS type.
-    var popup = document.createElement("menupopup");
-    var separator;
+    const popup = document.createElement("menupopup");
+    let separator;
     if (fonts.length > 0) {
-      var bundlePreferences = document.getElementById("bundlePreferences");
-      var defaultLabel = defaultFont ?
+      const bundlePreferences = document.getElementById("bundlePreferences");
+      let defaultLabel = defaultFont ?
         bundlePreferences.getFormattedString("labelDefaultFont", [defaultFont]) :
         bundlePreferences.getString("labelDefaultFontUnnamed");
-      var menuitem = document.createElement("menuitem");
+      let menuitem = document.createElement("menuitem");
       menuitem.setAttribute("label", defaultLabel);
       menuitem.setAttribute("value", ""); // Default Font has a blank value
       popup.appendChild(menuitem);
 
       separator = document.createElement("menuseparator");
       popup.appendChild(separator);
 
-      for (var i = 0; i < fonts.length; ++i) {
+      for (let font of fonts) {
         menuitem = document.createElement("menuitem");
-        menuitem.setAttribute("value", fonts[i]);
-        menuitem.setAttribute("label", fonts[i]);
+        menuitem.setAttribute("value", font);
+        menuitem.setAttribute("label", font);
         popup.appendChild(menuitem);
       }
     }
 
     // Build the UI for the remaining fonts.
     if (this._allFonts.length > fonts.length) {
       this._langGroupSupported = true;
       // Both lists are sorted, and the Fonts-By-Type list is a subset of the
       // All-Fonts list, so walk both lists side-by-side, skipping values we've
       // already created menu items for.
-      var builtItem = separator ? separator.nextSibling : popup.firstChild;
-      var builtItemValue = builtItem ? builtItem.getAttribute("value") : null;
+      let builtItem = separator ? separator.nextSibling : popup.firstChild;
+      let builtItemValue = builtItem ? builtItem.getAttribute("value") : null;
 
       separator = document.createElement("menuseparator");
       popup.appendChild(separator);
 
-      for (i = 0; i < this._allFonts.length; ++i) {
-        if (this._allFonts[i] != builtItemValue) {
-          menuitem = document.createElement("menuitem");
-          menuitem.setAttribute("value", this._allFonts[i]);
-          menuitem.setAttribute("label", this._allFonts[i]);
+      for (let font of this._allFonts) {
+        if (font != builtItemValue) {
+          const menuitem = document.createElement("menuitem");
+          menuitem.setAttribute("value", font);
+          menuitem.setAttribute("label", font);
           popup.appendChild(menuitem);
         } else {
           builtItem = builtItem.nextSibling;
           builtItemValue = builtItem ? builtItem.getAttribute("value") : null;
         }
       }
     }
     aMenuList.appendChild(popup);
   },
 
   readFontSelection(aElement) {
     // Determine the appropriate value to select, for the following cases:
     // - there is no setting
     // - the font selected by the user is no longer present (e.g. deleted from
     //   fonts folder)
-    let preference = document.getElementById(aElement.getAttribute("preference"));
+    const preference = document.getElementById(aElement.getAttribute("preference"));
     if (preference.value) {
-      let fontItems = aElement.getElementsByAttribute("value", preference.value);
+      const fontItems = aElement.getElementsByAttribute("value", preference.value);
 
       // There is a setting that actually is in the list. Respect it.
       if (fontItems.length)
         return undefined;
     }
 
     // Otherwise, use "default" font of current system which is computed
     // with "font.name-list.*".  If "font.name.*" is empty string, it means