Bug 1463266 - fix typos in comm-central using codespell. rs=comment-only,typo-fix a=jorgk DONTBUILD
authorJorg K <jorgk@jorgk.com>
Mon, 21 Oct 2019 23:35:04 +0200
changeset 35950 8deffa88139ba19c7f30254eb202ddca2bd8c9fd
parent 35949 bee94d0a067adc165b3fc06bde071ca5556164cf
child 35951 299add060019cc07203c878c98b430a7f6bffa49
push id47
push usermozilla@jorgk.com
push dateMon, 21 Oct 2019 21:37:48 +0000
treeherdercomm-esr68@8deffa88139b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscomment-only, typo-fix, jorgk
bugs1463266
Bug 1463266 - fix typos in comm-central using codespell. rs=comment-only,typo-fix a=jorgk DONTBUILD
.clang-format
.taskcluster.yml
build/macosx/hardenedruntime/developer.entitlements.xml
build/macosx/hardenedruntime/production.entitlements.xml
calendar/base/content/calendar-event-gripbar.js
calendar/base/content/calendar-multiday-base-view.js
calendar/base/content/dialogs/calendar-event-dialog-attendees-custom-elements.js
chat/content/otr/otr.ftl
chat/modules/OTR.jsm
mail/components/customizableui/CustomizableUI.jsm
mail/components/customizableui/CustomizeMode.jsm
mail/components/customizableui/PanelMultiView.jsm
mail/components/customizableui/content/panelUI.js
mail/components/enterprisepolicies/Policies.jsm
mail/components/enterprisepolicies/tests/browser/disable_app_update/browser_policy_disable_app_update.js
mail/components/extensions/parent/ext-mail.js
mail/components/extensions/schemas/chrome_settings_overrides.json
mail/extensions/mailviews/content/msgViewPickerOverlay.js
mail/test/mozmill/content-tabs/test-content-tab.js
mail/test/mozmill/shared-modules/test-window-helpers.js
mailnews/addrbook/content/map-list.js
mailnews/base/content/msgSynchronize.js
mailnews/base/util/nsMsgUtils.cpp
mailnews/mime/jsmime/jsmime.js
mailnews/mime/test/unit/test_smime_decrypt.js
taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.yml
taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
--- a/.clang-format
+++ b/.clang-format
@@ -29,15 +29,15 @@ StatementMacros: [MARKUPMAP, ASSERT_TRUE
 
 # The Google coding style states:
 # You should do this consistently within a single file, so, when modifying an
 # existing file, use the style in that file.
 # Let's be more prescriptive and default to the one used in the Mozilla
 # coding style
 
 # Note that for the time being, we differ from the mozilla-central settings
-# and use derivative pointer alignment since right aligment is prevalent in
+# and use derivative pointer alignment since right alignment is prevalent in
 # comm-central. Exceptions with left alignment are, amongst others:
 # db/ (Mork), mailnews/intl and mailnews/jsaccount.
 # We will decide later whether to make the pointer style consistent or not.
 # DerivePointerAlignment: false
 # PointerAlignment: Left
 DerivePointerAlignment: true
--- a/.taskcluster.yml
+++ b/.taskcluster.yml
@@ -41,18 +41,18 @@
 #   installs that as the hook task template.
 #
 #   {
 #     tasks_for: 'action',
 #     push: {owner, pushlog_id, revision},
 #     repository: {url, project, level},
 #     input,
 #     parameters,
-#     taskId,      // targetted taskId
-#     taskGroupId, // targetted taskGroupId
+#     taskId,      // targeted taskId
+#     taskGroupId, // targeted taskGroupId
 #     action: {name, title, description, taskGroupId, symbol, repo_scope, cb_name}
 #     ownTaskId:   // taskId of the task that will be created
 #   }
 
 version: 1
 
 tasks:
   - $let:
--- a/build/macosx/hardenedruntime/developer.entitlements.xml
+++ b/build/macosx/hardenedruntime/developer.entitlements.xml
@@ -23,17 +23,17 @@
 
     <!-- Code paged in from disk should match the signature at page-in time -->
     <key>com.apple.security.cs.disable-executable-page-protection</key><false/>
 
     <!-- Allow loading third party libraries. Possibly needed by some legacy extensions. -->
     <key>com.apple.security.cs.disable-library-validation</key><true/>
 
     <!-- Allow dyld environment variables. Needed because Thunderbird uses
-         dyld variables to load libaries from within the .app bundle. -->
+         dyld variables to load libraries from within the .app bundle. -->
     <key>com.apple.security.cs.allow-dyld-environment-variables</key><true/>
 
     <!-- Allow debuggers to attach to running executables -->
     <key>com.apple.security.get-task-allow</key><true/>
 
     <!-- Thunderbird needs to access the microphone on sites the user allows -->
     <key>com.apple.security.device.audio-input</key><true/>
 
--- a/build/macosx/hardenedruntime/production.entitlements.xml
+++ b/build/macosx/hardenedruntime/production.entitlements.xml
@@ -20,17 +20,17 @@
 
     <!-- Code paged in from disk should match the signature at page in-time -->
     <key>com.apple.security.cs.disable-executable-page-protection</key><false/>
 
     <!-- Allow loading third party libraries. Possibly needed by some legacy extensions.  -->
     <key>com.apple.security.cs.disable-library-validation</key><true/>
 
     <!-- Allow dyld environment variables. Needed because Thunderbird uses
-         dyld variables to load libaries from within the .app bundle. -->
+         dyld variables to load libraries from within the .app bundle. -->
     <key>com.apple.security.cs.allow-dyld-environment-variables</key><true/>
 
     <!-- Don't allow debugging of the executable. Debuggers will be prevented
          from attaching to running executables. Notarization does not permit
          access to get-task-allow (as documented by Apple) so this must be
          disabled on notarized builds. -->
     <key>com.apple.security.get-task-allow</key><false/>
 
--- a/calendar/base/content/calendar-event-gripbar.js
+++ b/calendar/base/content/calendar-event-gripbar.js
@@ -31,17 +31,17 @@
         // appropriate action.
         event.whichside = this.getAttribute("whichside");
       });
 
       this.addEventListener("click", event => {
         if (event.button != 0) {
           return;
         }
-        // parent event-column has event listner for click so
+        // parent event-column has event listener for click so
         // stopPropagation() is called.
         event.stopPropagation();
       });
     }
 
     connectedCallback() {
       this._image = document.createXULElement("image");
       this._image.setAttribute("pack", "center");
--- a/calendar/base/content/calendar-multiday-base-view.js
+++ b/calendar/base/content/calendar-multiday-base-view.js
@@ -968,17 +968,17 @@
 
       const displayDuration = highMinute - lowMinute;
       if (this.mSelectedItems.length && displayDuration >= 0) {
         let minute;
         if (displayDuration <= this.mVisibleMinutes) {
           minute = lowMinute + (displayDuration - this.mVisibleMinutes) / 2;
         } else if (this.mSelectedItems.length == 1) {
           // If the displayDuration doesn't fit into the visible minutes, but
-          // ony one event is selected, then go ahead and center the event start.
+          // only one event is selected, then go ahead and center the event start.
 
           minute = Math.max(0, lowMinute - this.mVisibleMinutes / 2);
         }
         this.scrollToMinute(minute);
       }
     }
 
     zoomIn(level) {
--- a/calendar/base/content/dialogs/calendar-event-dialog-attendees-custom-elements.js
+++ b/calendar/base/content/dialogs/calendar-event-dialog-attendees-custom-elements.js
@@ -240,17 +240,17 @@
         this.mEndHour = Services.prefs.getIntPref("calendar.view.dayendhour", 19);
       }
     }
   }
   customElements.define("calendar-event-freebusy-timebar", MozCalendarEventFreebusyTimebar);
 
   /**
    * MozCalendarEventAttendeesList is a widget allowing adding and removing of attendees of an event.
-   * It shows if attendee if required or optional, the attendee status, type and adddress.
+   * It shows if attendee if required or optional, the attendee status, type and address.
    * It is typically found in the Invite Attendees dialog.
    *
    * @extends {MozElements.RichListBox}
    */
   class MozCalendarEventAttendeesList extends MozElements.RichListBox {
     constructor() {
       super();
 
@@ -583,17 +583,17 @@
         let lastInput = this.getInputElement(this.mMaxAttendees);
         if (lastInput && lastInput.value) {
           this.appendNewRow(true);
         }
       }
     }
 
     /**
-     * This trigger the continous update chain, which effectively calls this.onModify() on
+     * This trigger the continuous update chain, which effectively calls this.onModify() on
      * predefined time intervals [each second].
      */
     init() {
       let callback = () => {
         setTimeout(callback, 1000);
         this.onModify();
       };
       callback();
@@ -1106,17 +1106,17 @@
         if (kids[i].hasAttribute("_isDummyRow")) {
           return kids[i];
         }
       }
       return null;
     }
 
     /**
-     * Returns richlistitem at row numer `row`.
+     * Returns richlistitem at row number `row`.
      *
      * @returns {Element}       richlistitem
      */
     getListItem(row) {
       return this.getElementsByTagName("richlistitem")[row - 1];
     }
 
     /**
@@ -1200,17 +1200,17 @@
       let listItem = this.getListItem(row);
       if (listItem) {
         return listItem.querySelector(".usertype-icon");
       }
       return null;
     }
 
     /**
-     * Sets foucs on the textbox in the row `row`.
+     * Sets focus on the textbox in the row `row`.
      *
      * @param {Element|Number} row      Row number or row
      */
     setFocus(row) {
       // See https://stackoverflow.com/questions/779379/why-is-settimeoutfn-0-sometimes-useful to
       // know why setTimeout is helpful here.
       setTimeout(() => {
         let node;
@@ -3029,18 +3029,18 @@
 
       // Special case for allday events - if the original datetime was indeed a date we need to
       // carry this state over to the calculated datetime.
       if (this.mStartDate.isDate) {
         startTime.isDate = true;
       }
 
       // In case the new starttime happens to be scheduled on a different day, we also need to
-      // update the complete freebusy informations and appropriate underlying arrays holding the
-      // informaion.
+      // update the complete freebusy information and appropriate underlying arrays holding the
+      // information.
       if (this.mStartDate.day != startTime.day) {
         for (let i = 1; i <= this.mMaxFreeBusy; i++) {
           let fbelem = this.getFreeBusyElement(i);
           fbelem.setAttribute("dirty", "true");
         }
         this.updateFreeBusy();
       }
 
--- a/chat/content/otr/otr.ftl
+++ b/chat/content/otr/otr.ftl
@@ -10,17 +10,17 @@ msgevent-encryption_required_part2 = Att
 msgevent-encryption_error = An error occurred when encrypting your message. The message was not sent.
 
 # Variables:
 #   $name (String) - the screen name of a chat contact person
 msgevent-connection_ended = { $name } has already closed their encrypted connection to you. To avoid that you accidentally send a message without encryption, your message was not sent. Please end your encrypted conversation, or restart it.
 
 # Variables:
 #   $name (String) - the screen name of a chat contact person
-msgevent-setup_error = An error occured while setting up a private conversation with { $name }.
+msgevent-setup_error = An error occurred while setting up a private conversation with { $name }.
 
 # Do not translate 'OTR' (name of an encryption protocol)
 msgevent-msg_reflected = You are receiving your own OTR messages. You are either trying to talk to yourself, or someone is reflecting your messages back at you.
 
 # Variables:
 #   $name (String) - the screen name of a chat contact person
 msgevent-msg_resent = The last message to { $name } was resent.
 
--- a/chat/modules/OTR.jsm
+++ b/chat/modules/OTR.jsm
@@ -621,17 +621,17 @@ var OTR = {
       conv.account.normalizedName,
       req ? OTRLib.OTRL_POLICY_ALWAYS : OTRLib.OTRL_POLICY_OPPORTUNISTIC
     );
     if (query.isNull()) {
       Cu.reportError(new Error("Sending query message failed."));
       return;
     }
     // Use the default msg to format the version.
-    // We don't supprt v1 of the protocol so this should be fine.
+    // We don't support v1 of the protocol so this should be fine.
     let queryMsg = /^\?OTR.*?\?/.exec(query.readString())[0] + "\n";
     // Avoid sending any numbers in the query message, because receiving
     // software could misinterpret it as a protocol version.
     // See https://bugzilla.mozilla.org/show_bug.cgi?id=1536108
     let noNumbersName = conv.account.normalizedName.replace(/[0-9]/g, "#");
     queryMsg += _strArgs("query-msg", { name: noNumbersName });
     conv.sendMsg(queryMsg);
     OTRLib.otrl_message_free(query);
--- a/mail/components/customizableui/CustomizableUI.jsm
+++ b/mail/components/customizableui/CustomizableUI.jsm
@@ -2129,17 +2129,17 @@ var CustomizableUIInternal = {
     let isWindowPrivate = PrivateBrowsingUtils.isWindowPrivate(window);
     // We use a Set because there can be overlap between the widgets in
     // gPalette and the items in the palette, especially after the first
     // customization, since programmatically generated widgets will remain
     // in the toolbox palette.
     let widgets = new Set();
 
     // It's possible that some widgets have been defined programmatically and
-    // have not been overlayed into the palette. We can find those inside
+    // have not been overlaid into the palette. We can find those inside
     // gPalette.
     for (let [id, widget] of gPalette) {
       if (!widget.currentArea) {
         if (widget.showInPrivateBrowsing || !isWindowPrivate) {
           widgets.add(id);
         }
       }
     }
@@ -4417,17 +4417,17 @@ var CustomizableUI = {
         continue;
       }
       for (let attr of attrs) {
         let attrVal = menuChild.getAttribute(attr);
         if (attrVal) {
           subviewItem.setAttribute(attr, attrVal);
         }
       }
-      // We do this after so the .subviewbutton class doesn't get overriden.
+      // We do this after so the .subviewbutton class doesn't get overridden.
       if (menuChild.localName == "menuitem") {
         subviewItem.classList.add("subviewbutton");
       }
       fragment.appendChild(subviewItem);
     }
     aSubview.appendChild(fragment);
   },
 
--- a/mail/components/customizableui/CustomizeMode.jsm
+++ b/mail/components/customizableui/CustomizeMode.jsm
@@ -133,17 +133,17 @@ function CustomizeMode(aWindow) {
   if (!content) {
     this.window.MozXULElement.insertFTLIfNeeded("browser/customizeMode.ftl");
     let container = this.$("customization-container");
     container.replaceChild(
       this.window.MozXULElement.parseXULToFragment(container.firstChild.data),
       container.lastChild
     );
   }
-  // There are two palettes - there's the palette that can be overlayed with
+  // There are two palettes - there's the palette that can be overlaid with
   // toolbar items in browser.xul. This is invisible, and never seen by the
   // user. Then there's the visible palette, which gets populated and displayed
   // to the user when in customizing mode.
   this.visiblePalette = this.$(kPaletteId);
   this.pongArena = this.$("customization-pong-arena");
 
   if (this._canDrawInTitlebar()) {
     this._updateTitlebarCheckbox();
@@ -1359,17 +1359,17 @@ CustomizeMode.prototype = {
     let win = this.window;
     let gUIDensity = win.gUIDensity;
     let currentDensity = gUIDensity.getCurrentDensity();
     let panel = win.document.getElementById("customization-uidensity-menu");
 
     Services.prefs.setIntPref(gUIDensity.uiDensityPref, mode);
 
     // If the user is choosing a different UI density mode while
-    // the mode is overriden to Touch, remove the override.
+    // the mode is overridden to Touch, remove the override.
     if (currentDensity.overridden) {
       Services.prefs.setBoolPref(gUIDensity.autoTouchModePref, false);
     }
 
     this._onUIChange();
     panel.hidePopup();
   },
 
--- a/mail/components/customizableui/PanelMultiView.jsm
+++ b/mail/components/customizableui/PanelMultiView.jsm
@@ -41,17 +41,17 @@
  * -- Visible or invisible
  *
  *    This indicates whether the view is visible in the document from a layout
  *    perspective, regardless of whether it is currently scrolled into view. In
  *    fact, all subviews are already visible before they start sliding in.
  *
  *    Before scrolling into view, a view may become visible but be placed in a
  *    special off-screen area of the document where layout and measurements can
- *    take place asyncronously.
+ *    take place asynchronously.
  *
  *    When navigating forward, an open view may become invisible but stay open
  *    after sliding out of view. The last known size of these views is still
  *    taken into account for determining the overall panel size.
  *
  *    When navigating backwards, an open subview will first become invisible and
  *    then will be closed.
  *
--- a/mail/components/customizableui/content/panelUI.js
+++ b/mail/components/customizableui/content/panelUI.js
@@ -63,17 +63,17 @@ const PanelUI = {
   /**
    * Used for the View / Text Encoding view.
    * Not ideal: copied from: mozilla-central/toolkit/modules/CharsetMenu.jsm
    * This set contains encodings that are in the Encoding Standard, except:
    *  - XSS-dangerous encodings (except ISO-2022-JP which is assumed to be
    *    too common not to be included).
    *  - x-user-defined, which practically never makes sense as an end-user-chosen
    *    override.
-   *  - Encodings that IE11 doesn't have in its correspoding menu.
+   *  - Encodings that IE11 doesn't have in its corresponding menu.
    */
   kEncodings: new Set([
     // Globally relevant
     "UTF-8",
     "windows-1252",
     // Arabic
     "windows-1256",
     "ISO-8859-6",
--- a/mail/components/enterprisepolicies/Policies.jsm
+++ b/mail/components/enterprisepolicies/Policies.jsm
@@ -530,17 +530,17 @@ function addAllowDenyPermissions(permiss
 
 /**
  * runOnce
  *
  * Helper function to run a callback only once per policy.
  *
  * @param {string} actionName
  *        A given name which will be used to track if this callback has run.
- * @param {Functon} callback
+ * @param {Function} callback
  *        The callback to run only once.
  */
 // eslint-disable-next-line no-unused-vars
 function runOnce(actionName, callback) {
   let prefName = `browser.policies.runonce.${actionName}`;
   if (Services.prefs.getBoolPref(prefName, false)) {
     log.debug(
       `Not running action ${actionName} again because it has already run.`
--- a/mail/components/enterprisepolicies/tests/browser/disable_app_update/browser_policy_disable_app_update.js
+++ b/mail/components/enterprisepolicies/tests/browser/disable_app_update/browser_policy_disable_app_update.js
@@ -42,17 +42,17 @@ add_task(async function test_update_pref
     });
   }
   await new Promise(resolve => setTimeout(resolve));
 
   let updateRadioGroup = prefsDocument.getElementById("updateRadioGroup");
   is(
     updateRadioGroup.hidden,
     true,
-    "Update choices should be diabled when app update is locked by policy"
+    "Update choices should be disabled when app update is locked by policy"
   );
 
   tabmail.closeTab(prefsTabMode.tabs[0]);
 });
 
 add_task(async function test_update_about_ui() {
   let aboutDialog = await waitForAboutDialog();
   let panelId = "policyDisabled";
--- a/mail/components/extensions/parent/ext-mail.js
+++ b/mail/components/extensions/parent/ext-mail.js
@@ -56,17 +56,17 @@ XPCOMUtils.defineLazyModuleGetters(this,
   // points to a moz-extension:// page exposed via web_accessible_content
   ExtensionContent.initExtensionContext = function(extension, window) {
     let context = extension.getContext(window);
     Schemas.exportLazyGetter(window, "messenger", () => context.chromeObj);
 
     return initExtensionContext.apply(ExtensionContent, arguments);
   };
 
-  // This patches priviledged pages such as the background script
+  // This patches privileged pages such as the background script
   ExtensionPageChild.initExtensionContext = function(extension, window) {
     let retval = initPageChildExtensionContext.apply(
       ExtensionPageChild,
       arguments
     );
 
     let windowId = getInnerWindowID(window);
     let context = ExtensionPageChild.extensionContexts.get(windowId);
--- a/mail/components/extensions/schemas/chrome_settings_overrides.json
+++ b/mail/components/extensions/schemas/chrome_settings_overrides.json
@@ -138,33 +138,33 @@
                           "type": "string",
                           "optional": true,
                           "enum": ["purpose", "pref"],
                           "description": "The type of param can be either \"purpose\" or \"pref\"."
                         },
                         "pref": {
                           "type": "string",
                           "optional": true,
-                          "description": "The preference to retreive the value from."
+                          "description": "The preference to retrieve the value from."
                         },
                         "purpose": {
                           "type": "string",
                           "optional": true,
                           "enum": ["contextmenu", "searchbar", "homepage", "keyword", "newtab"],
                           "description": "The context that initiates a search, required if condition is \"purpose\"."
                         },
                         "value": {
                           "type": "string",
                           "optional": true,
                           "description": "A url parameter value.",
                           "preprocess": "localize"
                         }
                       }
                     },
-                    "description": "A list of optional search url parameters. This allows the additon of search url parameters based on how the search is performed in Thunderbird."
+                    "description": "A list of optional search url parameters. This allows the addition of search url parameters based on how the search is performed in Thunderbird."
                   }
                 }
               }
             }
           }
         }
       }
     ]
--- a/mail/extensions/mailviews/content/msgViewPickerOverlay.js
+++ b/mail/extensions/mailviews/content/msgViewPickerOverlay.js
@@ -202,17 +202,17 @@ function RefreshViewPopup(viewPopup) {
     }
   }
 }
 
 /**
  * Refresh the contents of the custom views popup menu/panel.
  * Used for example for appmenu/View/Messages/CustomViews panel.
  *
- * @param {Element} parent        Parent element that will recieve the menu items.
+ * @param {Element} parent        Parent element that will receive the menu items.
  * @param {string} [elementName]  Type of menu items to create (e.g. "menuitem", "toolbarbutton").
  * @param {string} [classes]      Classes to set on the menu items.
  */
 function RefreshCustomViewsPopup(parent, elementName = "menuitem", classes) {
   if (!gMailViewList) {
     gMailViewList = Cc["@mozilla.org/messenger/mailviewlist;1"].getService(
       Ci.nsIMsgMailViewList
     );
@@ -244,17 +244,17 @@ function RefreshCustomViewsPopup(parent,
     parent.appendChild(item);
   }
 }
 
 /**
  * Refresh the contents of the tags popup menu/panel. For example, used for
  * appmenu/View/Messages/Tags.
  *
- * @param {Element} parent        Parent element that will recieve the menu items.
+ * @param {Element} parent        Parent element that will receive the menu items.
  * @param {string} [elementName]  Type of menu items to create (e.g. "menuitem", "toolbarbutton").
  * @param {string} [classes]      Classes to set on the menu items.
  */
 function RefreshTagsPopup(parent, elementName = "menuitem", classes) {
   // Remove all pre-existing menu items.
   while (parent.hasChildNodes()) {
     parent.lastChild.remove();
   }
--- a/mail/test/mozmill/content-tabs/test-content-tab.js
+++ b/mail/test/mozmill/content-tabs/test-content-tab.js
@@ -152,17 +152,17 @@ function test_content_tab_context_menu()
   );
   wait_for_popup_to_open(mailContext);
   assert_not_equals(mailContext.firstChild.label, "Click me!");
   assert_element_not_visible("page-menu-separator");
   close_popup(mc, new elementslib.Elem(mailContext));
 }
 
 /*
- // We don't have an UI to test openin content tabs twice anymore.
+ // We don't have an UI to test opening content tabs twice anymore.
 function test_content_tab_open_same() {
   let preCount = mc.tabmail.tabContainer.childNodes.length;
 
   mc.click(new elementslib.Elem(mc.menus.helpMenu.whatsNew));
 
   controller.sleep(0);
 
   if (mc.tabmail.tabContainer.childNodes.length != preCount)
--- a/mail/test/mozmill/shared-modules/test-window-helpers.js
+++ b/mail/test/mozmill/shared-modules/test-window-helpers.js
@@ -1209,17 +1209,17 @@ var AugmentEverybodyWith = {
           5000,
           50
         );
       }
     },
 
     /**
      * Click through the appmenu. Callers are expected to open the initial
-     * appmenu panelview (e.g. by clicking the appmenu buttton). We wait for it
+     * appmenu panelview (e.g. by clicking the appmenu button). We wait for it
      * to open if it is not open yet. Then we use a recursive style approach
      * with a sequence of event listeners handling "ViewShown" events. The
      * `navTargets` parameter specifies items to click to navigate through the
      * menu. The optional `nonNavTarget` parameter specifies a final item to
      * click to perform a command after navigating through the menu. If this
      * argument is omitted, callers can interact with the last view panel that
      * is returned. Callers will then need to close the appmenu when they are
      * done with it.
--- a/mailnews/addrbook/content/map-list.js
+++ b/mailnews/addrbook/content/map-list.js
@@ -38,17 +38,17 @@
     }
 
     get mapURL() {
       return this._createMapItURL();
     }
 
     /**
      * Initializes the necessary address data from an addressbook card.
-     * @param {nsIAbCard} card   - the card to get the addess data from
+     * @param {nsIAbCard} card   - the card to get the address data from
      * @param {string} addPrefix - card property prefix: "Home" or "Work",
      *                             to make the map use either HomeAddress
      *                             or WorkAddress
      */
     initMapAddressFromCard(card, addrPrefix) {
       let mapItURLFormat = this._getMapURLPref();
       let doNotShowMap = !mapItURLFormat || !addrPrefix || !card;
       this._setWidgetDisabled(doNotShowMap);
--- a/mailnews/base/content/msgSynchronize.js
+++ b/mailnews/base/content/msgSynchronize.js
@@ -101,17 +101,17 @@ function selectOnLoad() {
   gSynchronizeTree = document.getElementById("synchronizeTree");
 
   SortSynchronizePane("folderNameCol", "?folderTreeNameSort");
 }
 
 function SortSynchronizePane(column, sortKey) {
   var node = FindInWindow(window, column);
   if (!node) {
-    dump("Couldnt find sort column\n");
+    dump("Couldn't find sort column\n");
     return;
   }
 
   node.setAttribute("sort", sortKey);
   node.setAttribute("sortDirection", "natural");
   var col = gSynchronizeTree.columns[column];
   gSynchronizeTree.view.cycleHeader(col);
 }
--- a/mailnews/base/util/nsMsgUtils.cpp
+++ b/mailnews/base/util/nsMsgUtils.cpp
@@ -1798,17 +1798,17 @@ static bool IsStreamUTF8(nsIInputStream 
     }
   }
 }
 
 NS_MSG_BASE nsresult MsgDetectCharsetFromFile(nsIFile *aFile,
                                               nsACString &aCharset) {
   // We do the detection in this order:
   // Check BOM.
-  // If no BOM, run localized detection (Russian, Ukranian or Japanese).
+  // If no BOM, run localized detection (Russian, Ukrainian or Japanese).
   // We need to run this first, since ISO-2022-JP is 7bit ASCII and would be
   // detected as UTF-8. If ISO-2022-JP not detected, check for UTF-8. If no
   // UTF-8, but detector detected something, use that, otherwise return an
   // error.
   aCharset.Truncate();
 
   nsresult rv;
   nsCOMPtr<nsIInputStream> inputStream;
--- a/mailnews/mime/jsmime/jsmime.js
+++ b/mailnews/mime/jsmime/jsmime.js
@@ -411,17 +411,17 @@
       // Represents a non-delimiter token.
       function Token(token) {
         // Replace problematic characters so we don't get unexpected behavior
         // down the line. These fall into a few categories:
         // A) "Separator, space" (Zs),
         // B) "Mark, Nonspacing" (Mn)
         // C) "Other, Control" (Cc)
         // D) "Other, Format" (Cf)
-        // Unfortuantely, no support for the needed regexp Unicode property escapes
+        // Unfortunately, no support for the needed regexp Unicode property escapes
         // in our engine. So we need to hand-roll it. Used the regexpu tool for
         // that: https://mothereff.in/regexpu.
         // This should be updated regularly, to take into account new additions
         // to the unicode standard. Last updated July 2019.
         // For a full list of categories, see http://unicode.org/Public//5.0.0/ucd/UCD.html.
 
         // -- case A: /\p{Zs}/u
         // https://www.fileformat.info/info/unicode/category/Zs/list.htm
--- a/mailnews/mime/test/unit/test_smime_decrypt.js
+++ b/mailnews/mime/test/unit/test_smime_decrypt.js
@@ -203,17 +203,17 @@ let smimeHeaderSink = {
  * - sig: If true, we expect a report to signedStatus() that message
  *        is signed.
  * - sig_good: If true, we expect that the reported signature has a
  *             good status.
  *             If false, we expect a report of bad status.
  *             Because of the sequential processing caused by nested
  *             messages, additional calls to signedStatus() might
  *             override an earlier decision.
- *             (An earlier bad status report cannot be overriden by a
+ *             (An earlier bad status report cannot be overridden by a
  *              later report of a good status.)
  * - extra: If set to a number > 0, we expect that nested processing of
  *          MIME parts will trigger the given number of additional
  *          status calls.
  *          (default is 0.)
  * - dave: If true, we expect that the outermost message was done by
  *         Dave's certificate.
  *         (default is false, which means we expect Alice's cert.)
--- a/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
@@ -5,17 +5,17 @@
 # This file contains exhaustive information about all the release artifacs that
 # are needed within a type of release.
 #
 # Structure
 # --------
 # `s3_bucket_paths`       -- prefix to be used per product to correctly access our S3 buckets
 # `default_locales`       -- list of locales to be used when composing upstream artifacts or the list of
 #                      destinations. If given an empty locale, it uses these locales instead.
-# `tasktype_map`          -- mapping between task reference and task type, particularly usefule when
+# `tasktype_map`          -- mapping between task reference and task type, particularly useful when
 #                      composing the upstreamArtifacts for scriptworker.
 # `platform_names`        -- various platform mappings used in reckoning artifacts or other paths
 # `default`               -- a default entry, which the mappings extend and override in such a way that
 #                      final path full-destinations will be a concatenation of the following:
 #                      `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
 # `from`                  -- specifies the dependency(ies) from which to expect the particular artifact
 # `all_locales`           -- boolean argument to specify whether that particular artifact is to be expected
 #                      for all locales or just the default one
--- a/taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.yml
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.yml
@@ -5,17 +5,17 @@
 # This file contains exhaustive information about all the release artifacs that
 # are needed within a type of release.
 #
 # Structure
 # --------
 # `s3_bucket_paths`       -- prefix to be used per product to correctly access our S3 buckets
 # `default_locales`       -- list of locales to be used when composing upstream artifacts or the list of
 #                      destinations. If given an empty locale, it uses these locales instead.
-# `tasktype_map`          -- mapping between task reference and task type, particularly usefule when
+# `tasktype_map`          -- mapping between task reference and task type, particularly useful when
 #                      composing the upstreamArtifacts for scriptworker.
 # `platform_names`        -- various platform mappings used in reckoning artifacts or other paths
 # `default`               -- a default entry, which the mappings extend and override in such a way that
 #                      final path full-destinations will be a concatenation of the following:
 #                      `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
 # `from`                  -- specifies the dependency(ies) from which to expect the particular artifact
 # `all_locales`           -- boolean argument to specify whether that particular artifact is to be expected
 #                      for all locales or just the default one
--- a/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
@@ -5,17 +5,17 @@
 # This file contains exhaustive information about all the release artifacs that
 # are needed within a type of release.
 #
 # Structure
 # --------
 # `s3_bucket_paths`       -- prefix to be used per product to correctly access our S3 buckets
 # `default_locales`       -- list of locales to be used when composing upstream artifacts or the list of
 #                      destinations. If given an empty locale, it uses these locales instead.
-# `tasktype_map`          -- mapping between task reference and task type, particularly usefule when
+# `tasktype_map`          -- mapping between task reference and task type, particularly useful when
 #                      composing the upstreamArtifacts for scriptworker.
 # `platform_names`        -- various platform mappings used in reckoning artifacts or other paths
 # `default`               -- a default entry, which the mappings extend and override in such a way that
 #                      final path full-destinations will be a concatenation of the following:
 #                      `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
 # `from`                  -- specifies the dependency(ies) from which to expect the particular artifact
 # `all_locales`           -- boolean argument to specify whether that particular artifact is to be expected
 #                      for all locales or just the default one