Name Description Size
.eslintrc.js 286
AccountManagerUtils.sys.mjs Utility methods for the account settings. 1799
AttachmentChecker.worker.js eslint-env worker 4109
AttachmentInfo.sys.mjs A class to handle attachment information and actions. 20677
BrowserWindowTracker.sys.mjs 324
CommandController.mjs Command controller implementation for tabs. Allows registering commands without requiring command elements in the markup. Shape is similar to nsIController, except that doCommand is enhanced similar to nsICommandController's doCommandWithParams. 2319
ConversationOpener.sys.mjs 2719
DBViewWrapper.sys.mjs Helper singleton for DBViewWrapper that tells instances when something interesting is happening to the folder(s) they care about. The rationale for this is to: - reduce listener overhead (although arguably the events we listen to are fairly rare) - make testing / verification easier by centralizing and exposing listeners. 78870
DisplayNameUtils.sys.mjs Take an email address and compose a sensible display name based on the header display name and/or the display name from the address book. If no appropriate name can be made (e.g. there is no card for this address), returns |null|. @param {string} emailAddress - The email address to format. @param {string} headerDisplayName - The display name from the header, if any. @param {string} context - The field being formatted (e.g. "to", "from"). @returns {?string} the formatted display name, or null. 4261
DNS.sys.mjs This module is responsible for performing DNS queries using ctypes for loading system DNS libraries on Linux, Mac and Windows. 2444
DNS.worker.mjs globals ctypes 14557
docs
ExtensionsUI.sys.mjs Mapping of error code -> [error-id, local-error-id] error-id is used for errors in DownloadedAddonInstall, local-error-id for errors in LocalAddonInstall. The error codes are defined in AddonManager's _errors Map. Not all error codes listed there are translated, since errors that are only triggered during updates will never reach this code. @see browser/base/content/browser-addons.js (where this is copied from) 46548
ExtensionSupport.sys.mjs Helper functions for use by extensions that should ease them plug into the application. 7687
FolderPaneUtils.sys.mjs Used for comparing folder names. This matches the collator used in `nsMsgDBFolder::createCollationKeyGenerator`. @type {Intl.Collator} 901
FolderTreeProperties.sys.mjs Persistent storage for various properties of items on the folder tree. Data is serialised to the file folderTree.json in the profile directory. 2060
GlobalPopupNotifications.sys.mjs This file is a semi-fork of PopupNotifications.sys.mjs 55401
LinkHelper.sys.mjs Clone principal and add permission to use the application associated with the specified external protocol/scheme. @param { nsIPrincipal } principal - the principal to clone and attach the permission to @param {nsIURI} uri - the uri which is to be opened @param {OriginAttributesDictionary} [originAttributes] @returns {nsIPrincipal} 4169
MailConsts.sys.mjs This is a place to store constants and enumerations that are needed only by JavaScript code, especially component/module code. 1311
MailE10SUtils.sys.mjs Loads about:blank in `browser` without switching remoteness. about:blank can load in a local browser or a remote browser, and `loadURI` will make it load in a remote browser even if you don't want it to. @param {nsIBrowser} browser 2957
MailMigrator.sys.mjs This module handles migrating mail-specific preferences, etc. Migration has traditionally been a part of messenger.js, but separating the code out into a module makes unit testing much easier. 16526
MailUsageTelemetry.sys.mjs -*- js-indent-level: 2; indent-tabs-mode: nil -*- 11287
MailUtils.sys.mjs This module has several utility functions for use by both core and third-party code. Some functions are aimed at code that doesn't have a window context, while others can be used anywhere. 40800
MailViewManager.sys.mjs Put the MailViewConstants in an object so we can export them to msgViewPickerOverlay in one blob without contaminating everyone's address space who might want to import us. 5537
MessageArchiver.sys.mjs The maximum number of messages to try to examine directly to determine if they can be archived; if we exceed this count, we'll try to approximate the answer by looking at the server's identities. This is only here to let tests tweak the value. 13078
moz.build 1575
PhishingDetector.sys.mjs Analyze the currently loaded message in the message pane, looking for signs of a phishing attempt. Also checks for forms with action URLs, which are disallowed. Assumes the message has finished loading in the message pane (i.e. OnMsgParsed has fired). @param {nsIMsgMailNewsUrl} aUrl Url for the message being analyzed. @param {Element} browser The browser element where the message is loaded. @returns {boolean} Returns true if this does have phishing urls. Returns false if we do not check this message or the phishing message does not need to be displayed. 8531
PluralForm.sys.mjs This module provides the PluralForm object which contains a method to figure out which plural form of a word to use for a given number based on the current localization. There is also a makeGetter method that creates a get function for the desired plural rule. This is useful for extensions that specify their own plural rule instead of relying on the browser default. (I.e., the extension hasn't been localized to the browser's locale.) See: http://developer.mozilla.org/en/docs/Localization_and_Plurals NOTE: any change to these plural forms need to be reflected in compare-locales: https://hg.mozilla.org/l10n/compare-locales/file/default/compare_locales/plurals.py List of methods: string pluralForm get(int aNum, string aWords) int numForms numForms() [string pluralForm get(int aNum, string aWords), int numForms numForms()] makeGetter(int aRuleNum) Note: Basically, makeGetter returns 2 functions that do "get" and "numForm" 9437
QRExport.sys.mjs Incoming server types supported by the Android app. 8136
QuickFilterManager.sys.mjs Should the filter be visible when there's no previous state to propagate it from? The idea is that when session persistence is working this should only ever affect the first time Thunderbird is started up. Although opening additional 3-panes will likely trigger this unless we go out of our way to implement propagation across those boundaries (and we're not). 47901
SearchSpec.sys.mjs Wrapper abstraction around a view's search session. This is basically a friend class of FolderDisplayWidget and is privy to some of its internals. 18950
SessionStore.sys.mjs This is a shim for SessionStore in moz-central to prevent bug 1713801. Only the methods that appear to be hit by comm-central are implemented. 466
SessionStoreManager.sys.mjs asuth arbitrarily chose this value to trade-off powersaving, processor usage, and recency of state in the face of the impossibility of our crashing; he also worded this. 8773
ShortcutsManager.sys.mjs Module used to collect all global shortcuts that can (will) be customizable. Use the shortcuts[] array to add global shortcuts that need to work on the whole window. The `context` property allows using the same shortcut for different context. The event handling needs to be defined in the window. 9041
SmartMailboxUtils.sys.mjs Returns the server of the smart mailbox account. @returns {nsIMsgIncomingServer} 8390
SummaryFrameManager.sys.mjs The SummaryFrameManager manages the source attribute of iframes which can be multi-purposed. For example, the thread/multimessage summary and the folder summary both use it. The SummaryFrameManager takes care of causing the content file to be reloaded as necessary, and manages event handlers, so that the right callback is called when the specified document is loaded. @param {HTMLIFrameElement} aFrame - The iframe that we're managing. 3391
TabStateFlusher.sys.mjs 351
TagUtils.sys.mjs Checks if black writing on 'aColor' background has enough contrast 4446
TBDistCustomizer.sys.mjs 4821
UIDensity.sys.mjs Set the UI density. @param {integer} mode - One of the MODE constants. 1745
UIFontSize.sys.mjs Loop through all registered windows and update the font size. 9820
WindowsJumpLists.sys.mjs Task list 4321
XULStoreUtils.sys.mjs Simple wrapper around the Services.xulStore methods to reduce the amount of duplicated code and repeated store URLs across the application. In case the xulStore API ever change, we will need to only touch this file. 2904