Browse Source

Rebase after pushes

Frank-Rainer Grahl 1 year ago
parent
commit
49d751d666

+ 0 - 106
comm-central/patches/9999999-port1824420-suite-bustage.patch

@@ -1,106 +0,0 @@
-# HG changeset patch
-# User Bill Gianopoulos <wgianopoulos@gmail.com>
-# Date 1688066916 0
-# Parent  31bacfa043fdb3e887a56fbe74c1dfaf00f7adba
-Bug 9999999 - Port bug 1824420 to suite.
-
-diff --git a/suite/installer/windows/nsis/installer.nsi b/suite/installer/windows/nsis/installer.nsi
---- a/suite/installer/windows/nsis/installer.nsi
-+++ b/suite/installer/windows/nsis/installer.nsi
-@@ -66,17 +66,17 @@ VIAddVersionKey "OriginalFilename" "setu
- ; Most commonly used macros for managing shortcuts
- !insertmacro _LoggingShortcutsCommon
- 
- !insertmacro AddDisabledDDEHandlerValues
- !insertmacro AddHandlerValues
- !insertmacro ChangeMUIHeaderImage
- !insertmacro CheckForFilesInUse
- !insertmacro CheckIfRegistryKeyExists
--!insertmacro CleanUpdateDirectories
-+!insertmacro CleanMaintenanceServiceLogs
- !insertmacro CopyFilesFromDir
- !insertmacro CreateRegKey
- !insertmacro FindSMProgramsDir
- !insertmacro GetPathFromString
- !insertmacro GetParent
- !insertmacro InitHashAppModelId
- !insertmacro IsHandlerForInstallDir
- !insertmacro ManualCloseAppPrompt
-@@ -195,17 +195,14 @@ Section "-InstallStartCleanup"
-     ${DeleteFile} "$INSTDIR\${FileMainEXE}"
-     ClearErrors
-   ${EndIf}
- 
-   ; setup the application model id registration value
-   ${InitHashAppModelId} "$INSTDIR" "Software\Mozilla\${AppName}\TaskBarIDs"
- 
--  ; Remove the updates directory for Windows 7 and above
--  ${CleanUpdateDirectories} "Mozilla\SeaMonkey" "Mozilla\updates"
--
-   ${RemoveDeprecatedFiles}
- 
-   ${InstallStartCleanupCommon}
- SectionEnd
- 
- Section "-Application" APP_IDX
-   ${StartUninstallLog}
-diff --git a/suite/installer/windows/nsis/uninstaller.nsi b/suite/installer/windows/nsis/uninstaller.nsi
---- a/suite/installer/windows/nsis/uninstaller.nsi
-+++ b/suite/installer/windows/nsis/uninstaller.nsi
-@@ -61,17 +61,17 @@ VIAddVersionKey "FileDescription" "${Bra
- VIAddVersionKey "OriginalFilename" "helper.exe"
- 
- ; Most commonly used macros for managing shortcuts
- !insertmacro _LoggingShortcutsCommon
- 
- !insertmacro AddDisabledDDEHandlerValues
- !insertmacro AddHandlerValues
- !insertmacro CheckIfRegistryKeyExists
--!insertmacro CleanUpdateDirectories
-+!insertmacro CleanMaintenanceServiceLogs
- !insertmacro CleanVirtualStore
- !insertmacro FindSMProgramsDir
- !insertmacro GetLongPath
- !insertmacro GetPathFromString
- !insertmacro InitHashAppModelId
- !insertmacro IsHandlerForInstallDir
- !insertmacro RegCleanMain
- !insertmacro RegCleanUninstall
-@@ -79,17 +79,17 @@ VIAddVersionKey "OriginalFilename" "help
- !insertmacro UnloadUAC
- !insertmacro UpdateShortcutAppModelIDs
- !insertmacro WordReplace
- !insertmacro WriteRegDWORD2
- !insertmacro WriteRegStr2
- 
- !insertmacro un.ChangeMUIHeaderImage
- !insertmacro un.CheckForFilesInUse
--!insertmacro un.CleanUpdateDirectories
-+!insertmacro un.CleanMaintenanceServiceLogs
- !insertmacro un.CleanVirtualStore
- !insertmacro un.DeleteShortcuts
- !insertmacro un.GetLongPath
- !insertmacro un.GetSecondInstallPath
- !insertmacro un.InitHashAppModelId
- !insertmacro un.ManualCloseAppPrompt
- !insertmacro un.ParseUninstallLog
- !insertmacro un.RegCleanAppHandler
-@@ -190,17 +190,17 @@ Section "Uninstall"
-   ${un.InitHashAppModelId} "$INSTDIR" "Software\Mozilla\${AppName}\TaskBarIDs"
- 
-   ; Unregister resources associated with Win7 taskbar jump lists.
-   ${If} "$AppUserModelID" != ""
-     ApplicationID::UninstallJumpLists "$AppUserModelID"
-   ${EndIf}
- 
-   ; Remove the updates directory for Vista and above
--  ${un.CleanUpdateDirectories} "Mozilla\SeaMonkey" "Mozilla\updates"
-+  ${un.CleanMaintenanceServiceLogs} "Mozilla\SeaMonkey"
- 
-   ; Remove any app model id's stored in the registry for this install path
-   DeleteRegValue HKCU "Software\Mozilla\${AppName}\TaskBarIDs" "$INSTDIR"
-   DeleteRegValue HKLM "Software\Mozilla\${AppName}\TaskBarIDs" "$INSTDIR"
- 
-   ClearErrors
-   WriteRegStr HKLM "Software\Mozilla" "${BrandShortName}InstallerTest" "Write Test"
-   ${If} ${Errors}

+ 13 - 13
comm-central/patches/TOP-1611010-DOMEventListener-cc.patch

@@ -1,7 +1,7 @@
 # HG changeset patch
 # User Ian Neal <iann_cvs@blueyonder.co.uk>
 # Date 1579738200 -3600
-# Parent  78ac78f1907631ad3b0c32e746f3001513c308ba
+# Parent  0a3a7c8d42accfdb20558afb67e8d43d70d3a019
 Bug 1611010 - Port |Bug 1453345 part 5 - Remove pointless JS implementaions of QI to nsIDOMEventListener| and |Bug 1453487 part 2 - Remove useless implements="nsIDOMEventListener" from XBL bindings| to SeaMonkey. r=frg
 
 diff --git a/suite/base/content/viewZoomOverlay.js b/suite/base/content/viewZoomOverlay.js
@@ -71,7 +71,7 @@ diff --git a/suite/browser/browser-places.js b/suite/browser/browser-places.js
 diff --git a/suite/browser/nsTypeAheadFind.js b/suite/browser/nsTypeAheadFind.js
 --- a/suite/browser/nsTypeAheadFind.js
 +++ b/suite/browser/nsTypeAheadFind.js
-@@ -65,17 +65,16 @@ typeAheadFind.prototype = {
+@@ -64,17 +64,16 @@ typeAheadFind.prototype = {
    mTimer: null,
    mXULBrowserWindow: null,
  
@@ -89,7 +89,7 @@ diff --git a/suite/browser/nsTypeAheadFind.js b/suite/browser/nsTypeAheadFind.js
        // It's now safe to get our pref branch.
        this.mPrefs = Services.prefs.getBranch("accessibility.typeaheadfind.");
        // We need to add our event listeners to all windows.
-@@ -112,17 +111,17 @@ typeAheadFind.prototype = {
+@@ -111,17 +110,17 @@ typeAheadFind.prototype = {
      }
    },
  
@@ -196,7 +196,7 @@ diff --git a/suite/components/bindings/notification.xml b/suite/components/bindi
 diff --git a/suite/components/feeds/FeedWriter.js b/suite/components/feeds/FeedWriter.js
 --- a/suite/components/feeds/FeedWriter.js
 +++ b/suite/components/feeds/FeedWriter.js
-@@ -701,17 +701,17 @@ FeedWriter.prototype = {
+@@ -700,17 +700,17 @@ FeedWriter.prototype = {
              break;
          }
  
@@ -215,7 +215,7 @@ diff --git a/suite/components/feeds/FeedWriter.js b/suite/components/feeds/FeedW
      }
  
      if (event.type == "load")
-@@ -1198,14 +1198,13 @@ FeedWriter.prototype = {
+@@ -1197,14 +1197,13 @@ FeedWriter.prototype = {
          case PREF_AUDIO_SELECTED_ACTION:
            this._setAlwaysUseCheckedState(feedType);
        }
@@ -322,7 +322,7 @@ diff --git a/suite/components/places/content/browserPlacesViews.js b/suite/compo
 diff --git a/suite/components/places/content/editBookmarkOverlay.js b/suite/components/places/content/editBookmarkOverlay.js
 --- a/suite/components/places/content/editBookmarkOverlay.js
 +++ b/suite/components/places/content/editBookmarkOverlay.js
-@@ -455,18 +455,17 @@ var gEditItemOverlay = {
+@@ -454,18 +454,17 @@ var gEditItemOverlay = {
                                        this._folderMenuList.selectedIndex);
  
      // Hide the folders-separator if no folder is annotated as recently-used
@@ -342,7 +342,7 @@ diff --git a/suite/components/places/content/editBookmarkOverlay.js b/suite/comp
    uninitPanel(aHideCollapsibleElements) {
      if (aHideCollapsibleElements) {
        // Hide the folder tree if it was previously visible.
-@@ -935,17 +934,17 @@ var gEditItemOverlay = {
+@@ -934,17 +933,17 @@ var gEditItemOverlay = {
      this._folderTree.focus();
      this._folderTree.selectItems([ip.itemId]);
      PlacesUtils.asContainer(this._folderTree.selectedNode).containerOpen = true;
@@ -364,7 +364,7 @@ diff --git a/suite/components/places/content/editBookmarkOverlay.js b/suite/comp
 diff --git a/suite/components/places/content/places.js b/suite/components/places/content/places.js
 --- a/suite/components/places/content/places.js
 +++ b/suite/components/places/content/places.js
-@@ -158,18 +158,17 @@ var PlacesOrganizer = {
+@@ -157,18 +157,17 @@ var PlacesOrganizer = {
      // remove the "Properties" context-menu item, we've our own details pane
      document.getElementById("placesContext")
              .removeChild(document.getElementById("placesContext_show:info"));
@@ -428,7 +428,7 @@ diff --git a/suite/components/pref/content/pref-applications.js b/suite/componen
 diff --git a/suite/components/sessionstore/nsSessionStore.js b/suite/components/sessionstore/nsSessionStore.js
 --- a/suite/components/sessionstore/nsSessionStore.js
 +++ b/suite/components/sessionstore/nsSessionStore.js
-@@ -119,17 +119,16 @@ function SessionStoreService() {
+@@ -118,17 +118,16 @@ function SessionStoreService() {
      this._prefBranch.addObserver("sessionstore.resume_from_crash", this, true);
      return this._prefBranch.getBoolPref("sessionstore.resume_from_crash");
    });
@@ -446,7 +446,7 @@ diff --git a/suite/components/sessionstore/nsSessionStore.js b/suite/components/
    xulAttributes: {"image": true},
  
    // set default load state
-@@ -488,17 +487,17 @@ SessionStoreService.prototype = {
+@@ -487,17 +486,17 @@ SessionStoreService.prototype = {
        this.saveState();
        break;
      }
@@ -509,7 +509,7 @@ diff --git a/suite/mailnews/content/tabmail.xml b/suite/mailnews/content/tabmail
 diff --git a/suite/modules/WindowsPreviewPerTab.jsm b/suite/modules/WindowsPreviewPerTab.jsm
 --- a/suite/modules/WindowsPreviewPerTab.jsm
 +++ b/suite/modules/WindowsPreviewPerTab.jsm
-@@ -155,18 +155,17 @@ function PreviewController(win, tab) {
+@@ -154,18 +154,17 @@ function PreviewController(win, tab) {
    XPCOMUtils.defineLazyGetter(this, "canvasPreview", function () {
      let canvas = PageThumbs.createCanvas();
      canvas.mozOpaque = true;
@@ -529,7 +529,7 @@ diff --git a/suite/modules/WindowsPreviewPerTab.jsm b/suite/modules/WindowsPrevi
      this.tab.removeEventListener("TabAttrModified", this);
  
      // Break cycles, otherwise we end up leaking the window with everything
-@@ -333,17 +332,17 @@ PreviewController.prototype = {
+@@ -332,17 +331,17 @@ PreviewController.prototype = {
    onActivate: function () {
      this.win.tabbrowser.selectedTab = this.tab;
  
@@ -548,7 +548,7 @@ diff --git a/suite/modules/WindowsPreviewPerTab.jsm b/suite/modules/WindowsPrevi
      }
    }
  };
-@@ -498,17 +497,17 @@ TabWindow.prototype = {
+@@ -497,17 +496,17 @@ TabWindow.prototype = {
      // on it the sorting order of our local array.  To do so we must walk
      // the local array backwards, otherwise we would send move requests in the
      // wrong order. See bug 522610 for details.

+ 1 - 1
comm-central/patches/TOP-1611647-1-rename-xul-suite.patch

@@ -3,7 +3,7 @@
 # Date 1658141568 14400
 #      Mon Jul 18 06:52:48 2022 -0400
 # Node ID e352984c73426802110888060346b9643b9ee735
-# Parent  e85c7bb024d076199e6dc3a04023bc86e9b3f2d9
+# Parent  b86f657f4e96ec99412335f5a4d079e9a07f269c
 Bug 1611647 - Port bug 1579952 - Mass rename .xul files to .xhtml in suite.
 
 diff --git a/suite/base/content/aboutPrivateBrowsing.xul b/suite/base/content/aboutPrivateBrowsing.xhtml

+ 74 - 74
comm-central/patches/TOP-1611647-2-fix-xul-references-suite.patch

@@ -3,7 +3,7 @@
 # Date 1687859748 14400
 #      Tue Jun 27 05:55:48 2023 -0400
 # Node ID cef48c3d22fb9a94394198886d4ff4076f4f238f
-# Parent  5791318005f4e18c18c1693c929c65d81f7d8c0b
+# Parent  344558f0709403856bb5c5f9b58652db1bcdb07c
 Bug 1611647 - Port bug 1579952 - Fix references to xul files in suite.
 
 diff --git a/suite/app/profile/suite-prefs.js b/suite/app/profile/suite-prefs.js
@@ -30,7 +30,7 @@ diff --git a/suite/app/profile/suite-prefs.js b/suite/app/profile/suite-prefs.js
  pref("general.startup.mail",                false);
  pref("general.startup.news",                false);
  pref("general.startup.editor",              false);
-@@ -743,18 +743,18 @@ pref("privacy.clearOnShutdown.siteSettin
+@@ -744,18 +744,18 @@ pref("privacy.clearOnShutdown.siteSettin
  pref("privacy.warn_tracking_content", true);
  
  // Switching this on will also spoof our user agent and other potentially
@@ -117,7 +117,7 @@ diff --git a/suite/base/content/nsContextMenu.js b/suite/base/content/nsContextM
  var {BrowserUtils} =
    ChromeUtils.import("resource://gre/modules/BrowserUtils.jsm");
  var {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
-@@ -1136,17 +1136,17 @@ nsContextMenu.prototype = {
+@@ -1135,17 +1135,17 @@ nsContextMenu.prototype = {
                   { referrerURI: doc.documentURIObject,
                     triggeringPrincipal: this.target.nodePrincipal,
                   });
@@ -136,7 +136,7 @@ diff --git a/suite/base/content/nsContextMenu.js b/suite/base/content/nsContextM
    saveFrame: function() {
      saveDocument(this.target.ownerDocument, true);
    },
-@@ -1363,17 +1363,17 @@ nsContextMenu.prototype = {
+@@ -1362,17 +1362,17 @@ nsContextMenu.prototype = {
      }
      else
        PlacesUIUtils.showItemProperties(itemId,
@@ -158,7 +158,7 @@ diff --git a/suite/base/content/nsContextMenu.js b/suite/base/content/nsContextM
 diff --git a/suite/base/content/tasksOverlay.js b/suite/base/content/tasksOverlay.js
 --- a/suite/base/content/tasksOverlay.js
 +++ b/suite/base/content/tasksOverlay.js
-@@ -32,17 +32,17 @@ function toDownloadManager()
+@@ -30,17 +30,17 @@ function toDownloadManager()
      .showDownloadManager();
  }
  
@@ -177,7 +177,7 @@ diff --git a/suite/base/content/tasksOverlay.js b/suite/base/content/tasksOverla
  
    switchToTabHavingURI("about:data", true, function(browser) {
      if (aView)
-@@ -51,38 +51,38 @@ function toDataManager(aView)
+@@ -49,38 +49,38 @@ function toDataManager(aView)
  }
  
  function toEM(aView)
@@ -219,7 +219,7 @@ diff --git a/suite/base/content/tasksOverlay.js b/suite/base/content/tasksOverla
      // Try to focus the previously focused window e.g. message compose body
      aWindow.document.commandDispatcher.focusedWindow.focus();
    } catch (e) {
-@@ -252,17 +252,17 @@ function toProfileManager()
+@@ -250,17 +250,17 @@ function toProfileManager()
    if (promgrWin) {
      promgrWin.focus();
    } else {
@@ -241,7 +241,7 @@ diff --git a/suite/base/content/tasksOverlay.js b/suite/base/content/tasksOverla
 diff --git a/suite/base/content/utilityOverlay.js b/suite/base/content/utilityOverlay.js
 --- a/suite/base/content/utilityOverlay.js
 +++ b/suite/base/content/utilityOverlay.js
-@@ -22,17 +22,17 @@ XPCOMUtils.defineLazyModuleGetters(this,
+@@ -21,17 +21,17 @@ XPCOMUtils.defineLazyModuleGetters(this,
  // XPCOMUtils.defineLazyGetter(this, "Weave", function() {
  //   let tmp = {};
  //   ChromeUtils.import("resource://services-sync/main.js", tmp);
@@ -260,7 +260,7 @@ diff --git a/suite/base/content/utilityOverlay.js b/suite/base/content/utilityOv
  
  const kProxyManual = ["network.proxy.ftp",
                        "network.proxy.http",
-@@ -220,27 +220,27 @@ function setOfflineUI(offline)
+@@ -219,27 +219,27 @@ function setOfflineUI(offline)
  function getBrowserURL() {
  
    try {
@@ -290,7 +290,7 @@ diff --git a/suite/base/content/utilityOverlay.js b/suite/base/content/utilityOv
  {
    var toolbar = document.getElementById(id);
    if (!toolbar)
-@@ -279,17 +279,17 @@ function SuiteCustomizeToolbar(aMenuItem
+@@ -278,17 +278,17 @@ function SuiteCustomizeToolbar(aMenuItem
  function goCustomizeToolbar(toolbox)
  {
    /* If the toolbox has a method "customizeInit" then call it first.
@@ -309,7 +309,7 @@ diff --git a/suite/base/content/utilityOverlay.js b/suite/base/content/utilityOv
      var sheetFrame = document.getElementById("customizeToolbarSheetIFrame");
      var panel = document.getElementById("customizeToolbarSheetPopup");
      sheetFrame.hidden = false;
-@@ -1090,17 +1090,17 @@ function BrowserOnCommand(event)
+@@ -1089,17 +1089,17 @@ function BrowserOnCommand(event)
        switch (Services.prefs.getIntPref("browser.ssl_override_behavior", 2)) {
          case 2 : // Pre-fetch & pre-populate.
            params.prefetchCert = true;
@@ -328,7 +328,7 @@ diff --git a/suite/base/content/utilityOverlay.js b/suite/base/content/utilityOv
      }
      else if (buttonID == "getMeOutOfHereButton") {
        // Redirect them to a known-functioning page, default start page
-@@ -1810,17 +1810,17 @@ function subscribeToFeedMiddleClick(href
+@@ -1809,17 +1809,17 @@ function subscribeToFeedMiddleClick(href
  }
  
  function OpenSearchEngineManager() {
@@ -759,7 +759,7 @@ diff --git a/suite/browser/mailNavigatorOverlay.js b/suite/browser/mailNavigator
 diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
 --- a/suite/browser/navigator.js
 +++ b/suite/browser/navigator.js
-@@ -1673,17 +1673,17 @@ function QualifySearchTerm()
+@@ -1672,17 +1672,17 @@ function QualifySearchTerm()
      return gURLBar.value;
    return "";
  }
@@ -778,7 +778,7 @@ diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
          loadURI(data.url, null, data.postData, true);
          break;
        case "1": // new window
-@@ -2416,17 +2416,17 @@ function BrowserPageInfo(documentURL, in
+@@ -2415,17 +2415,17 @@ function BrowserPageInfo(documentURL, in
      if (win.document.documentElement
             .getAttribute("relatedUrl") == documentURL) {
        win.focus();
@@ -797,7 +797,7 @@ diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
  function hiddenWindowStartup()
  {
    // focus the hidden window
-@@ -2951,17 +2951,17 @@ function BrowserUploadFile()
+@@ -2950,17 +2950,17 @@ function BrowserUploadFile()
        // this gives the protocol handler the best chance of generating a
        // properly formatted URI spec.  we pass null for the origin charset
        // parameter since we want the URI to inherit the origin charset
@@ -816,7 +816,7 @@ diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
  /* This function is called whenever the file menu is about to be displayed.
   * Enable the upload menu item if appropriate. */
  function updateFileUploadItem()
-@@ -3249,17 +3249,17 @@ function viewCertificate()
+@@ -3248,17 +3248,17 @@ function viewCertificate()
      Cc["@mozilla.org/nsCertificateDialogs;1"]
        .getService(Ci.nsICertificateDialogs)
        .viewCert(window, cert);
@@ -867,7 +867,7 @@ diff --git a/suite/browser/navigator.xhtml b/suite/browser/navigator.xhtml
  %navigatorDTD;
  ]>
  
-@@ -507,17 +507,17 @@
+@@ -532,17 +532,17 @@
                           placespopup="true"
                           tooltip="bhTooltip" popupsinherittooltip="true"
                           context="placesContext"/>
@@ -977,7 +977,7 @@ diff --git a/suite/browser/navigatorOverlay.xhtml b/suite/browser/navigatorOverl
 diff --git a/suite/browser/nsBrowserContentHandler.js b/suite/browser/nsBrowserContentHandler.js
 --- a/suite/browser/nsBrowserContentHandler.js
 +++ b/suite/browser/nsBrowserContentHandler.js
-@@ -158,27 +158,27 @@ function openWindow(parent, url, feature
+@@ -156,27 +156,27 @@ function openWindow(parent, url, feature
  }
  
  function openPreferences()
@@ -1007,7 +1007,7 @@ diff --git a/suite/browser/nsBrowserContentHandler.js b/suite/browser/nsBrowserC
      return;
  
    var navWin = Services.wm.getMostRecentWindow("navigator:browser");
-@@ -263,31 +263,31 @@ var nsBrowserContentHandler = {
+@@ -261,31 +261,31 @@ var nsBrowserContentHandler = {
            else if (RegExp.$3 == "new-tab")
              location = nsIBrowserDOMWindow.OPEN_NEWTAB;
  
@@ -1496,7 +1496,7 @@ diff --git a/suite/components/bindings/notification.xml b/suite/components/bindi
 diff --git a/suite/components/bindings/prefwindow.xml b/suite/components/bindings/prefwindow.xml
 --- a/suite/components/bindings/prefwindow.xml
 +++ b/suite/components/bindings/prefwindow.xml
-@@ -436,17 +436,17 @@
+@@ -434,17 +434,17 @@
            {
              // Open topic in new window.
              const params = Cc["@mozilla.org/embedcomp/dialogparam;1"]
@@ -1556,7 +1556,7 @@ diff --git a/suite/components/console/jar.mn b/suite/components/console/jar.mn
 diff --git a/suite/components/console/jsconsole-clhandler.js b/suite/components/console/jsconsole-clhandler.js
 --- a/suite/components/console/jsconsole-clhandler.js
 +++ b/suite/components/console/jsconsole-clhandler.js
-@@ -10,17 +10,17 @@ function jsConsoleHandler() {}
+@@ -9,17 +9,17 @@ function jsConsoleHandler() {}
  jsConsoleHandler.prototype = {
    handle: function clh_handle(cmdLine) {
      if (!cmdLine.handleFlag("suiteconsole", false))
@@ -1614,7 +1614,7 @@ diff --git a/suite/components/dataman/jar.mn b/suite/components/dataman/jar.mn
 diff --git a/suite/components/downloads/DownloadsCommon.jsm b/suite/components/downloads/DownloadsCommon.jsm
 --- a/suite/components/downloads/DownloadsCommon.jsm
 +++ b/suite/components/downloads/DownloadsCommon.jsm
-@@ -65,17 +65,17 @@ const kDownloadsStringsRequiringPluralFo
+@@ -64,17 +64,17 @@ const kDownloadsStringsRequiringPluralFo
    otherDownloads3: true
  };
  
@@ -1633,7 +1633,7 @@ diff --git a/suite/components/downloads/DownloadsCommon.jsm b/suite/components/d
      try {
        switch (typeof this.prefs[name]) {
          case "boolean":
-@@ -535,17 +535,17 @@ var DownloadsCommon = {
+@@ -534,17 +534,17 @@ var DownloadsCommon = {
      message += "\n\n" + s.unblockTip2;
  
      Services.ww.registerNotification(function onOpen(subj, topic) {
@@ -1655,7 +1655,7 @@ diff --git a/suite/components/downloads/DownloadsCommon.jsm b/suite/components/d
 diff --git a/suite/components/downloads/content/downloadmanager.js b/suite/components/downloads/content/downloadmanager.js
 --- a/suite/components/downloads/content/downloadmanager.js
 +++ b/suite/components/downloads/content/downloadmanager.js
-@@ -170,17 +170,17 @@ function showDownload(aDownload)
+@@ -169,17 +169,17 @@ function showDownload(aDownload)
    } else {
      file = new FileUtils.File(aDownload.target.partFilePath);
    }
@@ -1810,7 +1810,7 @@ diff --git a/suite/components/downloads/tests/chrome/test_drag.xhtml b/suite/com
 diff --git a/suite/components/helpviewer/content/contextHelp.js b/suite/components/helpviewer/content/contextHelp.js
 --- a/suite/components/helpviewer/content/contextHelp.js
 +++ b/suite/components/helpviewer/content/contextHelp.js
-@@ -34,17 +34,17 @@ function openHelp(topic, contentPack)
+@@ -33,17 +33,17 @@ function openHelp(topic, contentPack)
      params.SetString(0, helpFileURI);
      params.SetString(1, topic);
  
@@ -1870,7 +1870,7 @@ diff --git a/suite/components/helpviewer/jar.mn b/suite/components/helpviewer/ja
 diff --git a/suite/components/migration/SuiteProfileMigrator.js b/suite/components/migration/SuiteProfileMigrator.js
 --- a/suite/components/migration/SuiteProfileMigrator.js
 +++ b/suite/components/migration/SuiteProfileMigrator.js
-@@ -28,17 +28,17 @@ ProfileMigrator.prototype = {
+@@ -27,17 +27,17 @@ ProfileMigrator.prototype = {
  
      let params = Cc["@mozilla.org/array;1"]
                     .createInstance(Ci.nsIMutableArray);
@@ -1904,7 +1904,7 @@ diff --git a/suite/components/migration/jar.mn b/suite/components/migration/jar.
 diff --git a/suite/components/nsAbout.js b/suite/components/nsAbout.js
 --- a/suite/components/nsAbout.js
 +++ b/suite/components/nsAbout.js
-@@ -14,31 +14,31 @@ function About() { }
+@@ -13,31 +13,31 @@ function About() { }
  About.prototype = {
    Flags: SCRIPT,
    URI: "chrome://communicator/content/about.xhtml",
@@ -1942,7 +1942,7 @@ diff --git a/suite/components/nsAbout.js b/suite/components/nsAbout.js
 diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
 --- a/suite/components/nsSuiteGlue.js
 +++ b/suite/components/nsSuiteGlue.js
-@@ -83,17 +83,17 @@ const BOOKMARKS_BACKUP_IDLE_TIME_SEC = 1
+@@ -82,17 +82,17 @@ const BOOKMARKS_BACKUP_IDLE_TIME_SEC = 1
  // per interval.
  const BOOKMARKS_BACKUP_MIN_INTERVAL_DAYS = 1;
  
@@ -1961,7 +1961,7 @@ diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
  // Constructor
  function SuiteGlue() {
    XPCOMUtils.defineLazyServiceGetter(this, "_idleService",
-@@ -194,17 +194,17 @@ SuiteGlue.prototype = {
+@@ -193,17 +193,17 @@ SuiteGlue.prototype = {
           // the UI has gone should be finalized in _onQuitApplicationGranted.
          this._dispose();
          break;
@@ -1980,7 +1980,7 @@ diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
          break;
        case "final-ui-startup":
          this._onProfileStartup();
-@@ -381,17 +381,17 @@ SuiteGlue.prototype = {
+@@ -380,17 +380,17 @@ SuiteGlue.prototype = {
      }
    },
  
@@ -1999,7 +1999,7 @@ diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
    // profile startup handler (contains profile initialization routines)
    _onProfileStartup: function()
    {
-@@ -827,17 +827,17 @@ SuiteGlue.prototype = {
+@@ -826,17 +826,17 @@ SuiteGlue.prototype = {
                     .createInstance(Ci.nsIMutableArray);
      let str = Cc["@mozilla.org/supports-string;1"]
                  .createInstance(Ci.nsISupportsString);
@@ -2018,7 +2018,7 @@ diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
  
      Services.prefs.clearUserPref(PREF_EM_NEW_ADDONS_LIST);
    },
-@@ -1031,17 +1031,17 @@ SuiteGlue.prototype = {
+@@ -1030,17 +1030,17 @@ SuiteGlue.prototype = {
      if (ShellService) try {
        var appTypes = ShellService.shouldBeDefaultClientFor;
  
@@ -2056,7 +2056,7 @@ diff --git a/suite/components/permissions/jar.mn b/suite/components/permissions/
 diff --git a/suite/components/places/PlacesUIUtils.jsm b/suite/components/places/PlacesUIUtils.jsm
 --- a/suite/components/places/PlacesUIUtils.jsm
 +++ b/suite/components/places/PlacesUIUtils.jsm
-@@ -270,18 +270,18 @@ var PlacesUIUtils = {
+@@ -269,18 +269,18 @@ var PlacesUIUtils = {
    showBookmarkDialog(aInfo, aParentWindow) {
      // Preserve size attributes differently based on the fact the dialog has
      // a folder picker or not, since it needs more horizontal space than the
@@ -2077,7 +2077,7 @@ diff --git a/suite/components/places/PlacesUIUtils.jsm b/suite/components/places
  
      // Set the transaction manager into batching mode.
      topUndoEntry = PlacesTransactions.topUndoEntry;
-@@ -640,17 +640,17 @@ var PlacesUIUtils = {
+@@ -639,17 +639,17 @@ var PlacesUIUtils = {
                  browserWindow.whereToOpenLink(aEvent, false, true) : "window";
      if (where == "window") {
        // There is no browser window open, thus open a new one.
@@ -2990,7 +2990,7 @@ diff --git a/suite/components/pref/tests/browser/browser_bug410900.js b/suite/co
 diff --git a/suite/components/profile/content/profileSelection.js b/suite/components/profile/content/profileSelection.js
 --- a/suite/components/profile/content/profileSelection.js
 +++ b/suite/components/profile/content/profileSelection.js
-@@ -145,17 +145,17 @@ function AcceptDialog()
+@@ -143,17 +143,17 @@ function AcceptDialog()
      env.set("XRE_PROFILE_LOCAL_PATH", "");
      return false;
    }
@@ -3026,7 +3026,7 @@ diff --git a/suite/components/profile/jar.mn b/suite/components/profile/jar.mn
 diff --git a/suite/components/sanitize/Sanitizer.jsm b/suite/components/sanitize/Sanitizer.jsm
 --- a/suite/components/sanitize/Sanitizer.jsm
 +++ b/suite/components/sanitize/Sanitizer.jsm
-@@ -87,17 +87,17 @@ var Sanitizer = {
+@@ -86,17 +86,17 @@ var Sanitizer = {
     * @param [optional] parentWindow the window to use as
     *                   parent for the created dialog.
     */
@@ -3186,7 +3186,7 @@ diff --git a/suite/components/shell/jar.mn b/suite/components/shell/jar.mn
 diff --git a/suite/components/sidebar/content/customize.js b/suite/components/sidebar/content/customize.js
 --- a/suite/components/sidebar/content/customize.js
 +++ b/suite/components/sidebar/content/customize.js
-@@ -289,17 +289,17 @@ function PreviewPanel()
+@@ -287,17 +287,17 @@ function PreviewPanel()
      for (var index = min.value; index <= max.value; ++index) {
        var item = tree.contentView.getItemAtIndex(index);
        var res = RDF.GetResource(item.id);
@@ -3205,7 +3205,7 @@ diff --git a/suite/components/sidebar/content/customize.js b/suite/components/si
  
  // Add the selected panel(s).
  function AddPanel()
-@@ -409,30 +409,30 @@ function CustomizePanel()
+@@ -407,30 +407,30 @@ function CustomizePanel()
      var selectedNode = tree.contentView.getItemAtIndex(index);
      var panel_id = selectedNode.getAttribute('id');
      var customize_url = selectedNode.getAttribute('customize');
@@ -3241,7 +3241,7 @@ diff --git a/suite/components/sidebar/content/customize.js b/suite/components/si
 diff --git a/suite/components/sidebar/content/sidebarOverlay.js b/suite/components/sidebar/content/sidebarOverlay.js
 --- a/suite/components/sidebar/content/sidebarOverlay.js
 +++ b/suite/components/sidebar/content/sidebarOverlay.js
-@@ -34,17 +34,17 @@ var gCurFrame;
+@@ -32,17 +32,17 @@ var gCurFrame;
  var gTimeoutID = null;
  var gMustInit = true;
  var gAboutToUncollapse = false;
@@ -3260,7 +3260,7 @@ diff --git a/suite/components/sidebar/content/sidebarOverlay.js b/suite/componen
  
  // pref for limiting number of tabs in view
  // initialized in sidebar_overlay_init()
-@@ -1058,31 +1058,31 @@ function SidebarCustomize() {
+@@ -1056,31 +1056,31 @@ function SidebarCustomize() {
  
      if (false == gDisableCustomize) {
        debug("First time creating customize dialog");
@@ -4208,7 +4208,7 @@ diff --git a/suite/locales/en-US/chrome/mailnews/pref/pref-offline.dtd b/suite/l
 diff --git a/suite/mailnews/components/addrbook/content/abCommon.js b/suite/mailnews/components/addrbook/content/abCommon.js
 --- a/suite/mailnews/components/addrbook/content/abCommon.js
 +++ b/suite/mailnews/components/addrbook/content/abCommon.js
-@@ -175,25 +175,25 @@ function SendCommandToResultsPane(comman
+@@ -174,25 +174,25 @@ function SendCommandToResultsPane(comman
  
    // if we are sending the command so the results pane
    // we should focus the results pane
@@ -4236,7 +4236,7 @@ diff --git a/suite/mailnews/components/addrbook/content/abCommon.js b/suite/mail
  function AbEditSelectedDirectory()
  {
    let selectedDir = getSelectedDirectory();
-@@ -633,51 +633,51 @@ function ChangeDirectoryByURI(uri = kPer
+@@ -632,51 +632,51 @@ function ChangeDirectoryByURI(uri = kPer
  
  function AbNewList()
  {
@@ -4424,7 +4424,7 @@ diff --git a/suite/mailnews/components/addrbook/content/abSelectAddressesDialog.
 diff --git a/suite/mailnews/components/addrbook/content/addressbook.js b/suite/mailnews/components/addrbook/content/addressbook.js
 --- a/suite/mailnews/components/addrbook/content/addressbook.js
 +++ b/suite/mailnews/components/addrbook/content/addressbook.js
-@@ -212,17 +212,17 @@ function AbPrintCardInternal(doPrintPrev
+@@ -211,17 +211,17 @@ function AbPrintCardInternal(doPrintPrev
    for (let i = 0; i < numSelected; i++) {
      let card = selectedItems[i];
      let printCardUrl = CreatePrintCardUrl(card);
@@ -4443,7 +4443,7 @@ diff --git a/suite/mailnews/components/addrbook/content/addressbook.js b/suite/m
    return;
  }
  
-@@ -254,17 +254,17 @@ function AbPrintAddressBookInternal(doPr
+@@ -253,17 +253,17 @@ function AbPrintAddressBookInternal(doPr
    /*
      turn "moz-abmdbdirectory://abook.mab" into
      "addbook://moz-abmdbdirectory/abook.mab?action=print"
@@ -4462,7 +4462,7 @@ diff --git a/suite/mailnews/components/addrbook/content/addressbook.js b/suite/m
    return;
  }
  
-@@ -383,17 +383,17 @@ function onAdvancedAbSearch()
+@@ -382,17 +382,17 @@ function onAdvancedAbSearch()
    let selectedDirURI = getSelectedDirectoryURI();
    if (!selectedDirURI)
      return;
@@ -4573,7 +4573,7 @@ diff --git a/suite/mailnews/components/addrbook/jar.mn b/suite/mailnews/componen
 diff --git a/suite/mailnews/components/compose/content/MsgComposeCommands.js b/suite/mailnews/components/compose/content/MsgComposeCommands.js
 --- a/suite/mailnews/components/compose/content/MsgComposeCommands.js
 +++ b/suite/mailnews/components/compose/content/MsgComposeCommands.js
-@@ -1764,17 +1764,17 @@ function GenericSendMessage(msgType) {
+@@ -1763,17 +1763,17 @@ function GenericSendMessage(msgType) {
        msgType == Ci.nsIMsgCompDeliverMode.Background) {
      //Do we need to check the spelling?
      if (DoSpellCheckBeforeSend()) {
@@ -4592,7 +4592,7 @@ diff --git a/suite/mailnews/components/compose/content/MsgComposeCommands.js b/s
  
      // Strip trailing spaces and long consecutive WSP sequences from the
      // subject line to prevent getting only WSP chars on a folded line.
-@@ -1847,17 +1847,17 @@ function GenericSendMessage(msgType) {
+@@ -1846,17 +1846,17 @@ function GenericSendMessage(msgType) {
      if (!CheckValidEmailAddress(msgCompFields.to, msgCompFields.cc, msgCompFields.bcc))
        return;
  
@@ -4611,7 +4611,7 @@ diff --git a/suite/mailnews/components/compose/content/MsgComposeCommands.js b/s
      }
  
      // We will remember the users "send format" decision in the address
-@@ -2196,17 +2196,17 @@ function SelectAddress()
+@@ -2195,17 +2195,17 @@ function SelectAddress()
  
    Recipients2CompFields(msgCompFields);
  
@@ -4630,7 +4630,7 @@ diff --git a/suite/mailnews/components/compose/content/MsgComposeCommands.js b/s
               ccAddress:ccAddress,
               bccAddress:bccAddress});
    // We have to set focus to the addressingwidget because we seem to loose focus often
-@@ -2763,17 +2763,17 @@ function MessageGetNumSelectedAttachment
+@@ -2762,17 +2762,17 @@ function MessageGetNumSelectedAttachment
  {
    var bucketList = GetMsgAttachmentElement();
    return (bucketList) ? bucketList.selectedItems.length : 0;
@@ -4871,7 +4871,7 @@ diff --git a/suite/mailnews/components/prefs/jar.mn b/suite/mailnews/components/
 diff --git a/suite/mailnews/components/smime/content/msgCompSMIMEOverlay.js b/suite/mailnews/components/smime/content/msgCompSMIMEOverlay.js
 --- a/suite/mailnews/components/smime/content/msgCompSMIMEOverlay.js
 +++ b/suite/mailnews/components/smime/content/msgCompSMIMEOverlay.js
-@@ -209,17 +209,17 @@ function setEncryptionUI()
+@@ -207,17 +207,17 @@ function setEncryptionUI()
    top.document.getElementById("encryption-status").collapsed = false;
  }
  
@@ -4890,7 +4890,7 @@ diff --git a/suite/mailnews/components/smime/content/msgCompSMIMEOverlay.js b/su
        smFields : gSMFields,
        isSigningCertAvailable :
          gCurrentIdentity.getUnicharAttribute("signing_cert_name") != "",
-@@ -291,17 +291,17 @@ function onComposerSendMessage()
+@@ -289,17 +289,17 @@ function onComposerSendMessage()
      {
        // Try the global one
        if (Services.prefs.getBoolPref("ldap_2.autoComplete.useDirectory"))
@@ -4936,7 +4936,7 @@ diff --git a/suite/mailnews/content/ABSearchDialog.xhtml b/suite/mailnews/conten
 diff --git a/suite/mailnews/content/FilterListDialog.js b/suite/mailnews/content/FilterListDialog.js
 --- a/suite/mailnews/content/FilterListDialog.js
 +++ b/suite/mailnews/content/FilterListDialog.js
-@@ -336,17 +336,17 @@ function onEditFilter()
+@@ -335,17 +335,17 @@ function onEditFilter()
      return;
  
    var selectedFilter = currentFilter();
@@ -4955,7 +4955,7 @@ diff --git a/suite/mailnews/content/FilterListDialog.js b/suite/mailnews/content
    }
  }
  
-@@ -396,17 +396,17 @@ function calculatePositionAndShowCreateF
+@@ -395,17 +395,17 @@ function calculatePositionAndShowCreateF
          break;
        }
      }
@@ -4974,7 +4974,7 @@ diff --git a/suite/mailnews/content/FilterListDialog.js b/suite/mailnews/content
      // On success: reset the search box if necessary!
      resetSearchBox(args.newFilter);
      rebuildFilterList();
-@@ -559,17 +559,17 @@ function moveFilter(motion) {
+@@ -558,17 +558,17 @@ function moveFilter(motion) {
  
    rebuildFilterList();
  }
@@ -5068,7 +5068,7 @@ diff --git a/suite/mailnews/content/SearchDialog.xhtml b/suite/mailnews/content/
 diff --git a/suite/mailnews/content/folderPane.js b/suite/mailnews/content/folderPane.js
 --- a/suite/mailnews/content/folderPane.js
 +++ b/suite/mailnews/content/folderPane.js
-@@ -1736,17 +1736,17 @@ var gFolderTreeController = {
+@@ -1734,17 +1734,17 @@ var gFolderTreeController = {
        // createSubfolder can throw an exception, causing the newFolder dialog
        // to not close and wait for another input.
        // TODO: Rewrite this logic and move the opening of alert dialogs from
@@ -5087,7 +5087,7 @@ diff --git a/suite/mailnews/content/folderPane.js b/suite/mailnews/content/folde
    },
  
    /**
-@@ -1811,17 +1811,17 @@ var gFolderTreeController = {
+@@ -1809,17 +1809,17 @@ var gFolderTreeController = {
        // context menu on a non-loaded folder).
        if (msgFolder == GetLoadedMsgFolder()) {
          gRerootOnFolderLoad = true;
@@ -5106,7 +5106,7 @@ diff --git a/suite/mailnews/content/folderPane.js b/suite/mailnews/content/folde
                         rebuildSummaryCallback: rebuildSummary});
    },
  
-@@ -1842,17 +1842,17 @@ var gFolderTreeController = {
+@@ -1840,17 +1840,17 @@ var gFolderTreeController = {
  
        controller._resetThreadPane();
        let folderTree = document.getElementById("folderTree");
@@ -5125,7 +5125,7 @@ diff --git a/suite/mailnews/content/folderPane.js b/suite/mailnews/content/folde
    /**
     * Deletes a folder from its parent. Also handles unsubscribe from newsgroups
     * if the selected folder/s happen to be nntp.
-@@ -1999,17 +1999,17 @@ var gFolderTreeController = {
+@@ -1997,17 +1997,17 @@ var gFolderTreeController = {
      let folder = aParent || GetSelectedMsgFolders()[0];
      if (!folder)
        folder = GetDefaultAccountRootFolder();
@@ -5144,7 +5144,7 @@ diff --git a/suite/mailnews/content/folderPane.js b/suite/mailnews/content/folde
    /**
     * Opens the dialog to edit the properties for a virtual folder
     *
-@@ -2021,17 +2021,17 @@ var gFolderTreeController = {
+@@ -2019,17 +2019,17 @@ var gFolderTreeController = {
      function editVirtualCallback(aURI) {
        // we need to reload the folder if it is the currently loaded folder...
        if (gMsgFolderSelected && aURI == gMsgFolderSelected.URI) {
@@ -5188,7 +5188,7 @@ diff --git a/suite/mailnews/content/mail-offline.js b/suite/mailnews/content/mai
 diff --git a/suite/mailnews/content/mailCommands.js b/suite/mailnews/content/mailCommands.js
 --- a/suite/mailnews/content/mailCommands.js
 +++ b/suite/mailnews/content/mailCommands.js
-@@ -244,17 +244,17 @@ function NewMessageToSelectedAddresses(t
+@@ -243,17 +243,17 @@ function NewMessageToSelectedAddresses(t
        params.composeFields = composeFields;
        msgComposeService.OpenComposeWindowWithParams(null, params);
      }
@@ -5207,7 +5207,7 @@ diff --git a/suite/mailnews/content/mailCommands.js b/suite/mailnews/content/mai
  function SubscribeOKCallback(changeTable)
  {
    for (var serverURI in changeTable) {
-@@ -392,17 +392,17 @@ function ViewPageSource(messages)
+@@ -391,17 +391,17 @@ function ViewPageSource(messages)
        // Now, we need to get a URL from a URI.
        var url = MailServices.mailSession.ConvertMsgURIToMsgURL(messages[i],
                                                                 msgWindow);
@@ -5229,7 +5229,7 @@ diff --git a/suite/mailnews/content/mailCommands.js b/suite/mailnews/content/mai
 diff --git a/suite/mailnews/content/mailContextMenus.js b/suite/mailnews/content/mailContextMenus.js
 --- a/suite/mailnews/content/mailContextMenus.js
 +++ b/suite/mailnews/content/mailContextMenus.js
-@@ -531,26 +531,26 @@ function AddContact(aEmailAddressNode)
+@@ -530,26 +530,26 @@ function AddContact(aEmailAddressNode)
  {
    if (aEmailAddressNode)
      AddEmailToAddressBook(aEmailAddressNode.getAttribute("emailAddress"),
@@ -5258,7 +5258,7 @@ diff --git a/suite/mailnews/content/mailContextMenus.js b/suite/mailnews/content
  
  /**
   * SendMailToNode takes the email address title button, extracts the email address
-@@ -693,17 +693,17 @@ function OpenMessageByHeader(messageHead
+@@ -692,17 +692,17 @@ function OpenMessageByHeader(messageHead
  {
    var folder    = messageHeader.folder;
    var folderURI = folder.URI;
@@ -5522,7 +5522,7 @@ diff --git a/suite/mailnews/content/mailWidgets.xml b/suite/mailnews/content/mai
 diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/content/mailWindowOverlay.js
 --- a/suite/mailnews/content/mailWindowOverlay.js
 +++ b/suite/mailnews/content/mailWindowOverlay.js
-@@ -1350,17 +1350,17 @@ function MsgOpenFromFile() {
+@@ -1349,17 +1349,17 @@ function MsgOpenFromFile() {
  
    fp.open(rv => {
      if (rv != Ci.nsIFilePicker.returnOK || !fp.file) {
@@ -5541,7 +5541,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
    let mailWindowService = Cc["@mozilla.org/messenger/windowservice;1"]
                              .getService(Ci.nsIMessengerWindowService);
    if (!mailWindowService)
-@@ -1495,17 +1495,17 @@ function MsgOpenNewWindowForMessage(mess
+@@ -1494,17 +1494,17 @@ function MsgOpenNewWindowForMessage(mess
        // required because on a right-click, the currentIndex value will be
        // different from the actual row that is highlighted.
        // GetSelectedMsgFolders() will return the message that is
@@ -5560,7 +5560,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
  }
  
  function MsgJunk() {
-@@ -1535,17 +1535,17 @@ function MsgMarkMsgAsRead(read) {
+@@ -1534,17 +1534,17 @@ function MsgMarkMsgAsRead(read) {
    MarkSelectedMessagesRead(read);
  }
  
@@ -5579,7 +5579,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
    let folders = GetSelectedMsgFolders();
    for (let folder of folders)
      folder.markAllMessagesRead(msgWindow);
-@@ -1615,17 +1615,17 @@ function MsgMarkAllFoldersRead() {
+@@ -1614,17 +1614,17 @@ function MsgMarkAllFoldersRead() {
  
  function MsgFilters(emailAddress, folder) {
    if (!folder)
@@ -5598,7 +5598,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
      if ("refresh" in args && args.refresh) {
         args = { refresh: true, folder, filter: args.newFilter };
         MsgFilterList(args);
-@@ -1765,17 +1765,17 @@ function MsgSendUnsentMsgs() {
+@@ -1764,17 +1764,17 @@ function MsgSendUnsentMsgs() {
  
  function PrintEnginePrintInternal(aDoPrintPreview, aMsgType) {
    var messageList = gFolderDisplay.selectedMessageUris;
@@ -5617,7 +5617,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
  }
  
  function PrintEnginePrint() {
-@@ -1853,17 +1853,17 @@ function getMessageBrowser() {
+@@ -1852,17 +1852,17 @@ function getMessageBrowser() {
  // The zoom manager, view source and possibly some other functions still rely
  // on the getBrowser function.
  function getBrowser() {
@@ -5636,7 +5636,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
  function MsgUpdateMsgCount() {}
  function MsgImport() {}
  function MsgSynchronize() {}
-@@ -2618,17 +2618,17 @@ function IgnoreMDNResponse() {
+@@ -2617,17 +2617,17 @@ function IgnoreMDNResponse() {
   * chosen.
   *
   * @param [aFolder] the folder to open the search window for, if different from
@@ -5655,7 +5655,7 @@ diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/conten
        return;
      Services.prefs.setBoolPref("mailnews.ui.junk.firstuse", false);
  
-@@ -2638,26 +2638,26 @@ function MsgJunkMailInfo(aCheckFirstUse)
+@@ -2637,26 +2637,26 @@ function MsgJunkMailInfo(aCheckFirstUse)
        return;
    }
  
@@ -5840,7 +5840,7 @@ diff --git a/suite/mailnews/content/messenger.xhtml b/suite/mailnews/content/mes
 diff --git a/suite/mailnews/content/msgHdrViewOverlay.js b/suite/mailnews/content/msgHdrViewOverlay.js
 --- a/suite/mailnews/content/msgHdrViewOverlay.js
 +++ b/suite/mailnews/content/msgHdrViewOverlay.js
-@@ -1358,30 +1358,30 @@ createNewAttachmentInfo.prototype.saveAt
+@@ -1357,30 +1357,30 @@ createNewAttachmentInfo.prototype.saveAt
                               false);
  }
  
@@ -6012,7 +6012,7 @@ diff --git a/suite/mailnews/jar.mn b/suite/mailnews/jar.mn
 diff --git a/suite/mailnews/modules/MailUtils.js b/suite/mailnews/modules/MailUtils.js
 --- a/suite/mailnews/modules/MailUtils.js
 +++ b/suite/mailnews/modules/MailUtils.js
-@@ -87,14 +87,14 @@ var MailUtils =
+@@ -86,14 +86,14 @@ var MailUtils =
    openMessageInNewWindow: function MailUtils_openMessageInNewWindow(aMsgHdr)
    {
      // Pass in the message URI as messageWindow.js doesn't handle message headers
@@ -6102,7 +6102,7 @@ diff --git a/suite/themes/classic/jar.mn b/suite/themes/classic/jar.mn
 diff --git a/suite/themes/classic/mac/navigator/navigator.css b/suite/themes/classic/mac/navigator/navigator.css
 --- a/suite/themes/classic/mac/navigator/navigator.css
 +++ b/suite/themes/classic/mac/navigator/navigator.css
-@@ -773,19 +773,19 @@ toolbar[mode="text"] toolbarbutton.chevr
+@@ -779,19 +779,19 @@ toolbar[mode="text"] toolbarbutton.chevr
  #editBookmarkPanelHeader {
    margin-bottom: 6px;
  }

+ 47 - 47
comm-central/patches/TOP-1614671-port1456035-4-and-5-61a1-cc.patch

@@ -1,7 +1,7 @@
 # HG changeset patch
 # User Ian Neal <iann_cvs@blueyonder.co.uk>
 # Date 1581435120 -3600
-# Parent  e58e9d460c00174ae51748bd1acda363cd3de56c
+# Parent  5a097e3bb4587cbe5f1cf058c686faf235130772
 Bug 1614671 - Port |Bug 1456035 Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI|, |Bug 1456035 Part 5 - Convert manual QueryInterface to ChromeUtils.generateQI| and |Bug 1460092 - Add ESLint rule to enforce use of ChromeUtils.generateQI| to SeaMonkey. r=frg
 
 diff --git a/suite/base/content/viewZoomOverlay.js b/suite/base/content/viewZoomOverlay.js
@@ -57,7 +57,7 @@ diff --git a/suite/browser/browser-places.js b/suite/browser/browser-places.js
 diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
 --- a/suite/browser/navigator.js
 +++ b/suite/browser/navigator.js
-@@ -49,21 +49,20 @@ var gIgnoreClick = false;
+@@ -48,21 +48,20 @@ var gIgnoreClick = false;
  // Listeners for updating zoom value in status bar
  var ZoomListeners =
  {
@@ -83,7 +83,7 @@ diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
      .addObserverForName(this.name, this);
  
      Services.prefs.addObserver("browser.zoom.", this, true);
-@@ -176,18 +175,18 @@ var gStatusBarPopupIconPrefListener =
+@@ -175,18 +174,18 @@ var gStatusBarPopupIconPrefListener =
        popupIcon.hidden = true;
  
      else if (gBrowser.getNotificationBox().popupCount)
@@ -107,7 +107,7 @@ diff --git a/suite/browser/navigator.js b/suite/browser/navigator.js
 diff --git a/suite/browser/nsBrowserContentHandler.js b/suite/browser/nsBrowserContentHandler.js
 --- a/suite/browser/nsBrowserContentHandler.js
 +++ b/suite/browser/nsBrowserContentHandler.js
-@@ -216,27 +216,21 @@ function doSearch(aSearchTerm, aFeatures
+@@ -214,27 +214,21 @@ function doSearch(aSearchTerm, aFeatures
  }
  
  var nsBrowserContentHandler = {
@@ -206,7 +206,7 @@ diff --git a/suite/browser/nsBrowserStatusHandler.js b/suite/browser/nsBrowserSt
 diff --git a/suite/browser/nsTypeAheadFind.js b/suite/browser/nsTypeAheadFind.js
 --- a/suite/browser/nsTypeAheadFind.js
 +++ b/suite/browser/nsTypeAheadFind.js
-@@ -61,17 +61,17 @@ typeAheadFind.prototype = {
+@@ -60,17 +60,17 @@ typeAheadFind.prototype = {
    mFound: null,
    mLinks: false,
    mSearchString: "",
@@ -369,7 +369,7 @@ diff --git a/suite/components/bindings/findbar.xml b/suite/components/bindings/f
 diff --git a/suite/components/bindings/notification.xml b/suite/components/bindings/notification.xml
 --- a/suite/components/bindings/notification.xml
 +++ b/suite/components/bindings/notification.xml
-@@ -1581,18 +1581,19 @@
+@@ -1580,18 +1580,19 @@
                  optInCB.checked = Services.prefs.getBoolPref("dom.ipc.plugins.reportCrashURL");
              }
  
@@ -421,7 +421,7 @@ diff --git a/suite/components/console/content/consoleBindings.xml b/suite/compon
 diff --git a/suite/components/console/jsconsole-clhandler.js b/suite/components/console/jsconsole-clhandler.js
 --- a/suite/components/console/jsconsole-clhandler.js
 +++ b/suite/components/console/jsconsole-clhandler.js
-@@ -23,12 +23,12 @@ jsConsoleHandler.prototype = {
+@@ -22,12 +22,12 @@ jsConsoleHandler.prototype = {
  
      if (cmdLine.state == Ci.nsICommandLine.STATE_REMOTE_AUTO)
        cmdLine.preventDefault = true;
@@ -438,7 +438,7 @@ diff --git a/suite/components/console/jsconsole-clhandler.js b/suite/components/
 diff --git a/suite/components/dataman/content/dataman.js b/suite/components/dataman/content/dataman.js
 --- a/suite/components/dataman/content/dataman.js
 +++ b/suite/components/dataman/content/dataman.js
-@@ -119,18 +119,18 @@ var gDataman = {
+@@ -118,18 +118,18 @@ var gDataman = {
    },
  
    debugError: function dataman_debugError(aLogMessage) {
@@ -462,7 +462,7 @@ diff --git a/suite/components/dataman/content/dataman.js b/suite/components/data
 diff --git a/suite/components/downloads/DownloadsCommon.jsm b/suite/components/downloads/DownloadsCommon.jsm
 --- a/suite/components/downloads/DownloadsCommon.jsm
 +++ b/suite/components/downloads/DownloadsCommon.jsm
-@@ -68,18 +68,18 @@ const kDownloadsStringsRequiringPluralFo
+@@ -67,18 +67,18 @@ const kDownloadsStringsRequiringPluralFo
  const kPartialDownloadSuffix = ".part";
  
  const kPrefBranch = Services.prefs.getBranch("browser.download.");
@@ -486,7 +486,7 @@ diff --git a/suite/components/downloads/DownloadsCommon.jsm b/suite/components/d
 diff --git a/suite/components/downloads/content/treeView.js b/suite/components/downloads/content/treeView.js
 --- a/suite/components/downloads/content/treeView.js
 +++ b/suite/components/downloads/content/treeView.js
-@@ -16,17 +16,17 @@ function DownloadTreeView() {
+@@ -15,17 +15,17 @@ function DownloadTreeView() {
    this._searchTerms = [];
    this.dateTimeFormatter =
      new Services.intl.DateTimeFormat(undefined,
@@ -508,7 +508,7 @@ diff --git a/suite/components/downloads/content/treeView.js b/suite/components/d
 diff --git a/suite/components/downloads/content/uploadProgress.js b/suite/components/downloads/content/uploadProgress.js
 --- a/suite/components/downloads/content/uploadProgress.js
 +++ b/suite/components/downloads/content/uploadProgress.js
-@@ -161,17 +161,17 @@ var gProgressListener = {
+@@ -160,17 +160,17 @@ var gProgressListener = {
    onLocationChange: function( aWebProgress, aRequest, aLocation, aFlags ) {
    },
  
@@ -530,7 +530,7 @@ diff --git a/suite/components/downloads/content/uploadProgress.js b/suite/compon
 diff --git a/suite/components/feeds/FeedConverter.js b/suite/components/feeds/FeedConverter.js
 --- a/suite/components/feeds/FeedConverter.js
 +++ b/suite/components/feeds/FeedConverter.js
-@@ -103,17 +103,17 @@ FeedConverter.prototype = {
+@@ -102,17 +102,17 @@ FeedConverter.prototype = {
    /**
     * Records if the feed was sniffed
     */
@@ -549,7 +549,7 @@ diff --git a/suite/components/feeds/FeedConverter.js b/suite/components/feeds/Fe
  
    /**
     * See nsIStreamConverter.idl
-@@ -446,16 +446,16 @@ FeedResultService.prototype = {
+@@ -445,16 +445,16 @@ FeedResultService.prototype = {
      // send the holes to the end
      resultList.sort();
      // and trim the list
@@ -570,7 +570,7 @@ diff --git a/suite/components/feeds/FeedConverter.js b/suite/components/feeds/Fe
 diff --git a/suite/components/feeds/FeedWriter.js b/suite/components/feeds/FeedWriter.js
 --- a/suite/components/feeds/FeedWriter.js
 +++ b/suite/components/feeds/FeedWriter.js
-@@ -1197,14 +1197,14 @@ FeedWriter.prototype = {
+@@ -1196,14 +1196,14 @@ FeedWriter.prototype = {
          case PREF_VIDEO_SELECTED_ACTION:
          case PREF_AUDIO_SELECTED_ACTION:
            this._setAlwaysUseCheckedState(feedType);
@@ -589,7 +589,7 @@ diff --git a/suite/components/feeds/FeedWriter.js b/suite/components/feeds/FeedW
 diff --git a/suite/components/feeds/WebContentConverter.js b/suite/components/feeds/WebContentConverter.js
 --- a/suite/components/feeds/WebContentConverter.js
 +++ b/suite/components/feeds/WebContentConverter.js
-@@ -55,29 +55,29 @@ WebContentConverter.prototype = {
+@@ -51,29 +51,29 @@ WebContentConverter.prototype = {
    onStopRequest: function onStopRequest() { },
  
    onStartRequest: function onStartRequest(request, context) {
@@ -621,7 +621,7 @@ diff --git a/suite/components/feeds/WebContentConverter.js b/suite/components/fe
    this._uri = uri;
    this._name = name;
  }
-@@ -121,17 +121,17 @@ ServiceInfo.prototype = {
+@@ -117,17 +117,17 @@ ServiceInfo.prototype = {
  
    /**
     * See nsIWebContentHandlerInfo
@@ -640,7 +640,7 @@ diff --git a/suite/components/feeds/WebContentConverter.js b/suite/components/fe
    this._autoHandleContentTypes = { };
  }
  
-@@ -803,16 +803,16 @@ WebContentConverterRegistrar.prototype =
+@@ -833,16 +833,16 @@ WebContentConverterRegistrar.prototype =
                     Ci.nsIWebContentHandlerRegistrar,
                     Ci.nsIObserver,
                     Ci.nsIFactory],
@@ -661,7 +661,7 @@ diff --git a/suite/components/feeds/WebContentConverter.js b/suite/components/fe
 diff --git a/suite/components/helpviewer/content/help.js b/suite/components/helpviewer/content/help.js
 --- a/suite/components/helpviewer/content/help.js
 +++ b/suite/components/helpviewer/content/help.js
-@@ -575,25 +575,19 @@ nsHelpStatusHandler.prototype = {
+@@ -574,25 +574,19 @@ nsHelpStatusHandler.prototype = {
      onStateChange : function(aWebProgress, aRequest, aStateFlags, aStatus) {},
      onProgressChange : function(aWebProgress, aRequest, aCurSelfProgress,
          aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress) {},
@@ -690,7 +690,7 @@ diff --git a/suite/components/helpviewer/content/help.js b/suite/components/help
      setJSStatus : function(status) {},
      setOverLink : function(link, context) {},
      onBeforeLinkTraversal: function(originalTarget, linkURI, linkNode, isAppTab) {}
-@@ -840,17 +834,11 @@ var helpContentListener = {
+@@ -839,17 +833,11 @@ var helpContentListener = {
    isPreferred: function(aContentType, aDesiredContentType) {
      return false;
    },
@@ -713,7 +713,7 @@ diff --git a/suite/components/helpviewer/content/help.js b/suite/components/help
 diff --git a/suite/components/migration/SuiteProfileMigrator.js b/suite/components/migration/SuiteProfileMigrator.js
 --- a/suite/components/migration/SuiteProfileMigrator.js
 +++ b/suite/components/migration/SuiteProfileMigrator.js
-@@ -135,15 +135,15 @@ ProfileMigrator.prototype = {
+@@ -134,15 +134,15 @@ ProfileMigrator.prototype = {
        if (migrator) {
          return [key, migrator];
        }
@@ -733,7 +733,7 @@ diff --git a/suite/components/migration/SuiteProfileMigrator.js b/suite/componen
 diff --git a/suite/components/nsAbout.js b/suite/components/nsAbout.js
 --- a/suite/components/nsAbout.js
 +++ b/suite/components/nsAbout.js
-@@ -31,17 +31,17 @@ About.prototype = {
+@@ -30,17 +30,17 @@ About.prototype = {
    rightsFlags: SCRIPT | UNTRUSTED,
    rightsURI: "chrome://branding/content/aboutRights.xhtml",
    sessionrestoreFlags: SCRIPT | HIDE,
@@ -755,7 +755,7 @@ diff --git a/suite/components/nsAbout.js b/suite/components/nsAbout.js
 diff --git a/suite/components/nsGopherProtocolStubHandler.js b/suite/components/nsGopherProtocolStubHandler.js
 --- a/suite/components/nsGopherProtocolStubHandler.js
 +++ b/suite/components/nsGopherProtocolStubHandler.js
-@@ -16,17 +16,17 @@ function GopherProtocol()
+@@ -15,17 +15,17 @@ function GopherProtocol()
  {
  }
  
@@ -777,7 +777,7 @@ diff --git a/suite/components/nsGopherProtocolStubHandler.js b/suite/components/
 diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
 --- a/suite/components/nsSuiteGlue.js
 +++ b/suite/components/nsSuiteGlue.js
-@@ -1559,20 +1559,20 @@ SuiteGlue.prototype = {
+@@ -1558,20 +1558,20 @@ SuiteGlue.prototype = {
      } catch (e) {
        Cu.reportError("Error displaying tab received by Sync: " + e);
      }
@@ -802,7 +802,7 @@ diff --git a/suite/components/nsSuiteGlue.js b/suite/components/nsSuiteGlue.js
   * simple permission prompts when content requests additional
   * capabilities.
   *
-@@ -1619,17 +1619,17 @@ var ContentPermissionIntegration = {
+@@ -1618,17 +1618,17 @@ var ContentPermissionIntegration = {
    },
  };
  
@@ -964,7 +964,7 @@ diff --git a/suite/components/places/content/controller.js b/suite/components/pl
 diff --git a/suite/components/places/content/editBookmarkOverlay.js b/suite/components/places/content/editBookmarkOverlay.js
 --- a/suite/components/places/content/editBookmarkOverlay.js
 +++ b/suite/components/places/content/editBookmarkOverlay.js
-@@ -455,17 +455,17 @@ var gEditItemOverlay = {
+@@ -454,17 +454,17 @@ var gEditItemOverlay = {
                                        this._folderMenuList.selectedIndex);
  
      // Hide the folders-separator if no folder is annotated as recently-used
@@ -986,7 +986,7 @@ diff --git a/suite/components/places/content/editBookmarkOverlay.js b/suite/comp
 diff --git a/suite/components/places/content/places.js b/suite/components/places/content/places.js
 --- a/suite/components/places/content/places.js
 +++ b/suite/components/places/content/places.js
-@@ -157,22 +157,17 @@ var PlacesOrganizer = {
+@@ -156,22 +156,17 @@ var PlacesOrganizer = {
  
      // remove the "Properties" context-menu item, we've our own details pane
      document.getElementById("placesContext")
@@ -1013,7 +1013,7 @@ diff --git a/suite/components/places/content/places.js b/suite/components/places
 diff --git a/suite/components/places/content/treeView.js b/suite/components/places/content/treeView.js
 --- a/suite/components/places/content/treeView.js
 +++ b/suite/components/places/content/treeView.js
-@@ -54,17 +54,17 @@ PlacesTreeView.prototype = {
+@@ -53,17 +53,17 @@ PlacesTreeView.prototype = {
    __xulStore: null,
    get _xulStore() {
      if (!this.__xulStore) {
@@ -1035,7 +1035,7 @@ diff --git a/suite/components/places/content/treeView.js b/suite/components/plac
 diff --git a/suite/components/places/nsPlacesAutoComplete.js b/suite/components/places/nsPlacesAutoComplete.js
 --- a/suite/components/places/nsPlacesAutoComplete.js
 +++ b/suite/components/places/nsPlacesAutoComplete.js
-@@ -266,17 +266,17 @@ AutoCompleteStatementCallbackWrapper.pro
+@@ -265,17 +265,17 @@ AutoCompleteStatementCallbackWrapper.pro
    {
      return this._handle = this._db.executeAsync(aQueries, aQueries.length,
                                                  this);
@@ -1054,7 +1054,7 @@ diff --git a/suite/components/places/nsPlacesAutoComplete.js b/suite/components/
  //// nsPlacesAutoComplete class
  //// @mozilla.org/autocomplete/search;1?name=history
  
-@@ -1304,17 +1304,17 @@ nsPlacesAutoComplete.prototype = {
+@@ -1303,17 +1303,17 @@ nsPlacesAutoComplete.prototype = {
  
    //////////////////////////////////////////////////////////////////////////////
    //// nsISupports
@@ -1076,7 +1076,7 @@ diff --git a/suite/components/places/nsPlacesAutoComplete.js b/suite/components/
 diff --git a/suite/components/places/tests/autocomplete/head_autocomplete.js b/suite/components/places/tests/autocomplete/head_autocomplete.js
 --- a/suite/components/places/tests/autocomplete/head_autocomplete.js
 +++ b/suite/components/places/tests/autocomplete/head_autocomplete.js
-@@ -35,17 +35,17 @@ AutoCompleteInput.prototype = {
+@@ -33,17 +33,17 @@ AutoCompleteInput.prototype = {
    disableAutoComplete: false,
    completeDefaultIndex: false,
    get popup() { return this; },
@@ -1120,7 +1120,7 @@ diff --git a/suite/components/places/tests/browser/browser_library_views_liveupd
 diff --git a/suite/components/places/tests/head_common.js b/suite/components/places/tests/head_common.js
 --- a/suite/components/places/tests/head_common.js
 +++ b/suite/components/places/tests/head_common.js
-@@ -749,17 +749,17 @@ function NavBookmarkObserver() {}
+@@ -747,17 +747,17 @@ function NavBookmarkObserver() {}
  NavBookmarkObserver.prototype = {
    onBeginUpdateBatch: function () {},
    onEndUpdateBatch: function () {},
@@ -1139,7 +1139,7 @@ diff --git a/suite/components/places/tests/head_common.js b/suite/components/pla
   * Generic nsINavHistoryObserver that doesn't implement anything, but provides
   * dummy methods to prevent errors about an object not having a certain method.
   */
-@@ -769,17 +769,17 @@ NavHistoryObserver.prototype = {
+@@ -767,17 +767,17 @@ NavHistoryObserver.prototype = {
    onBeginUpdateBatch: function () {},
    onEndUpdateBatch: function () {},
    onVisit: function () {},
@@ -1158,7 +1158,7 @@ diff --git a/suite/components/places/tests/head_common.js b/suite/components/pla
   * Generic nsINavHistoryResultObserver that doesn't implement anything, but
   * provides dummy methods to prevent errors about an object not having a certain
   * method.
-@@ -798,17 +798,17 @@ NavHistoryResultObserver.prototype = {
+@@ -796,17 +796,17 @@ NavHistoryResultObserver.prototype = {
    nodeKeywordChanged: function () {},
    nodeLastModifiedChanged: function () {},
    nodeMoved: function () {},
@@ -1397,7 +1397,7 @@ diff --git a/suite/components/pref/content/pref-cache.js b/suite/components/pref
 diff --git a/suite/components/search/content/search-panel.js b/suite/components/search/content/search-panel.js
 --- a/suite/components/search/content/search-panel.js
 +++ b/suite/components/search/content/search-panel.js
-@@ -69,18 +69,18 @@ function doSearch() {
+@@ -68,18 +68,18 @@ function doSearch() {
    }
  
    var where = Services.prefs.getBoolPref("browser.search.openintab") ? "tab" : "current";
@@ -1421,7 +1421,7 @@ diff --git a/suite/components/search/content/search-panel.js b/suite/components/
 diff --git a/suite/components/sessionstore/nsSessionStartup.js b/suite/components/sessionstore/nsSessionStartup.js
 --- a/suite/components/sessionstore/nsSessionStartup.js
 +++ b/suite/components/sessionstore/nsSessionStartup.js
-@@ -208,16 +208,16 @@ SessionStartup.prototype = {
+@@ -207,16 +207,16 @@ SessionStartup.prototype = {
        return content.replace(/\r\n?/g, "\n");
      }
      catch (ex) { Cu.reportError(ex); }
@@ -1444,7 +1444,7 @@ diff --git a/suite/components/sessionstore/nsSessionStartup.js b/suite/component
 diff --git a/suite/components/sessionstore/nsSessionStore.js b/suite/components/sessionstore/nsSessionStore.js
 --- a/suite/components/sessionstore/nsSessionStore.js
 +++ b/suite/components/sessionstore/nsSessionStore.js
-@@ -118,19 +118,19 @@ function SessionStoreService() {
+@@ -117,19 +117,19 @@ function SessionStoreService() {
      // get crash recovery state from prefs and allow for proper reaction to state changes
      this._prefBranch.addObserver("sessionstore.resume_from_crash", this, true);
      return this._prefBranch.getBoolPref("sessionstore.resume_from_crash");
@@ -1467,7 +1467,7 @@ diff --git a/suite/components/sessionstore/nsSessionStore.js b/suite/components/
    // set default load state
    _loadState: STATE_STOPPED,
  
-@@ -4145,18 +4145,18 @@ var gRestoreTabsProgressListener = {
+@@ -4144,18 +4144,18 @@ var gRestoreTabsProgressListener = {
  // restored. We need to catch reloads that occur before the tab is restored
  // because otherwise, docShell will reload an old URI (usually about:blank).
  function SessionStoreSHistoryListener(ss, aTab) {
@@ -1509,7 +1509,7 @@ diff --git a/suite/components/shell/nsSetDefault.js b/suite/components/shell/nsS
 diff --git a/suite/components/sidebar/nsSidebar.js b/suite/components/sidebar/nsSidebar.js
 --- a/suite/components/sidebar/nsSidebar.js
 +++ b/suite/components/sidebar/nsSidebar.js
-@@ -295,17 +295,17 @@ function (aSearchURL)
+@@ -294,17 +294,17 @@ function (aSearchURL)
  nsSidebar.prototype.classInfo = XPCOMUtils.generateCI({
      classID: SIDEBAR_CID,
      contractID: SIDEBAR_CONTRACTID,
@@ -1531,11 +1531,11 @@ diff --git a/suite/components/sidebar/nsSidebar.js b/suite/components/sidebar/ns
 diff --git a/suite/components/sync/content/syncSetup.js b/suite/components/sync/content/syncSetup.js
 --- a/suite/components/sync/content/syncSetup.js
 +++ b/suite/components/sync/content/syncSetup.js
-@@ -21,18 +21,18 @@ const RECAPTCHA_DOMAIN = "https://www.go
+@@ -20,18 +20,18 @@ const SETUP_SUCCESS_PAGE            = 8;
+ const RECAPTCHA_DOMAIN = "https://www.google.com";
  
  const {Weave} = ChromeUtils.import("resource://services-sync/main.js");
  var {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
- var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
  const {PlacesUtils} = ChromeUtils.import("resource://gre/modules/PlacesUtils.jsm");
  const {PluralForm} = ChromeUtils.import("resource://gre/modules/PluralForm.jsm");
  
@@ -1628,7 +1628,7 @@ diff --git a/suite/extensions/debugQA/content/debugQAEditorOverlay.js b/suite/ex
 diff --git a/suite/mailnews/components/compose/content/MsgComposeCommands.js b/suite/mailnews/components/compose/content/MsgComposeCommands.js
 --- a/suite/mailnews/components/compose/content/MsgComposeCommands.js
 +++ b/suite/mailnews/components/compose/content/MsgComposeCommands.js
-@@ -449,25 +449,18 @@ var progressListener = {
+@@ -448,25 +448,18 @@ var progressListener = {
        } catch (ex) {}
      },
  
@@ -1656,7 +1656,7 @@ diff --git a/suite/mailnews/components/compose/content/MsgComposeCommands.js b/s
    {
      switch (command)
      {
-@@ -2921,25 +2914,18 @@ function OpenSelectedAttachment()
+@@ -2920,25 +2913,18 @@ function OpenSelectedAttachment()
  }
  
  function nsAttachmentOpener()
@@ -1852,7 +1852,7 @@ diff --git a/suite/mailnews/content/mailWindow.js b/suite/mailnews/content/mailW
 diff --git a/suite/mailnews/content/mailWindowOverlay.js b/suite/mailnews/content/mailWindowOverlay.js
 --- a/suite/mailnews/content/mailWindowOverlay.js
 +++ b/suite/mailnews/content/mailWindowOverlay.js
-@@ -1198,25 +1198,20 @@ BatchMessageMover.prototype =
+@@ -1197,25 +1197,20 @@ BatchMessageMover.prototype =
      if (aFolder.parent == this._dstFolderParent &&
          aFolder.name == this._dstFolderName) {
        this._dstFolderParent = null;
@@ -1914,7 +1914,7 @@ diff --git a/suite/mailnews/content/messageWindow.js b/suite/mailnews/content/me
 diff --git a/suite/mailnews/content/msgHdrViewOverlay.js b/suite/mailnews/content/msgHdrViewOverlay.js
 --- a/suite/mailnews/content/msgHdrViewOverlay.js
 +++ b/suite/mailnews/content/msgHdrViewOverlay.js
-@@ -317,17 +317,17 @@ function OnAddressBookDataChanged(aActio
+@@ -316,17 +316,17 @@ function OnAddressBookDataChanged(aActio
      }
    });
  }
@@ -1933,7 +1933,7 @@ diff --git a/suite/mailnews/content/msgHdrViewOverlay.js b/suite/mailnews/conten
        if (gCollectAddressTimer)
        {
          clearTimeout(gCollectAddressTimer);
-@@ -1884,17 +1884,17 @@ var attachmentAreaDNDObserver = {
+@@ -1883,17 +1883,17 @@ var attachmentAreaDNDObserver = {
  };
  
  function nsFlavorDataProvider()
@@ -1984,7 +1984,7 @@ diff --git a/suite/mailnews/content/threadPane.js b/suite/mailnews/content/threa
 diff --git a/suite/modules/WindowsPreviewPerTab.jsm b/suite/modules/WindowsPreviewPerTab.jsm
 --- a/suite/modules/WindowsPreviewPerTab.jsm
 +++ b/suite/modules/WindowsPreviewPerTab.jsm
-@@ -155,17 +155,17 @@ function PreviewController(win, tab) {
+@@ -154,17 +154,17 @@ function PreviewController(win, tab) {
    XPCOMUtils.defineLazyGetter(this, "canvasPreview", function () {
      let canvas = PageThumbs.createCanvas();
      canvas.mozOpaque = true;
@@ -2003,7 +2003,7 @@ diff --git a/suite/modules/WindowsPreviewPerTab.jsm b/suite/modules/WindowsPrevi
      this.tab.removeEventListener("TabAttrModified", this);
  
      // Break cycles, otherwise we end up leaking the window with everything
-@@ -850,19 +850,19 @@ var AeroPeek = {
+@@ -849,19 +849,19 @@ var AeroPeek = {
            if (tab.getAttribute("image") == newValue) {
              win.onLinkIconAvailable(tab.linkedBrowser, newValue);
            }

+ 2 - 2
comm-central/patches/TOP-1642188-remove-nsDOMIEvent-cc.patch

@@ -1,13 +1,13 @@
 # HG changeset patch
 # User Ian Neal <iann_cvs@blueyonder.co.uk>
 # Date 1590913490 -3600
-# Parent  4d354d1ae005ec2eb0f428ada5ed0a4f5b750e40
+# Parent  69696318aa960bddd9b29d5c2ecac39b5cf5779a
 Bug 1642188 - Port |Bug 1455052 part 12 - Remove JS uses of nsIDOMEvent| to SeaMonkey. r=frg
 
 diff --git a/suite/browser/nsTypeAheadFind.js b/suite/browser/nsTypeAheadFind.js
 --- a/suite/browser/nsTypeAheadFind.js
 +++ b/suite/browser/nsTypeAheadFind.js
-@@ -129,17 +129,17 @@ typeAheadFind.prototype = {
+@@ -128,17 +128,17 @@ typeAheadFind.prototype = {
        return true;
  
      if (aEvent.type != "keypress") {

+ 4 - 3
comm-central/patches/TOP-9999999-port1514936-suite-102a1.patch

@@ -1,13 +1,14 @@
 # HG changeset patch
 # User Bill Gianopoulos <wgianopoulos@gmail.com>
 # Date 1652731241 0
+# Parent  30bb244a42f362a051478e3a9c5290cbb240967b
 Bug 9999999 - Port bug 1514936 to suite
 Bug 1514936, part 1 - Remove the outer argument to nsIFactory::createInstance.
 
 diff --git a/suite/browser/nsBrowserContentHandler.js b/suite/browser/nsBrowserContentHandler.js
 --- a/suite/browser/nsBrowserContentHandler.js
 +++ b/suite/browser/nsBrowserContentHandler.js
-@@ -602,20 +602,17 @@ var nsBrowserContentHandler = {
+@@ -600,20 +600,17 @@ var nsBrowserContentHandler = {
      handURIToExistingBrowser(request.URI,
                               nsIBrowserDOMWindow.OPEN_DEFAULTWINDOW,
                               "chrome,all,dialog=no",
@@ -126,7 +127,7 @@ diff --git a/suite/chatzilla/js/lib/protocol-handlers.jsm b/suite/chatzilla/js/l
 diff --git a/suite/components/feeds/WebContentConverter.js b/suite/components/feeds/WebContentConverter.js
 --- a/suite/components/feeds/WebContentConverter.js
 +++ b/suite/components/feeds/WebContentConverter.js
-@@ -61,19 +61,17 @@ WebContentConverter.prototype = {
+@@ -57,19 +57,17 @@ WebContentConverter.prototype = {
    },
  
    QueryInterface: ChromeUtils.generateQI(
@@ -147,7 +148,7 @@ diff --git a/suite/components/feeds/WebContentConverter.js b/suite/components/fe
  };
  
  function ServiceInfo(contentType, uri, name) {
-@@ -784,19 +782,17 @@ WebContentConverterRegistrar.prototype =
+@@ -814,19 +812,17 @@ WebContentConverterRegistrar.prototype =
        this._init();
        break;
      }

+ 4 - 3
comm-central/patches/TOP-9999999-port1646560-suite-91a1.patch

@@ -1,12 +1,13 @@
 # HG changeset patch
 # User Bill Gianopoulos <wgianopoulos@gmail.com>
 # Date 1623804470 0
+# Parent  b7712f67d2e6d9269c35e3faa4cb785235f759cc
 Bug 9999999 - Port Bug 1646560 - Move allowJavascript and friends from DocShell to BrowsingContext and WindowContext.
 
 diff --git a/suite/base/content/nsContextMenu.js b/suite/base/content/nsContextMenu.js
 --- a/suite/base/content/nsContextMenu.js
 +++ b/suite/base/content/nsContextMenu.js
-@@ -57,17 +57,17 @@ nsContextMenu.prototype = {
+@@ -56,17 +56,17 @@ nsContextMenu.prototype = {
      // Get contextual info.
      this.setTarget(document.popupNode, document.popupRangeParent,
                     document.popupRangeOffset);
@@ -28,7 +29,7 @@ diff --git a/suite/base/content/nsContextMenu.js b/suite/base/content/nsContextM
 diff --git a/suite/components/helpviewer/content/help.js b/suite/components/helpviewer/content/help.js
 --- a/suite/components/helpviewer/content/help.js
 +++ b/suite/components/helpviewer/content/help.js
-@@ -111,17 +111,17 @@ function init() {
+@@ -110,17 +110,17 @@ function init() {
    // Cache panel references.
    helpSearchPanel = document.getElementById("help-search-panel");
    helpTocPanel = document.getElementById("help-toc-panel");
@@ -67,8 +68,8 @@ diff --git a/suite/components/sessionstore/nsSessionStore.js b/suite/components/
  // These are tab events that we listen to.
  const TAB_EVENTS = ["TabOpen", "TabClose", "TabSelect", "TabShow", "TabHide"];
  
- var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
  var {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
+ var {NetUtil} = ChromeUtils.import("resource://gre/modules/NetUtil.jsm");
 diff --git a/suite/components/tests/browser/browser_493467.js b/suite/components/tests/browser/browser_493467.js
 --- a/suite/components/tests/browser/browser_493467.js
 +++ b/suite/components/tests/browser/browser_493467.js

+ 2 - 1
comm-central/patches/TOP-9999999-port1769442-suite-102a1.patch

@@ -1,13 +1,14 @@
 # HG changeset patch
 # User Bill Gianopoulos <wgianopoulos@gmail.com>
 # Date 1652730873 0
+# Parent  9acd7bf5aa580cc761ea769516d95137d52302d8
 Bug 9999999 - Port bug 1769442 to suite.
 Bug 1769442 - Remove nsIFactory::lockFactory, breaking compatibility with IClassFactory.
 
 diff --git a/suite/browser/nsBrowserContentHandler.js b/suite/browser/nsBrowserContentHandler.js
 --- a/suite/browser/nsBrowserContentHandler.js
 +++ b/suite/browser/nsBrowserContentHandler.js
-@@ -608,20 +608,16 @@ var nsBrowserContentHandler = {
+@@ -606,20 +606,16 @@ var nsBrowserContentHandler = {
  
    /* nsIFactory */
    createInstance: function createInstance(outer, iid) {

+ 133 - 133
comm-central/patches/WIP-1783623-port1524687-suite.patch

@@ -1,9 +1,140 @@
 # HG changeset patch
 # User Bill Gianopoulos <wgianopoulos@gmail.com>
 # Date 1659988365 0
+# Parent  65d9df42752567f4d9b0b109ccf8c0c162afc02f
 Bug 1783623 - Convert suite binary components registration to components.conf.
 Port Bug 1524687 Part 11  to suite.
 
+diff --git a/suite/components/AboutRedirector.jsm b/suite/components/AboutRedirector.jsm
+new file mode 100644
+--- /dev/null
++++ b/suite/components/AboutRedirector.jsm
+@@ -0,0 +1,125 @@
++/* This Source Code Form is subject to the terms of the Mozilla Public
++ * License, v. 2.0. If a copy of the MPL was not distributed with this
++ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
++
++var EXPORTED_SYMBOLS = ["AboutRedirector"];
++
++function AboutRedirector() {}
++AboutRedirector.prototype = {
++  QueryInterface: ChromeUtils.generateQI(["nsIAboutModule"]),
++
++  // Each entry in the map has the key as the part after the "about:" and the
++  // value as a record with url and flags entries. Note that each addition here
++  // should be coupled with a corresponding addition in mailComponents.manifest.
++  _redirMap: {
++    newserror: {
++      url: "chrome://messenger/content/newsError.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    rights: {
++      url: "chrome://messenger/content/aboutRights.xhtml",
++      flags:
++        Ci.nsIAboutModule.ALLOW_SCRIPT |
++        Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT,
++    },
++    support: {
++      url: "chrome://messenger/content/about-support/aboutSupport.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    preferences: {
++      url: "chrome://messenger/content/preferences/preferences.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    downloads: {
++      url: "chrome://messenger/content/downloads/aboutDownloads.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    policies: {
++      url: "chrome://messenger/content/policies/aboutPolicies.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    accountsettings: {
++      url: "chrome://messenger/content/AccountManager.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    accountsetup: {
++      url: "chrome://messenger/content/accountcreation/accountSetup.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    accountprovisioner: {
++      url: "chrome://messenger/content/newmailaccount/accountProvisioner.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    addressbook: {
++      url: "chrome://messenger/content/addressbook/aboutAddressBook.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    "3pane": {
++      url: "chrome://messenger/content/about3Pane.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    message: {
++      url: "chrome://messenger/content/aboutMessage.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    import: {
++      url: "chrome://messenger/content/aboutImport.xhtml",
++      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
++    },
++    profiling: {
++      url:
++        "chrome://devtools/content/performance-new/aboutprofiling/index.xhtml",
++      flags:
++        Ci.nsIAboutModule.ALLOW_SCRIPT | Ci.nsIAboutModule.IS_SECURE_CHROME_UI,
++    },
++  },
++
++  /**
++   * Gets the module name from the given URI.
++   */
++  _getModuleName(aURI) {
++    // Strip out the first ? or #, and anything following it
++    let name = /[^?#]+/.exec(aURI.pathQueryRef)[0];
++    return name.toLowerCase();
++  },
++
++  getURIFlags(aURI) {
++    let name = this._getModuleName(aURI);
++    if (!(name in this._redirMap)) {
++      throw Components.Exception(`no about:${name}`, Cr.NS_ERROR_ILLEGAL_VALUE);
++    }
++    return this._redirMap[name].flags;
++  },
++
++  newChannel(aURI, aLoadInfo) {
++    let name = this._getModuleName(aURI);
++    if (!(name in this._redirMap)) {
++      throw Components.Exception(`no about:${name}`, Cr.NS_ERROR_ILLEGAL_VALUE);
++    }
++
++    let newURI = Services.io.newURI(this._redirMap[name].url);
++    let channel = Services.io.newChannelFromURIWithLoadInfo(newURI, aLoadInfo);
++    channel.originalURI = aURI;
++
++    if (
++      this._redirMap[name].flags &
++      Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT
++    ) {
++      let principal = Services.scriptSecurityManager.createContentPrincipal(
++        aURI,
++        {}
++      );
++      channel.owner = principal;
++    }
++
++    return channel;
++  },
++
++  getChromeURI(aURI) {
++    let name = this._getModuleName(aURI);
++    if (!(name in this._redirMap)) {
++      throw Components.Exception(`no about:${name}`, Cr.NS_ERROR_ILLEGAL_VALUE);
++    }
++    return Services.io.newURI(this._redirMap[name].url);
++  },
++};
 diff --git a/suite/components/build/components.conf b/suite/components/build/components.conf
 new file mode 100644
 --- /dev/null
@@ -169,136 +300,6 @@ deleted file mode 100644
 -  kSuiteContracts,
 -  kSuiteCategories
 -};
-diff --git a/suite/components/AboutRedirector.jsm b/suite/components/AboutRedirector.jsm
-new file mode 100644
---- /dev/null
-+++ b/suite/components/AboutRedirector.jsm
-@@ -0,0 +1,125 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this
-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+var EXPORTED_SYMBOLS = ["AboutRedirector"];
-+
-+function AboutRedirector() {}
-+AboutRedirector.prototype = {
-+  QueryInterface: ChromeUtils.generateQI(["nsIAboutModule"]),
-+
-+  // Each entry in the map has the key as the part after the "about:" and the
-+  // value as a record with url and flags entries. Note that each addition here
-+  // should be coupled with a corresponding addition in mailComponents.manifest.
-+  _redirMap: {
-+    newserror: {
-+      url: "chrome://messenger/content/newsError.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    rights: {
-+      url: "chrome://messenger/content/aboutRights.xhtml",
-+      flags:
-+        Ci.nsIAboutModule.ALLOW_SCRIPT |
-+        Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT,
-+    },
-+    support: {
-+      url: "chrome://messenger/content/about-support/aboutSupport.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    preferences: {
-+      url: "chrome://messenger/content/preferences/preferences.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    downloads: {
-+      url: "chrome://messenger/content/downloads/aboutDownloads.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    policies: {
-+      url: "chrome://messenger/content/policies/aboutPolicies.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    accountsettings: {
-+      url: "chrome://messenger/content/AccountManager.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    accountsetup: {
-+      url: "chrome://messenger/content/accountcreation/accountSetup.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    accountprovisioner: {
-+      url: "chrome://messenger/content/newmailaccount/accountProvisioner.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    addressbook: {
-+      url: "chrome://messenger/content/addressbook/aboutAddressBook.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    "3pane": {
-+      url: "chrome://messenger/content/about3Pane.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    message: {
-+      url: "chrome://messenger/content/aboutMessage.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    import: {
-+      url: "chrome://messenger/content/aboutImport.xhtml",
-+      flags: Ci.nsIAboutModule.ALLOW_SCRIPT,
-+    },
-+    profiling: {
-+      url:
-+        "chrome://devtools/content/performance-new/aboutprofiling/index.xhtml",
-+      flags:
-+        Ci.nsIAboutModule.ALLOW_SCRIPT | Ci.nsIAboutModule.IS_SECURE_CHROME_UI,
-+    },
-+  },
-+
-+  /**
-+   * Gets the module name from the given URI.
-+   */
-+  _getModuleName(aURI) {
-+    // Strip out the first ? or #, and anything following it
-+    let name = /[^?#]+/.exec(aURI.pathQueryRef)[0];
-+    return name.toLowerCase();
-+  },
-+
-+  getURIFlags(aURI) {
-+    let name = this._getModuleName(aURI);
-+    if (!(name in this._redirMap)) {
-+      throw Components.Exception(`no about:${name}`, Cr.NS_ERROR_ILLEGAL_VALUE);
-+    }
-+    return this._redirMap[name].flags;
-+  },
-+
-+  newChannel(aURI, aLoadInfo) {
-+    let name = this._getModuleName(aURI);
-+    if (!(name in this._redirMap)) {
-+      throw Components.Exception(`no about:${name}`, Cr.NS_ERROR_ILLEGAL_VALUE);
-+    }
-+
-+    let newURI = Services.io.newURI(this._redirMap[name].url);
-+    let channel = Services.io.newChannelFromURIWithLoadInfo(newURI, aLoadInfo);
-+    channel.originalURI = aURI;
-+
-+    if (
-+      this._redirMap[name].flags &
-+      Ci.nsIAboutModule.URI_SAFE_FOR_UNTRUSTED_CONTENT
-+    ) {
-+      let principal = Services.scriptSecurityManager.createContentPrincipal(
-+        aURI,
-+        {}
-+      );
-+      channel.owner = principal;
-+    }
-+
-+    return channel;
-+  },
-+
-+  getChromeURI(aURI) {
-+    let name = this._getModuleName(aURI);
-+    if (!(name in this._redirMap)) {
-+      throw Components.Exception(`no about:${name}`, Cr.NS_ERROR_ILLEGAL_VALUE);
-+    }
-+    return Services.io.newURI(this._redirMap[name].url);
-+  },
-+};
 diff --git a/suite/components/components.conf b/suite/components/components.conf
 new file mode 100644
 --- /dev/null
@@ -360,12 +361,11 @@ diff --git a/suite/components/nsAbout.js b/suite/components/nsAbout.js
 deleted file mode 100644
 --- a/suite/components/nsAbout.js
 +++ /dev/null
-@@ -1,76 +0,0 @@
+@@ -1,75 +0,0 @@
 -/* This Source Code Form is subject to the terms of the Mozilla Public
 - * License, v. 2.0. If a copy of the MPL was not distributed with this
 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 -
--var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
 -var {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 -
 -const SCRIPT = Ci.nsIAboutModule.ALLOW_SCRIPT;
@@ -440,7 +440,7 @@ deleted file mode 100644
 diff --git a/suite/installer/package-manifest.in b/suite/installer/package-manifest.in
 --- a/suite/installer/package-manifest.in
 +++ b/suite/installer/package-manifest.in
-@@ -164,17 +164,16 @@
+@@ -160,17 +160,16 @@
  @RESPATH@/components/SuiteFeeds.manifest
  @RESPATH@/components/SuiteSidebar.manifest
  ; JavaScript components

+ 0 - 1
comm-central/patches/series

@@ -1,4 +1,3 @@
-9999999-port1824420-suite-bustage.patch
 TOP-1642188-remove-nsDOMIEvent-cc.patch
 TOP-1611010-DOMEventListener-cc.patch
 TOP-1614671-port1456035-4-and-5-61a1-cc.patch