opto / Expression-Search-NG

update of Thunderbird addon ExpressionSearch/Gmail UI for TB 78 and later
61 stars 8 forks source link

Version 4.0.1 in TB 115: blank new folder tabs #86

Open bstecklum opened 1 year ago

bstecklum commented 1 year ago

enabled add-on causes blank new folder tabs

mdvz0r commented 1 year ago

same issue here. e.g. when using the "open message in conversation" mode. With the plugin enabled I get a blank screen, with the plugin disabled it works as it should. Currently using Expression-Search-NG v4.0.1 .

rhorbas commented 1 year ago

Duplicate of https://github.com/opto/Expression-Search-NG/issues/82 (I have the same problem and come here regularly to check)

bstecklum commented 1 year ago

Just installed 4.0.2, but it did not solve the issue.

mdvz0r commented 1 year ago

same here; v4.0.2 also gives blank pages

Bbillyben commented 1 year ago

Same, Add on V 4.0.2 TB v115.4.1 / 64

In console i've got the error when (selecting Show verbose information in error console in addon params): on right click:

TypeError: ExpressionSearchChrome is undefined[ExpressionSearchChrome.jsm:999:15](resource://expressionsearch/modules/ExpressionSearchChrome.jsm)
    onContextMenu resource://expressionsearch/modules/ExpressionSearchChrome.jsm:999

TypeError: ExpressionSearchChrome is undefined[ExpressionSearchChrome.jsm:1020:15](resource://expressionsearch/modules/ExpressionSearchChrome.jsm)
    onContextMenu resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1020

(this one, with or without the addon activated)

opening conversation in new tab:

Uncaught (in promise) TypeError: domNode is null
    _bindUI chrome://messenger/content/quickFilterBar.js:321
    init chrome://messenger/content/quickFilterBar.js:58
    init chrome://messenger/content/about3Pane.js:4299
    <anonymous> chrome://messenger/content/about3Pane.js:110
    async* chrome://messenger/content/about3Pane.js:97
[quickFilterBar.js:321:11](chrome://messenger/content/quickFilterBar.js)
Uncaught TypeError: win.messageBrowser is undefined
    openTab chrome://messenger/content/mailTabs.js:100
    _cloneTemplate chrome://messenger/content/mailTabs.js:66
    _cloneTemplate chrome://messenger/content/mailTabs.js:62
    openTab chrome://messenger/content/mailTabs.js:90
    openTab chrome://messenger/content/tabmail.js:879
    onQueryCompleted resource:///modules/ConversationOpener.jsm:55
    _onQueryCompleted resource:///modules/gloda/Collection.jsm:681
    onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169
    _onQueryCompleted resource:///modules/gloda/Collection.jsm:681
    onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169
    _onQueryCompleted resource:///modules/gloda/Collection.jsm:681
    onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169
    _onQueryCompleted resource:///modules/gloda/Collection.jsm:681
    onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169
    handleCompletion resource:///modules/gloda/GlodaDatastore.jsm:445

(specific when ExpressionSearch is enabled)

opto commented 1 year ago

I assume that is the blank folder on TB restart.

resolved and some more features: https://github.com/opto/Expression-Search-NG/releases/tag/v4.0.5

Bbillyben commented 1 year ago

For me, the issue remain, when opening a "conversation in a new tab", the new tab is still blanked.

mdvz0r commented 1 year ago

Same here with v4.0.5. Unfortunately, this doesn't seem to be resolved.

mdvz0r commented 1 year ago

Some additional information.

Using Thunderbird 115.4.1 (64-bit) on Mac OS Using Expression Search NG v4.0.5

opening conversation in new tab gives these two errors in console:

Uncaught (in promise) TypeError: domNode is null
    _bindUI chrome://messenger/content/quickFilterBar.js:321
    init chrome://messenger/content/quickFilterBar.js:58
    init chrome://messenger/content/about3Pane.js:4299
    <anonymous> chrome://messenger/content/about3Pane.js:110
quickFilterBar.js:321:11

Uncaught TypeError: win.messageBrowser is undefined
    openTab chrome://messenger/content/mailTabs.js:100
    _cloneTemplate chrome://messenger/content/mailTabs.js:66
mailTabs.js:100:13
    openTab chrome://messenger/content/mailTabs.js:100
    _cloneTemplate chrome://messenger/content/mailTabs.js:66
opto commented 1 year ago

Workaround: disble addon in addon manager, create new tab, reenable addon.

I have been working on this a full working day now. It is a very unfortunate bug in TB and most difficult to circumvent.

Our new filter has the search-textbox, and when opening your new tab for the other folder, TB tries to install the filter before we can insert the textbox. This is automatic in TB's code for opening the new tab. What they did wrong is make the quickfilterbar private to the tabs but the filterdefinitions are global and are applied before we can modify the tab (= add the searchbox).

So it all fails and the tab stays white.

So yesterday I have been looking for ways to add the box before TB adds the filterdefinitions, with no success. Next I will try to kill the filter upon adding tabs and reinsert the filter once the tab is there. Killing the filter before TB tries to add it does work already, so there is hope.

bstecklum commented 1 year ago

Thanks, Klaus, for making this valuable add-on working as usual again. Very much appreciated.

opto commented 1 year ago

this does solve it here, please test

https://github.com/opto/Expression-Search-NG/releases/tag/v4.0.8

mdvz0r commented 1 year ago

just installed v4.0.8. unfortunately, seem issue here... Error log shows the exact same messages:

Uncaught (in promise) TypeError: domNode is null
    _bindUI chrome://messenger/content/quickFilterBar.js:321
    init chrome://messenger/content/quickFilterBar.js:58
    init chrome://messenger/content/about3Pane.js:4298
    <anonymous> chrome://messenger/content/about3Pane.js:111
quickFilterBar.js:321:11

Uncaught (in promise) TypeError: win.messageBrowser is undefined
    openTab chrome://messenger/content/mailTabs.js:103
mailTabs.js:103:13
Bbillyben commented 1 year ago

same here.

My logs on 'open discussion on new tab' shows:

TypeError: me is undefined ExpressionSearchChrome.jsm:1035:15 Uncaught (in promise) TypeError: domNode is null _bindUI chrome://messenger/content/quickFilterBar.js:321 init chrome://messenger/content/quickFilterBar.js:58 init chrome://messenger/content/about3Pane.js:4298

chrome://messenger/content/about3Pane.js:111 async* chrome://messenger/content/about3Pane.js:97 [quickFilterBar.js:321:11](chrome://messenger/content/quickFilterBar.js) Uncaught (in promise) TypeError: win.messageBrowser is undefined openTab chrome://messenger/content/mailTabs.js:103 _cloneTemplate chrome://messenger/content/mailTabs.js:66 _cloneTemplate chrome://messenger/content/mailTabs.js:62 openTab chrome://messenger/content/mailTabs.js:90 openTab chrome://messenger/content/tabmail.js:879 onQueryCompleted resource:///modules/ConversationOpener.jsm:55 _onQueryCompleted resource:///modules/gloda/Collection.jsm:681 onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169 _onQueryCompleted resource:///modules/gloda/Collection.jsm:681 onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169 _onQueryCompleted resource:///modules/gloda/Collection.jsm:681 onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169 _onQueryCompleted resource:///modules/gloda/Collection.jsm:681 onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169 handleCompletion resource:///modules/gloda/GlodaDatastore.jsm:445
opto commented 1 year ago

what happens if you deinstall, restart TB and install then?

Bbillyben commented 1 year ago

Still blank : logs are :


Uncaught (in promise) TypeError: domNode is null
    _bindUI chrome://messenger/content/quickFilterBar.js:321
    init chrome://messenger/content/quickFilterBar.js:58
    init chrome://messenger/content/about3Pane.js:4298
    <anonymous> chrome://messenger/content/about3Pane.js:111
    async* chrome://messenger/content/about3Pane.js:97
[quickFilterBar.js:321:11](chrome://messenger/content/quickFilterBar.js)
    <anonyme> chrome://messenger/content/about3Pane.js:138
    AsyncFunctionThrow self-hosted:856
    (Asynchrone : async)
    <anonyme> chrome://messenger/content/about3Pane.js:97
Uncaught (in promise) TypeError: win.messageBrowser is undefined
    openTab chrome://messenger/content/mailTabs.js:103
    _cloneTemplate chrome://messenger/content/mailTabs.js:66
    _cloneTemplate chrome://messenger/content/mailTabs.js:62
    openTab chrome://messenger/content/mailTabs.js:90
    openTab chrome://messenger/content/tabmail.js:879
    onQueryCompleted resource:///modules/ConversationOpener.jsm:55
    _onQueryCompleted resource:///modules/gloda/Collection.jsm:681
    onQueryCompleted resource:///modules/gloda/GlodaDatastore.jsm:169
    handleCompletion resource:///mo
```dules/gloda/GlodaDatastore.jsm:445
opto commented 1 year ago

which OS at your end, and TB version?

mdvz0r commented 1 year ago

what happens if you deinstall, restart TB and install then?

Same result.

Using: Mac OS X 14.1 (23B74), Thunderbird 115.4.1 (64-bit), Expression Search NG v4.0.8

opto commented 1 year ago

please try this https://github.com/opto/Expression-Search-NG/releases/tag/v4.0.9

mdvz0r commented 1 year ago

v4.0.9 works! thank you!

Bbillyben commented 1 year ago

my conf : Windows 10 pro 64 bits TB 115.4.2 (64 bits)

addon v4.0.9

I've unistalled addon v4.0.8, restart tb install v4.0.9 restart TB

Now when I do click on "open discussion", it does absolutely nothing. to revert to normal, I have to turn off the addon + restart TB.

My console show :

on addon activation :


WebExtensions: Expression Search / Google Mail UI startup... implementation.js:47
Unknown localization message info.xnote ExtensionCommon.sys.mjs:2082 ``` Unknown localization message info.xnote ExtensionCommon.sys.mjs:2082 localizeMessage resource://gre/modules/ExtensionCommon.sys.mjs:2082 init resource://expressionsearch/modules/gmailuiParse.jsm:64 resource://expressionsearch/modules/gmailuiParse.jsm:76 resource://expressionsearch/modules/ExpressionSearchChrome.jsm:170 initPrefs jar:file:///C:/Users/blegendre/AppData/Roaming/Thunderbird/Profiles/axb93fh9.DEfault_BEN/extensions/expressionsearch@opto.one.xpi!/api/ExpressionSearch/implementation.js:192 result resource://gre/modules/ExtensionParent.sys.mjs:1144 withCallContextData resource://gre/modules/ExtensionParent.sys.mjs:627 result resource://gre/modules/ExtensionParent.sys.mjs:1143 withPendingBrowser resource://gre/modules/ExtensionParent.sys.mjs:637 result resource://gre/modules/ExtensionParent.sys.mjs:1142 callAndLog resource://gre/modules/ExtensionParent.sys.mjs:1095 recvAPICall resource://gre/modules/ExtensionParent.sys.mjs:1141 AsyncFunctionNext self-hosted:852 (Asynchrone : async) _recv resource://gre/modules/ConduitsChild.sys.mjs:77 receiveMessage resource://gre/modules/ConduitsParent.sys.mjs:453 WebExtensions: initwindow ChromeWindow chrome://messenger/content/messenger.xhtml ​ 0: ChromeWindow about:blank ​ 1: ChromeWindow about:blank ​ 2: ChromeWindow about:blank ​ 3: ChromeWindow about:3pane ​ ADDON_ID: "cardbook@vigneau.philippe" ​ AbortController: function () ​ AbortSignal: function () ​ AbstractRange: function () ​ AccessibleNode: function () ​ AccountHubController: undefined ​ AddFeedAccount: function AddFeedAccount() ​ AddIMAccount: function AddIMAccount() ​ AddOnNS3: Object { hasTabMonitor: true, window: ChromeWindow chrome://messenger/content/messenger.xhtml, document: HTMLDocument chrome://messenger/content/messenger.xhtml, … } ​ Addon: function () ​ AddonEvent: function () ​ AddonInstall: function () ​ AddonManager: Object { ERROR_TIMEOUT: -1, ERROR_DOWNLOAD_ERROR: -2, ERROR_PARSE_ERROR: -3, … } ​ AddonManagerPermissions: AddonManagerPermissions { isHostPermitted: isHostPermitted(), … } ​ AggregateError: function AggregateError() ​ AnalyserNode: function () ​ Animation: function () ​ AnimationEffect: function () ​ AnimationEvent: function () ​ AnimationPlaybackEvent: function () ​ AnimationTimeline: function () ​ AnonymousContent: function () ​ AppConstants: Object { NIGHTLY_BUILD: false, RELEASE_OR_BETA: true, EARLY_BETA_OR_EARLIER: false, … } ​ AppMenuNotifications: ​ Array: function Array() ​ ArrayBuffer: function ArrayBuffer() ​ Atomics: Atomics { … } ​ Attr: function () ​ Audio: function Audio() ​ AudioBuffer: function () ​ AudioBufferSourceNode: function () ​ AudioContext: function () ​ AudioDestinationNode: function () ​ AudioListener: function () ​ AudioNode: function () ​ AudioParam: function () ​ AudioParamMap: function () ​ AudioProcessingEvent: function () ​ AudioScheduledSourceNode: function () ​ AudioWorklet: function () ​ AudioWorkletNode: function () ​ AuthenticatorAssertionResponse: function () ​ AuthenticatorAttestationResponse: function () ​ AuthenticatorResponse: function () ​ AutoChosen: function AutoChosen(aFileAutoChosen, aUriAutoChosen) ​ AutoHideMenubar: Object { _contextMenuListener: {…}, init: init(), _updateState: _updateState(), … } ​ BarProp: function () ​ BaseAudioContext: function () ​ BatteryManager: function () ​ BeforeUnloadEvent: function () ​ BigInt: function BigInt() ​ BigInt64Array: function BigInt64Array() ​ BigUint64Array: function BigUint64Array() ​ BiquadFilterNode: function () ​ Blob: function () ​ BlobEvent: function () ​ BondOpenPGP: Object { logException: logException(exc), _alreadyTriedInit: true, init: async init(), … } ​ Boolean: function Boolean() ​ BroadcastChannel: function () ​ BrowserAddonUI: Object { promptRemoveExtension: async promptRemoveExtension(addon), removeAddon: async removeAddon(addonId) } ​ BrowserConsoleManager: ​ BrowserToolboxLauncher: class BrowserToolboxLauncher {} ​ BrowserUtils: ​ BrowsingContext: function () ​ BrowsingContextGroup: function () ​ ByteLengthQueuingStrategy: function () ​ CDATASection: function () ​ CSS: CSS { supports: supports(), escape: escape(), … } ​ CSS2Properties: function () ​ CSSAnimation: function () ​ CSSConditionRule: function () ​ CSSContainerRule: function () ​ CSSCounterStyleRule: function () ​ CSSFontFaceRule: function () ​ CSSFontFeatureValuesRule: function () ​ CSSFontPaletteValuesRule: function () ​ CSSGroupingRule: function () ​ CSSImportRule: function () ​ CSSKeyframeRule: function () ​ CSSKeyframesRule: function () ​ CSSLayerBlockRule: function () ​ CSSLayerStatementRule: function () ​ CSSMediaRule: function () ​ CSSMozDocumentRule: function () ​ CSSNamespaceRule: function () ​ CSSPageRule: function () ​ CSSRule: function () ​ CSSRuleList: function () ​ CSSStyleDeclaration: function () ​ CSSStyleRule: function () ​ CSSStyleSheet: function () ​ CSSSupportsRule: function () ​ CSSTransition: function () ​ Cache: function () ​ CacheStorage: function () ​ CalAddTransaction: ​ CalAlarm: ​ CalAttachment: ​ CalAttendee: function CalAttendee(icalString) ​ CalDeleteTransaction: ​ CalEvent: ​ CalMetronome: Object { _lastFireTime: 1699513680002, _lastMinute: 8, _lastHour: 8, … } ​ CalModifyTransaction: ​ CalReadableStreamFactory: class CalReadableStreamFactory {} ​ CalTodo: ​ CalTransactionManager: class CalTransactionManager {} ​ CalendarDeleteCommandEnabled: false ​ CalendarNewEventsCommandEnabled: true ​ CalendarNewTasksCommandEnabled: true ​ CallbackDebuggerNotification: function () ​ CanonicalBrowsingContext: function () ​ CanvasCaptureMediaStream: function () ​ CanvasGradient: function () ​ CanvasPattern: function () ​ CanvasRenderingContext2D: function () ​ CardbookHttpRequest: function CardbookHttpRequest(url, username) ​ CaretPosition: function () ​ CaretStateChangedEvent: function () ​ Cc: nsXPCComponents_Classes { "@mozilla.org/messenger/protocol/info;1?type=owl": nsJSCID, "@mozilla.org/network/protocol;1?name=owl": nsJSCID, "@mozilla.org/messenger/server;1?type=owl-ews": nsJSCID, … } ​ ChannelMergerNode: function () ​ ChannelSplitterNode: function () ​ ChannelWrapper: function () ​ CharacterData: function () ​ ChatEncryption: Object { otrEnabled: Getter, canConfigureEncryption: canConfigureEncryption(protocol), _otrEnabled: true, … } ​ ChatIcons: Object { getProtocolIconURI: getProtocolIconURI(protocol, size), setProtocolIconOpacity: setProtocolIconOpacity(protoIconElement, statusName), fallbackUserIconURI: "chrome://messenger/skin/icons/userIcon.svg", … } ​ CheckerboardReportService: function () ​ ChildProcessMessageManager: function () ​ ChildSHistory: function () ​ ChromeMessageBroadcaster: function () ​ ChromeMessageSender: function () ​ ChromeNodeList: function () ​ ChromeUtils: ChromeUtils { getObjectNodeId: getObjectNodeId(), saveHeapSnapshot: saveHeapSnapshot(), saveHeapSnapshotGetId: saveHeapSnapshotGetId(), … } ​ ChromeWorker: function () ​ Ci: nsXPCComponents_Interfaces { nsIXPCTestCEnums: nsJSIID, nsICaptivePortalDetector: nsJSIID, nsIHandleReportCallback: nsJSIID, … } ​ Clipboard: function () ​ ClipboardEvent: function () ​ ClonedErrorHolder: function () ​ CloseEvent: function () ​ CloseTabOrWindow: function CloseTabOrWindow() ​ CoalesceGetMsgsForPop3ServersByDestFolder: function CoalesceGetMsgsForPop3ServersByDestFolder(currentServer, pop3DownloadServersArray, localFoldersToDownloadTo) ​ Color: ​ CommandEvent: function () ​ CommandUpdate_UndoRedo: function CommandUpdate_UndoRedo() ​ Comment: function () ​ Components: nsXPCComponents { } ​ ComposeMessage: async function ComposeMessage(type, format, folder, messageArray, selection, autodetectCharset) ​ CompositionEvent: function () ​ CompressionStream: function () ​ ConfirmUnsubscribe: function ConfirmUnsubscribe(folders) ​ ConsoleAPI: function ConsoleAPI(aConsoleOptions) ​ ConsoleInstance: function () ​ ConstantSourceNode: function () ​ ContentAreaUtils: Object { stringBundle: Getter } ​ ContentFrameMessageManager: function () ​ ContentProcessMessageManager: function () ​ ConvolverNode: function () ​ CountQueuingStrategy: function () ​ Cr: nsXPCComponents_Results { NS_ERROR_XPC_NOT_ENOUGH_ARGS: 2153185281, NS_ERROR_XPC_NEED_OUT_OBJECT: 2153185282, NS_ERROR_XPC_CANT_SET_OUT_VAL: 2153185283, … } ​ CreateMailWindowGlobals: function CreateMailWindowGlobals() ​ CreateOfferRequest: function () ​ Credential: function () ​ CredentialsContainer: function () ​ Crypto: function () ​ CryptoKey: function () ​ Cu: nsXPCComponents_Utils { getGlobalForObject: getGlobalForObject(), isInAutomation: Getter, readUTF8File: readUTF8File(), … } ​ CustomElementRegistry: function () ​ CustomEvent: function () ​ CustomizableUI: ​ CustomizeMailToolbar: function CustomizeMailToolbar(toolboxId, customizePopupId) ​ DBViewWrapper: function DBViewWrapper(aListener) ​ DOMException: function () ​ DOMImplementation: function () ​ DOMLinkHandler: Object { handleEvent: handleEvent(event), onLinkAdded: onLinkAdded(event) } ​ DOMLocalization: function () ​ DOMMatrix: function () ​ DOMMatrixReadOnly: function () ​ DOMParser: function () ​ DOMPoint: function () ​ DOMPointReadOnly: function () ​ DOMQuad: function () ​ DOMRect: function () ​ DOMRectList: function () ​ DOMRectReadOnly: function () ​ DOMRequest: function () ​ DOMStringList: function () ​ DOMStringMap: function () ​ DOMTokenList: function () ​ DataTransfer: function () ​ DataTransferItem: function () ​ DataTransferItemList: function () ​ DataView: function DataView() ​ Date: function Date() ​ DebuggerNotification: function () ​ DebuggerNotificationObserver: function () ​ DecompressionStream: function () ​ DefaultController: Object { supportsCommand: supportsCommand(command), isCommandEnabled: isCommandEnabled(command), doCommand: doCommand(command, event), … } ​ DelayNode: function () ​ Deprecated: ​ DeviceMotionEvent: function () ​ DeviceOrientationEvent: function () ​ Directory: function () ​ Document: function () ​ DocumentFragment: function () ​ DocumentTimeline: function () ​ DocumentType: function () ​ DominatorTree: function () ​ DownloadLastDir: ​ DownloadListener: function DownloadListener(win, transfer) ​ DownloadPaths: ​ DownloadURL: function DownloadURL(aURL, aFileName, aInitiatingDocument) ​ Downloads: ​ DragEvent: function () ​ DynamicsCompressorNode: function () ​ E10SUtils: Object { DEFAULT_REMOTE_TYPE: "web", WEB_REMOTE_TYPE: "web", WEB_REMOTE_COOP_COEP_TYPE_PREFIX: "webCOOP+COEP=", … } ​ Element: function () ​ ElementInternals: function () ​ EnableMenuItem: function EnableMenuItem(id, enableItem) ​ EnigmailDialog: Object { confirmDlg: confirmDlg(win, mesg, okLabel, cancelLabel), alert: alert(win, mesg), info: info(win, mesg), … } ​ EnigmailFuncs: Object { stripEmail: stripEmail(mailAddresses), parseEmails: parseEmails(mailAddrs, encoded), collapseAdvanced: collapseAdvanced(obj, attribute, dummy), … } ​ EnigmailKey: Object { formatFpr: formatFpr(fingerprint), _keyListCacheMaxEntries: 50, _keyListCacheMaxKeySize: 30720, … } ​ EnigmailKeyRing: Object { _initialized: true, init: init(), getAllKeys: getAllKeys(win, sortColumn, sortDirection), … } ​ EnigmailKeyServer: Object { download: async download(keyIDs, keyserver, listener), downloadNoImport: async downloadNoImport(keyIDs, keyserver, listener), serverReqURL: serverReqURL(keyIDs, keyserver), … } ​ EnigmailKeyserverURIs: Object { getKeyServers: getKeyServers(), getUploadKeyServer: getUploadKeyServer() } ​ EnigmailMime: ​ EnigmailWkdLookup: Object { getDownloadUrlFromEmail: async getDownloadUrlFromEmail(email, advancedMethod), downloadKey: async downloadKey(url), isWkdAvailable: isWkdAvailable(email) } ​ Error: function Error() ​ ErrorEvent: function () ​ EvalError: function EvalError() ​ Event: function () ​ EventCallbackDebuggerNotification: function () ​ EventCounts: function () ​ EventSource: function () ​ EventTarget: function () ​ ExtensionParent: Object { GlobalManager: {…}, HiddenExtensionPage: class HiddenExtensionPage, IconDetails: {…}, … } ​ ExtensionSupport: Object { registerWindowListener: registerWindowListener(aID, aExtensionHook), unregisterWindowListener: unregisterWindowListener(aID), openWindows: Getter, … } ​ ExtensionsUI: Object { sideloaded: Set [], updates: Set [], sideloadListener: null, … } ​ Extractor: function Extractor(fallbackLocale, dayStart, fixedLang) ​ FeedMessageHandler: Object { gShowSummary: true, gToggle: false, kSelectOverrideWebPage: 0, … } ​ FeedUtils: Object { MOZ_PARSERERROR_NS: "http://www.mozilla.org/newlayout/xml/parsererror.xml", RDF_SYNTAX_NS: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", RDF_SYNTAX_TYPE: "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", … } ​ File: function () ​ FileInfo: function FileInfo(aSuggestedFileName, aFileName, aFileBaseName, aFileExt, aUri) ​ FileList: function () ​ FileReader: function () ​ FileSystem: function () ​ FileSystemDirectoryEntry: function () ​ FileSystemDirectoryHandle: function () ​ FileSystemDirectoryReader: function () ​ FileSystemEntry: function () ​ FileSystemFileEntry: function () ​ FileSystemFileHandle: function () ​ FileSystemHandle: function () ​ FileSystemWritableFileStream: function () ​ FileUtils: Object { MODE_RDONLY: 1, MODE_WRONLY: 2, MODE_RDWR: 4, … } ​ FinalizationRegistry: function FinalizationRegistry() ​ Flex: function () ​ FlexItemValues: function () ​ FlexLineValues: function () ​ Float32Array: function Float32Array() ​ Float64Array: function Float64Array() ​ FluentBundle: function () ​ FluentPattern: function () ​ FluentResource: function () ​ FocusEvent: function () ​ FolderUtils: ​ FontFace: function () ​ FontFaceSet: function () ​ FontFaceSetLoadEvent: function () ​ FormData: function () ​ FormDataEvent: function () ​ FormHistory: Object { db: Getter, enabled: Getter, search: async search(aSelectTerms, aSearchData, aRowFunc), … } ​ FrameCrashedEvent: function () ​ FrameLoader: function () ​ Function: function Function() ​ GainNode: function () ​ Gamepad: function () ​ GamepadButton: function () ​ GamepadEvent: function () ​ GamepadHapticActuator: function () ​ GamepadPose: function () ​ GenerateFilenameFromMsgHdr: function GenerateFilenameFromMsgHdr(msgHdr) ​ GenerateValidFilename: function GenerateValidFilename(filename, extension) ​ Geolocation: function () ​ GeolocationCoordinates: function () ​ GeolocationPosition: function () ​ GeolocationPositionError: function () ​ GetDefaultAccountRootFolder: function GetDefaultAccountRootFolder() ​ GetFirstSelectedMsgFolder: function GetFirstSelectedMsgFolder() ​ GetFolderMessages: function GetFolderMessages(selectedFolders) ​ GetMessagesForAllAuthenticatedAccounts: function GetMessagesForAllAuthenticatedAccounts() ​ GetMessagesForInboxOnServer: function GetMessagesForInboxOnServer(server) ​ GetMsgKeyFromURI: function GetMsgKeyFromURI(uri) ​ GetNewMsgs: function GetNewMsgs(server, folder) ​ GetNextNMessages: function GetNextNMessages(folder) ​ GetSaveModeForContentType: function GetSaveModeForContentType(aContentType, aDocument) ​ GetSelectedMsgFolders: function GetSelectedMsgFolders() ​ Glean: GleanImpl { pdfjs: GleanCategory, searchEnginePrivate: GleanCategory, newtabSearchAd: GleanCategory, … } ​ GleanCategory: function () ​ GleanImpl: function () ​ GleanLabeled: function () ​ GleanPings: GleanPingsImpl { onePingOnly: XPCWrappedNative_NoHelper, testPing: XPCWrappedNative_NoHelper, backgroundTasks: XPCWrappedNative_NoHelper, … } ​ GleanPingsImpl: function () ​ Gloda: Object { _init: _init(), _log: ConsoleInstance, _initLogging: _initLogging(), … } ​ GlodaIndexer: Object { _INDEX_IDLE_ADJUSTMENT_TIME: 5000, _INITIAL_SWEEP_DELAY: 10000, _INDEX_KICKOFF_DELAY: 200, … } ​ GlodaMsgSearcher: function GlodaMsgSearcher(aListener, aSearchString, aAndTerms) ​ GlodaSearchBoxTabMonitor: Object { monitorName: "glodaSearchBox", onTabSwitched: onTabSwitched(aTab, aOldTab), onTabTitleChanged: onTabTitleChanged(), … } ​ GlodaSyntheticView: ​ Grid: function () ​ GridArea: function () ​ GridDimension: function () ​ GridLine: function () ​ GridLines: function () ​ GridTrack: function () ​ GridTracks: function () ​ HTMLAllCollection: function () ​ HTMLAnchorElement: function () ​ HTMLAreaElement: function () ​ HTMLAudioElement: function () ​ HTMLBRElement: function () ​ HTMLBaseElement: function () ​ HTMLBodyElement: function () ​ HTMLButtonElement: function () ​ HTMLCanvasElement: function () ​ HTMLCollection: function () ​ HTMLDListElement: function () ​ HTMLDataElement: function () ​ HTMLDataListElement: function () ​ HTMLDetailsElement: function () ​ HTMLDialogElement: function () ​ HTMLDirectoryElement: function () ​ HTMLDivElement: function () ​ HTMLDocument: function () ​ HTMLElement: function () ​ HTMLEmbedElement: function () ​ HTMLFieldSetElement: function () ​ HTMLFontElement: function () ​ HTMLFormControlsCollection: function () ​ HTMLFormElement: function () ​ HTMLFrameElement: function () ​ HTMLFrameSetElement: function () ​ HTMLHRElement: function () ​ HTMLHeadElement: function () ​ HTMLHeadingElement: function () ​ HTMLHtmlElement: function () ​ HTMLIFrameElement: function () ​ HTMLImageElement: function () ​ HTMLInputElement: function () ​ HTMLLIElement: function () ​ HTMLLabelElement: function () ​ HTMLLegendElement: function () ​ HTMLLinkElement: function () ​ HTMLMapElement: function () ​ HTMLMarqueeElement: function () ​ HTMLMediaElement: function () ​ HTMLMenuElement: function () ​ HTMLMetaElement: function () ​ HTMLMeterElement: function () ​ HTMLModElement: function () ​ HTMLOListElement: function () ​ HTMLObjectElement: function () ​ HTMLOptGroupElement: function () ​ HTMLOptionElement: function () ​ HTMLOptionsCollection: function () ​ HTMLOutputElement: function () ​ HTMLParagraphElement: function () ​ HTMLParamElement: function () ​ HTMLPictureElement: function () ​ HTMLPreElement: function () ​ HTMLProgressElement: function () ​ HTMLQuoteElement: function () ​ HTMLScriptElement: function () ​ HTMLSelectElement: function () ​ HTMLSlotElement: function () ​ HTMLSourceElement: function () ​ HTMLSpanElement: function () ​ HTMLStyleElement: function () ​ HTMLTableCaptionElement: function () ​ HTMLTableCellElement: function () ​ HTMLTableColElement: function () ​ HTMLTableElement: function () ​ HTMLTableRowElement: function () ​ HTMLTableSectionElement: function () ​ HTMLTemplateElement: function () ​ HTMLTextAreaElement: function () ​ HTMLTimeElement: function () ​ HTMLTitleElement: function () ​ HTMLTrackElement: function () ​ HTMLUListElement: function () ​ HTMLUnknownElement: function () ​ HTMLVideoElement: function () ​ HandleAppCommandEvent: function HandleAppCommandEvent(evt) ​ HashChangeEvent: function () ​ Headers: function () ​ HeapSnapshot: function () ​ History: function () ​ IDBCursor: function () ​ IDBCursorWithValue: function () ​ IDBDatabase: function () ​ IDBFactory: function () ​ IDBIndex: function () ​ IDBKeyRange: function () ​ IDBObjectStore: function () ​ IDBOpenDBRequest: function () ​ IDBRequest: function () ​ IDBTransaction: function () ​ IDBVersionChangeEvent: function () ​ IIRFilterNode: function () ​ IMServices: Object { accounts: XPCWrappedNative_NoHelper, core: XPCWrappedNative_NoHelper, cmd: XPCWrappedNative_NoHelper, … } ​ IOUtils: IOUtils { read: read(), readUTF8: readUTF8(), readJSON: readJSON(), … } ​ IdleDeadline: function () ​ Image: function Image() ​ ImageBitmap: function () ​ ImageBitmapRenderingContext: function () ​ ImageData: function () ​ ImageDocument: function () ​ Infinity: Infinity ​ InformUserOfCertError: function InformUserOfCertError(secInfo, targetSite) ​ InitEditMessagesMenu: function InitEditMessagesMenu() ​ InitGoMessagesMenu: function InitGoMessagesMenu() ​ InitMessageMark: function InitMessageMark() ​ InitMessageMenu: function InitMessageMenu() ​ InitMessageTags: function InitMessageTags(parent, elementName, classes) ​ InitMsgWindow: function InitMsgWindow() ​ InitRecentlyClosedTabsPopup: function InitRecentlyClosedTabsPopup(parent, elementName, classes, separatorName) ​ InitViewBodyMenu: function InitViewBodyMenu() ​ InitViewHeadersMenu: function InitViewHeadersMenu() ​ InitViewLayoutStyleMenu: function InitViewLayoutStyleMenu() ​ InitViewMessagesMenu: function InitViewMessagesMenu() ​ InitViewSortByMenu: function InitViewSortByMenu() ​ InlineSpellChecker: function InlineSpellChecker(aEditor) ​ InputEvent: function () ​ InspectorFontFace: function () ​ InspectorUtils: InspectorUtils { getAllStyleSheets: getAllStyleSheets(), getCSSStyleRules: getCSSStyleRules(), getRuleLine: getRuleLine(), … } ​ InstallTrigger: ​ InstallTriggerImpl: function () ​ Int16Array: function Int16Array() ​ Int32Array: function Int32Array() ​ Int8Array: function Int8Array() ​ InternalError: function InternalError() ​ IntersectionObserver: function () ​ IntersectionObserverEntry: function () ​ Intl: Intl { … } ​ InvitationsManager: function InvitationsManager() ​ IsAccountOfflineEnabled: function IsAccountOfflineEnabled() ​ IsGetNewMessagesEnabled: function IsGetNewMessagesEnabled() ​ IsGetNextNMessagesEnabled: function IsGetNextNMessagesEnabled() ​ IsSendUnsentMsgsEnabled: function IsSendUnsentMsgsEnabled(unsentMsgsFolder) ​ IsSubscribeEnabled: function IsSubscribeEnabled() ​ JSON: JSON { … } ​ JSProcessActorChild: function () ​ JSProcessActorParent: function () ​ JSWindowActorChild: function () ​ JSWindowActorParent: function () ​ JXON: Object { build: build(oXMLParent, nVerbosity, bFreeze, bNesteAttributes) } ​ KeyEvent: function () ​ KeyLookupHelper: Object { isExpiredOrRevoked: isExpiredOrRevoked(keyTrust), _lookupAndImportOnKeyserver: async _lookupAndImportOnKeyserver(mode, window, identifier), lookupAndImportByKeyID: async lookupAndImportByKeyID(mode, window, keyId, giveFeedbackToUser), … } ​ KeyboardEvent: function () ​ KeyframeEffect: function () ​ L10nFileSource: function () ​ L10nOverlays: L10nOverlays { ERROR_UNKNOWN: 1, ERROR_FORBIDDEN_TYPE: 2, ERROR_NAMED_ELEMENT_MISSING: 3, … } ​ L10nRegistry: function () ​ LaunchCustomizeDialog: function LaunchCustomizeDialog() ​ Localization: function () ​ Location: function () ​ Lock: function () ​ LockManager: function () ​ MIDIAccess: function () ​ MIDIConnectionEvent: function () ​ MIDIInput: function () ​ MIDIInputMap: function () ​ MIDIMessageEvent: function () ​ MIDIOutput: function () ​ MIDIOutputMap: function () ​ MIDIPort: function () ​ MODE_CREATE: 8 ​ MODE_RDONLY: 1 ​ MODE_TRUNCATE: 32 ​ MODE_WRONLY: 2 ​ MailConsts: ​ MailE10SUtils: Object { loadAboutBlank: loadAboutBlank(browser), loadURI: loadURI(browser, uri, params), changeRemoteness: changeRemoteness(browser, remoteType), … } ​ MailOfflineMgr: Object { offlineManager: XPCWrappedNative_NoHelper, offlineBundle: XPCWrappedNative_NoHelper, init: init(), … } ​ MailServices: Object { messageServiceFromURI: messageServiceFromURI(uri), mailSession: XPCWrappedNative_NoHelper, accounts: XPCWrappedNative_NoHelper, … } ​ MailToolboxCustomizeDone: function MailToolboxCustomizeDone(aEvent, customizePopupId) ​ MailUtils: Object { restartApplication: restartApplication(), discoverFolders: discoverFolders(), getFolderForFileInProfile: getFolderForFileInProfile(aFile), … } ​ MailViewConstants: Object { kViewItemAll: 0, kViewItemUnread: 1, kViewItemTags: 2, … } ​ Map: function Map() ​ MatchGlob: function () ​ MatchPattern: function () ​ MatchPatternSet: function () ​ Math: Math { … } ​ MathMLElement: function () ​ MediaCapabilities: function () ​ MediaCapabilitiesInfo: function () ​ MediaControlService: MediaControlService { generateMediaControlKey: generateMediaControlKey(), getCurrentActiveMediaMetadata: getCurrentActiveMediaMetadata(), getCurrentMediaSessionPlaybackState: getCurrentMediaSessionPlaybackState(), … } ​ MediaController: function () ​ MediaDeviceInfo: function () ​ MediaDevices: function () ​ MediaElementAudioSourceNode: function () ​ MediaEncryptedEvent: function () ​ MediaError: function () ​ MediaKeyError: function () ​ MediaKeyMessageEvent: function () ​ MediaKeySession: function () ​ MediaKeyStatusMap: function () ​ MediaKeySystemAccess: function () ​ MediaKeys: function () ​ MediaList: function () ​ MediaMetadata: function () ​ MediaQueryList: function () ​ MediaQueryListEvent: function () ​ MediaRecorder: function () ​ MediaRecorderErrorEvent: function () ​ MediaSession: function () ​ MediaSource: function () ​ MediaStream: function () ​ MediaStreamAudioDestinationNode: function () ​ MediaStreamAudioSourceNode: function () ​ MediaStreamEvent: function () ​ MediaStreamTrack: function () ​ MediaStreamTrackAudioSourceNode: function () ​ MediaStreamTrackEvent: function () ​ MessageBroadcaster: function () ​ MessageChannel: function () ​ MessageEvent: function () ​ MessageListenerManager: function () ​ MessagePort: function () ​ MessageSender: function () ​ MigrateFolderViews: function MigrateFolderViews() ​ MigrateJunkMailSettings: function MigrateJunkMailSettings() ​ MigrateOpenMessageBehavior: function MigrateOpenMessageBehavior() ​ MimeParser: ​ MimeType: function () ​ MimeTypeArray: function () ​ MouseEvent: function () ​ MouseScrollEvent: function () ​ Mousetrap: function Mousetrap(targetElement) ​ MozCanvasPrintState: function () ​ MozDocumentMatcher: function () ​ MozDocumentObserver: function () ​ MozElements: Object { printInstrumentation: printInstrumentation(collapsed), MozElementMixin: MozElementMixin(Base), BaseControlMixin: BaseControlMixin(Base), … } ​ MozHTMLElement: class MozElementBase {} ​ MozQueryInterface: function () ​ MozSharedMap: function () ​ MozSharedMapChangeEvent: function () ​ MozStorageAsyncStatementParams: function () ​ MozStorageStatementParams: function () ​ MozStorageStatementRow: function () ​ MozWritableSharedMap: function () ​ MozXULElement: class MozElementBase {} ​ MsgAccountManager: async function MsgAccountManager(selectPage, server) ​ MsgBodyAllParts: function MsgBodyAllParts() ​ MsgBodyAllowHTML: function MsgBodyAllowHTML() ​ MsgBodyAsPlaintext: function MsgBodyAsPlaintext() ​ MsgBodySanitized: function MsgBodySanitized() ​ MsgDisplayMessageInFolderTab: function MsgDisplayMessageInFolderTab(aMsgHdr) ​ MsgFeedBodyRenderPrefs: function MsgFeedBodyRenderPrefs(plaintext, html, mime) ​ MsgFilterList: function MsgFilterList(args) ​ MsgFilters: function MsgFilters(emailAddress, folder, fieldName) ​ MsgGetMessage: function MsgGetMessage(folders) ​ MsgGetMessagesForAccount: function MsgGetMessagesForAccount(aFolder) ​ MsgGetMessagesForAllAuthenticatedAccounts: function MsgGetMessagesForAllAuthenticatedAccounts() ​ MsgGetMessagesForAllServers: function MsgGetMessagesForAllServers(defaultServer) ​ MsgGetNextNMessages: function MsgGetNextNMessages() ​ MsgHdrSyntheticView: ​ MsgHdrToMimeMessage: ​ MsgMarkAllFoldersRead: function MsgMarkAllFoldersRead(selectedFolders) ​ MsgMarkAllRead: function MsgMarkAllRead(folders) ​ MsgNewMessage: function MsgNewMessage(event) ​ MsgOpenFromFile: function MsgOpenFromFile() ​ MsgOpenNewTabForFolders: async function newMsgOpenNewTabForFolders(a, b) ​ MsgOpenNewWindowForFolder: function MsgOpenNewWindowForFolder(folderURI, msgKeyToSelect) ​ MsgOpenNewWindowForMessage: function MsgOpenNewWindowForMessage(aMsgHdr, aView) ​ MsgPauseUpdates: function MsgPauseUpdates(selectedFolders, pause) ​ MsgSearchAddresses: function MsgSearchAddresses() ​ MsgStatusFeedback: Object { _statusText: label#statusText.statusbarpanel, _startRequests: 0, _meteorsSpinning: false, … } ​ MsgSubscribe: function MsgSubscribe(folder) ​ MsgSynchronizeOffline: function MsgSynchronizeOffline() ​ MsgUnsubscribe: function MsgUnsubscribe(folders) ​ MsgViewAllHeaders: function MsgViewAllHeaders() ​ MsgViewNormalHeaders: function MsgViewNormalHeaders() ​ MutationEvent: function () ​ MutationObserver: function () ​ MutationRecord: function () ​ NaN: NaN ​ NamedNodeMap: function () ​ NavigationPreloadManager: function () ​ Navigator: function () ​ NetUtil: Object { asyncCopy: NetUtil_asyncCopy(aSource, aSink, aCallback), asyncFetch: NetUtil_asyncFetch(aSource, aCallback), newURI: NetUtil_newURI(aTarget, aOriginCharset, aBaseURI), … } ​ Node: function () ​ NodeFilter: function () ​ NodeIterator: function () ​ NodeList: function () ​ Notification: function () ​ Notifications: Object { _msgCounter: 0, _lastMessageTime: 0, _notificationPrefName: "mail.chat.show_desktop_notifications", … } ​ NotifyPaintEvent: function () ​ Number: function Number() ​ OTR: ​ OTRUI: Object { enabled: false, stringsLoaded: false, debug: false, … } ​ Object: function Object() ​ OfflineAudioCompletionEvent: function () ​ OfflineAudioContext: function () ​ OffscreenCanvas: function () ​ OffscreenCanvasRenderingContext2D: function () ​ OnMailWindowUnload: function OnMailWindowUnload() ​ OpenInboxForServer: function OpenInboxForServer(server) ​ OpenMessageInNewTab: function OpenMessageInNewTab(msgHdr, tabParams) ​ OpenOrFocusWindow: function OpenOrFocusWindow(args, windowType, chromeURL) ​ Option: function Option() ​ OscillatorNode: function () ​ PROTO_TREE_VIEW: function PROTO_TREE_VIEW() ​ PageTransitionEvent: function () ​ PaintRequest: function () ​ PaintRequestList: function () ​ PanelMultiView: ​ PanelUI: Object { kEvents: Getter, _initialized: true, _eventListenersAdded: false, … } ​ PannerNode: function () ​ ParentProcessMessageManager: function () ​ Path2D: function () ​ PathUtils: PathUtils { filename: filename(), parent: parent(), join: join(), … } ​ PeerConnectionImpl: function () ​ PeerConnectionObserver: function () ​ Performance: function () ​ PerformanceEntry: function () ​ PerformanceEntryEvent: function () ​ PerformanceEventTiming: function () ​ PerformanceMark: function () ​ PerformanceMeasure: function () ​ PerformanceNavigation: function () ​ PerformanceNavigationTiming: function () ​ PerformanceObserver: function () ​ PerformanceObserverEntryList: function () ​ PerformancePaintTiming: function () ​ PerformanceResourceTiming: function () ​ PerformanceServerTiming: function () ​ PerformanceTiming: function () ​ PeriodicFilterManager: Object { _checkRateMilliseconds: 60000, _defaultFilterRateMinutes: 10, _initialized: true, … } ​ PeriodicWave: function () ​ PermissionStatus: function () ​ Permissions: function () ​ PhishingDetector: ​ PhoneNumber: ​ PlacesBookmark: function () ​ PlacesBookmarkAddition: function () ​ PlacesBookmarkChanged: function () ​ PlacesBookmarkGuid: function () ​ PlacesBookmarkKeyword: function () ​ PlacesBookmarkMoved: function () ​ PlacesBookmarkRemoved: function () ​ PlacesBookmarkTags: function () ​ PlacesBookmarkTime: function () ​ PlacesBookmarkTitle: function () ​ PlacesBookmarkUrl: function () ​ PlacesEvent: function () ​ PlacesFavicon: function () ​ PlacesHistoryCleared: function () ​ PlacesObservers: PlacesObservers { addListener: addListener(), removeListener: removeListener(), notifyListeners: notifyListeners(), … } ​ PlacesPurgeCaches: function () ​ PlacesRanking: function () ​ PlacesUtils: Object { TYPE_X_MOZ_PLACE_CONTAINER: "text/x-moz-place-container", TYPE_X_MOZ_PLACE_SEPARATOR: "text/x-moz-place-separator", TYPE_X_MOZ_PLACE: "text/x-moz-place", … } ​ PlacesVisit: function () ​ PlacesVisitRemoved: function () ​ PlacesVisitTitle: function () ​ PlacesWeakCallbackWrapper: function () ​ Plugin: function () ​ PluginArray: function () ​ PluginCrashedEvent: function () ​ PluralForm: Object { get: Getter, makeGetter: makeGetter(aRuleNum), numForms: Getter, … } ​ PointerEvent: function () ​ PopStateEvent: function () ​ PopupBlockedEvent: function () ​ PopupNotifications: Object { _suppress: false, buttonDelay: 500, nextDismissReason: 6, … } ​ PopupPositionedEvent: function () ​ PositionStateEvent: function () ​ PrecompiledScript: function () ​ PrintUtils: ​ PrivateBrowsingUtils: ​ ProcessMessageManager: function () ​ ProcessingInstruction: function () ​ ProgressEvent: function () ​ Promise: function Promise() ​ PromiseDebugging: PromiseDebugging { getState: getState(), getPromiseID: getPromiseID(), getAllocationStack: getAllocationStack(), … } ​ PromiseRejectionEvent: function () ​ PromiseUtils: Object { defer: defer(), idleDispatch: idleDispatch(callback, timeout) } ​ Proxy: function Proxy() ​ PublicKeyCredential: function () ​ PushManagerImpl: function () ​ PushSubscription: function () ​ PushSubscriptionOptions: function () ​ QuickSearchFocus: function QuickSearchFocus() ​ RTCCertificate: function () ​ RTCDTMFSender: function () ​ RTCDTMFToneChangeEvent: function () ​ RTCDataChannel: function () ​ RTCDataChannelEvent: function () ​ RTCDtlsTransport: function () ​ RTCIceCandidate: function () ​ RTCPeerConnection: function () ​ RTCPeerConnectionIceEvent: function () ​ RTCPeerConnectionStatic: function () ​ RTCRtpReceiver: function () ​ RTCRtpSender: function () ​ RTCRtpTransceiver: function () ​ RTCSctpTransport: function () ​ RTCSessionDescription: function () ​ RTCStatsReport: function () ​ RTCTrackEvent: function () ​ RadioNodeList: function () ​ Range: function () ​ RangeError: function RangeError() ​ ReadableByteStreamController: function () ​ ReadableStream: function () ​ ReadableStreamBYOBReader: function () ​ ReadableStreamBYOBRequest: function () ​ ReadableStreamDefaultController: function () ​ ReadableStreamDefaultReader: function () ​ ReferenceError: function ReferenceError() ​ Reflect: Object { … } ​ RefreshAllViewPopups: function RefreshAllViewPopups(viewPopup) ​ RefreshCustomViewsPopup: function RefreshCustomViewsPopup(parent, elementName, classes) ​ RefreshTagsPopup: function RefreshTagsPopup(parent, elementName, classes) ​ RefreshViewPopup: function RefreshViewPopup(viewPopup) ​ RegExp: function RegExp() ​ ReloadMessage: function ReloadMessage() ​ Request: function () ​ ResizeObserver: function () ​ ResizeObserverEntry: function () ​ ResizeObserverSize: function () ​ Response: function () ​ SAVEMODE_COMPLETE_DOM: 1 ​ SAVEMODE_COMPLETE_TEXT: 2 ​ SAVEMODE_FILEONLY: 0 ​ STATE_FULLSCREEN: 4 ​ STATE_MAXIMIZED: 1 ​ STATE_MINIMIZED: 2 ​ STATE_NORMAL: 3 ​ SVGAElement: function () ​ SVGAngle: function () ​ SVGAnimateElement: function () ​ SVGAnimateMotionElement: function () ​ SVGAnimateTransformElement: function () ​ SVGAnimatedAngle: function () ​ SVGAnimatedBoolean: function () ​ SVGAnimatedEnumeration: function () ​ SVGAnimatedInteger: function () ​ SVGAnimatedLength: function () ​ SVGAnimatedLengthList: function () ​ SVGAnimatedNumber: function () ​ SVGAnimatedNumberList: function () ​ SVGAnimatedPreserveAspectRatio: function () ​ SVGAnimatedRect: function () ​ SVGAnimatedString: function () ​ SVGAnimatedTransformList: function () ​ SVGAnimationElement: function () ​ SVGCircleElement: function () ​ SVGClipPathElement: function () ​ SVGComponentTransferFunctionElement: function () ​ SVGDefsElement: function () ​ SVGDescElement: function () ​ SVGElement: function () ​ SVGEllipseElement: function () ​ SVGFEBlendElement: function () ​ SVGFEColorMatrixElement: function () ​ SVGFEComponentTransferElement: function () ​ SVGFECompositeElement: function () ​ SVGFEConvolveMatrixElement: function () ​ SVGFEDiffuseLightingElement: function () ​ SVGFEDisplacementMapElement: function () ​ SVGFEDistantLightElement: function () ​ SVGFEDropShadowElement: function () ​ SVGFEFloodElement: function () ​ SVGFEFuncAElement: function () ​ SVGFEFuncBElement: function () ​ SVGFEFuncGElement: function () ​ SVGFEFuncRElement: function () ​ SVGFEGaussianBlurElement: function () ​ SVGFEImageElement: function () ​ SVGFEMergeElement: function () ​ SVGFEMergeNodeElement: function () ​ SVGFEMorphologyElement: function () ​ SVGFEOffsetElement: function () ​ SVGFEPointLightElement: function () ​ SVGFESpecularLightingElement: function () ​ SVGFESpotLightElement: function () ​ SVGFETileElement: function () ​ SVGFETurbulenceElement: function () ​ SVGFilterElement: function () ​ SVGForeignObjectElement: function () ​ SVGGElement: function () ​ SVGGeometryElement: function () ​ SVGGradientElement: function () ​ SVGGraphicsElement: function () ​ SVGImageElement: function () ​ SVGLength: function () ​ SVGLengthList: function () ​ SVGLineElement: function () ​ SVGLinearGradientElement: function () ​ SVGMPathElement: function () ​ SVGMarkerElement: function () ​ SVGMaskElement: function () ​ SVGMatrix: function () ​ SVGMetadataElement: function () ​ SVGNumber: function () ​ SVGNumberList: function () ​ SVGPathElement: function () ​ SVGPatternElement: function () ​ SVGPoint: function () ​ SVGPointList: function () ​ SVGPolygonElement: function () ​ SVGPolylineElement: function () ​ SVGPreserveAspectRatio: function () ​ SVGRadialGradientElement: function () ​ SVGRect: function () ​ SVGRectElement: function () ​ SVGSVGElement: function () ​ SVGScriptElement: function () ​ SVGSetElement: function () ​ SVGStopElement: function () ​ SVGStringList: function () ​ SVGStyleElement: function () ​ SVGSwitchElement: function () ​ SVGSymbolElement: function () ​ SVGTSpanElement: function () ​ SVGTextContentElement: function () ​ SVGTextElement: function () ​ SVGTextPathElement: function () ​ SVGTextPositioningElement: function () ​ SVGTitleElement: function () ​ SVGTransform: function () ​ SVGTransformList: function () ​ SVGUnitTypes: function () ​ SVGUseElement: function () ​ SVGViewElement: function () ​ SanitizeAttachmentDisplayName: function SanitizeAttachmentDisplayName(aAttachment) ​ SaveAsFile: function SaveAsFile(uris) ​ SaveAsTemplate: function SaveAsTemplate(uri) ​ Screen: function () ​ ScreenOrientation: function () ​ ScriptProcessorNode: function () ​ ScrollAreaEvent: function () ​ ScrollViewChangeEvent: function () ​ SecurityPolicyViolationEvent: function () ​ SelectFolder: function SelectFolder(folderUri) ​ Selection: function () ​ SendUnsentMessages: function SendUnsentMessages() ​ ServiceWorker: function () ​ ServiceWorkerContainer: function () ​ ServiceWorkerRegistration: function () ​ Services: JSServices { focus: XPCWrappedNative_NoHelper, cpmm: ContentProcessMessageManager, telemetry: XPCWrappedNative_NoHelper, … } ​ SessionStoreFormData: function () ​ SessionStoreManager: Object { _initialized: true, _restored: true, _sessionAutoSaveTimerIntervalMS: 300000, … } ​ SessionStoreScrollData: function () ​ SessionStoreUtils: SessionStoreUtils { forEachNonDynamicChildFrame: forEachNonDynamicChildFrame(), addDynamicFrameFilteredListener: addDynamicFrameFilteredListener(), removeDynamicFrameFilteredListener: removeDynamicFrameFilteredListener(), … } ​ Set: function Set() ​ SetBusyCursor: function SetBusyCursor(window, enable) ​ SetMenuItemLabel: function SetMenuItemLabel(menuItemId, customLabel) ​ SetupUndoRedoCommand: function SetupUndoRedoCommand(command) ​ ShadowRoot: function () ​ SharedWorker: function () ​ ShortcutUtils: Object { IS_VALID: "valid", INVALID_KEY: "invalid_key", INVALID_MODIFIER: "invalid_modifier", … } ​ ShortcutsManager: Object { fluentMapping: {…}, shortcuts: (6) […], matches: matches(event, context), … } ​ ShowMenuItem: function ShowMenuItem(id, showItem) ​ SimpleGestureEvent: function () ​ SourceBuffer: function () ​ SourceBufferList: function () ​ SpellCheckHelper: Object { EDITABLE: 1, INPUT: 2, TEXTAREA: 4, … } ​ StaticRange: function () ​ Status: Object { toAttribute: toAttribute(aStatusType), _labels: {…}, toLabel: toLabel(aStatusType, aStatusText), … } ​ StereoPannerNode: function () ​ Storage: function () ​ StorageEvent: function () ​ StorageManager: function () ​ StreamFilter: function () ​ StreamFilterDataEvent: function () ​ String: function String() ​ StructuredCloneHolder: function () ​ StyleSheet: function () ​ StyleSheetApplicableStateChangeEvent: function () ​ StyleSheetList: function () ​ SubmitEvent: function () ​ Subscribe: function Subscribe(preselectedMsgFolder) ​ SubscribeOKCallback: function SubscribeOKCallback(changeTable) ​ SubtleCrypto: function () ​ SwitchPaneFocus: function SwitchPaneFocus(event) ​ Symbol: function Symbol() ​ SyncMessageSender: function () ​ SyntaxError: function SyntaxError() ​ TCPServerSocket: function () ​ TCPServerSocketEvent: function () ​ TCPSocket: function () ​ TCPSocketErrorEvent: function () ​ TCPSocketEvent: function () ​ TabsInTitlebar: Object { init: init(), _initialized: true, _drawInTitlePref: "mail.tabs.drawInTitlebar", … } ​ TagUtils: Object { loadTagsIntoCSS: loadTagsIntoCSS(aDocument), addTagToAllDocumentSheets: addTagToAllDocumentSheets(aKey, aColor), isColorContrastEnough: isColorContrastEnough(aColor) } ​ TelemetryStopwatch: TelemetryStopwatch { start: start(), running: running(), cancel: cancel(), … } ​ Text: function () ​ TextClause: function () ​ TextDecoder: function () ​ TextDecoderStream: function () ​ TextEncoder: function () ​ TextEncoderStream: function () ​ TextMetrics: function () ​ TextTrack: function () ​ TextTrackCue: function () ​ TextTrackCueList: function () ​ TextTrackList: function () ​ TimeEvent: function () ​ TimeRanges: function () ​ TodayPane: Object { isLoaded: true, previousMode: "special", switchCounter: 0, … } ​ ToggleInlineAttachment: function ToggleInlineAttachment(target) ​ ToolbarContextMenu: Object { _getExtensionId: _getExtensionId(popup), updateExtension: async updateExtension(popup), removeExtensionForContextAction: async removeExtensionForContextAction(popup), … } ​ ToolbarIconColor: Object { _windowState: {…}, init: init(), _initialized: true, … } ​ Touch: function () ​ TouchEvent: function () ​ TouchList: function () ​ TracingListener: function TracingListener(aBrowser, aParams) ​ TrackEvent: function () ​ TransformStream: function () ​ TransformStreamDefaultController: function () ​ TransitionEvent: function () ​ TransportErrorUrlListener: function TransportErrorUrlListener() ​ TreeColumn: function () ​ TreeColumns: function () ​ TreeContentView: function () ​ TreeWalker: function () ​ TypeError: function TypeError() ​ UIDensity: Object { MODE_COMPACT: 0, MODE_NORMAL: 1, MODE_TOUCH: 2, … } ​ UIEvent: function () ​ UIFontSize: Object { DEFAULT: 0, MIN_VALUE: 9, MAX_VALUE: 30, … } ​ URIError: function URIError() ​ URL: function () ​ URLSearchParams: function () ​ Uint16Array: function Uint16Array() ​ Uint32Array: function Uint32Array() ​ Uint8Array: function Uint8Array() ​ Uint8ClampedArray: function Uint8ClampedArray() ​ UniFFIPointer: function () ​ UniFFIScaffolding: UniFFIScaffolding { callAsync: callAsync(), callSync: callSync(), readPointer: readPointer(), … } ​ UpdateFullZoomMenu: function UpdateFullZoomMenu() ​ UserInteraction: UserInteraction { start: start(), update: update(), cancel: cancel(), … } ​ VTTCue: function () ​ VTTRegion: function () ​ ValidityState: function () ​ VideoPlaybackQuality: function () ​ ViewChange: function ViewChange(aValue) ​ ViewChangeByMenuitem: function ViewChangeByMenuitem(aMenuitem) ​ ViewPickerBinding: Object { isVisible: Getter, currentViewValue: Getter, currentViewLabel: Getter } ​ VisualViewport: function () ​ WaveShaperNode: function () ​ WeakMap: function WeakMap() ​ WeakRef: function WeakRef() ​ WeakSet: function WeakSet() ​ WebAssembly: WebAssembly { compile: compile(), instantiate: instantiate(), validate: validate(), … } ​ WebExtensionContentScript: function () ​ WebExtensionPolicy: function () ​ WebGL2RenderingContext: function () ​ WebGLActiveInfo: function () ​ WebGLBuffer: function () ​ WebGLContextEvent: function () ​ WebGLFramebuffer: function () ​ WebGLProgram: function () ​ WebGLQuery: function () ​ WebGLRenderbuffer: function () ​ WebGLRenderingContext: function () ​ WebGLSampler: function () ​ WebGLShader: function () ​ WebGLShaderPrecisionFormat: function () ​ WebGLSync: function () ​ WebGLTexture: function () ​ WebGLTransformFeedback: function () ​ WebGLUniformLocation: function () ​ WebGLVertexArrayObject: function () ​ WebKitCSSMatrix: function () ​ WebSocket: function () ​ WebTransport: function () ​ WebTransportBidirectionalStream: function () ​ WebTransportDatagramDuplexStream: function () ​ WebTransportError: function () ​ WebTransportReceiveStream: function () ​ WebTransportSendStream: function () ​ WebrtcGlobalInformation: WebrtcGlobalInformation { getAllStats: getAllStats(), getStatsHistoryPcIds: getStatsHistoryPcIds(), getStatsHistorySince: getStatsHistorySince(), … } ​ WheelEvent: function () ​ Window: function () ​ WindowContext: function () ​ WindowGlobalChild: function () ​ WindowGlobalParent: function () ​ WindowRoot: function () ​ Worker: function () ​ Worklet: function () ​ WritableStream: function () ​ WritableStreamDefaultController: function () ​ WritableStreamDefaultWriter: function () ​ XMLDocument: function () ​ XMLHttpRequest: function () ​ XMLHttpRequestEventTarget: function () ​ XMLHttpRequestUpload: function () ​ XMLSerializer: function () ​ XMLToJSONParser: function XMLToJSONParser(doc) ​ XPCNativeWrapper: function XPCNativeWrapper() ​ XPCOMUtils: Object { defineLazyGetter: defineLazyGetter(aObject, aName, aLambda), defineLazyScriptGetter: defineLazyScriptGetter(aObject, aNames, aResource), overrideScriptLoaderForTests: overrideScriptLoaderForTests(aObject), … } ​ XPathEvaluator: function () ​ XPathExpression: function () ​ XPathResult: function () ​ XSLTProcessor: function () ​ XULCommandEvent: function () ​ XULElement: function () ​ XULFrameElement: function () ​ XULMenuElement: function () ​ XULPopupElement: function () ​ XULResizerElement: function () ​ XULTextElement: function () ​ XULTreeElement: function () ​ ZoomManager: Object { MIN: Getter, MAX: Getter, useFullZoom: Getter & Setter, … } ​ _compositeCalendar: XPCWrappedNative_NoHelper { prefPrefix: Getter & Setter, setStatusObserver: setStatusObserver(), addObserver: addObserver(), … } ​ accountsTreeMutationObserver: Object { register: register() } ​ adaptScheduleAgent: function adaptScheduleAgent(aItem) ​ addAttachmentToPopup: function addAttachmentToPopup(aboutMessage, popup, attachment, attachmentIndex) ​ addCalendarNames: function addCalendarNames(aEvent) ​ addEmail: function addEmail(url) ​ addItemsFromCalendar: async function addItemsFromCalendar(aCalendar, aAddItemsInternalFunc) ​ addItemsFromCompositeCalendarInternal: function addItemsFromCompositeCalendarInternal(eventArray) ​ addItemsFromSingleCalendarInternal: function addItemsFromSingleCalendarInternal(eventArray) ​ addMenuItem: function addMenuItem(aParent, aLabel, aValue, aCommand) ​ addNewAddressBook: function addNewAddressBook(type) ​ addressBookTabType: Object { name: "addressBookTab", perTabPanel: "vbox", lastBrowserId: 0, … } ​ alert: function alert() ​ alternativeAddonSearchUrl: ​ appIdleManager: Object { _appIdle: true, _timerInterval: 5000, _timerCallback: _timerCallback(), … } ​ appendCalendarItems: function appendCalendarItems(aItem, aCalendarMenuParent, aCalendarToUse, aOnCommand) ​ appendFiltersForContentType: function appendFiltersForContentType(aFilePicker, aContentType, aFileExtension, aSaveMode) ​ applyPersistedProperties: function applyPersistedProperties(aDialog) ​ arguments: Array [ "" ] ​ atStartupRestoreTabs: async function atStartupRestoreTabs(aDontRestoreFirstTab) ​ atob: function atob() ​ attachFileByAccountKey: function attachFileByAccountKey(aAccountKey) ​ attachURL: function attachURL() ​ blur: function blur() ​ boxAppendBody: function boxAppendBody(box, textString, aIsTooltip) ​ boxAppendBodySeparator: function boxAppendBodySeparator(vbox) ​ boxAppendLabeledDateTime: function boxAppendLabeledDateTime(box, labelProperty, date) ​ boxAppendLabeledDateTimeInterval: function boxAppendLabeledDateTimeInterval(box, labelProperty, item) ​ boxAppendLabeledText: function boxAppendLabeledText(box, labelProperty, textString) ​ boxInitializeHeaderTable: function boxInitializeHeaderTable(box) ​ browserContextOnHiding: function browserContextOnHiding(event) ​ browserContextOnShowing: function browserContextOnShowing(event) ​ browserDOMWindow: XPCWrappedNative_NoHelper { OPEN_DEFAULTWINDOW: 0, OPEN_CURRENTWINDOW: 1, OPEN_NEWWINDOW: 2, … } ​ browsingContext: CanonicalBrowsingContext { currentWindowGlobal: WindowGlobalParent, topChromeWindow: ChromeWindow chrome://messenger/content/messenger.xhtml, currentRemoteType: null, … } ​ btoa: function btoa() ​ buddyListContextMenu: function buddyListContextMenu(aXulMenu) ​ buildHelpMenu: function buildHelpMenu() ​ caches: CacheStorage { } ​ cal: Object { createDateTime: createDateTime(value), createDuration: createDuration(value), createRecurrenceDate: createRecurrenceDate(value), … } ​ calFilter: function calFilter() ​ calFilterProperties: function calFilterProperties() ​ calSwitchToCalendarMode: function calSwitchToCalendarMode() ​ calSwitchToMode: function calSwitchToMode(mode) ​ calSwitchToTaskMode: function calSwitchToTaskMode() ​ calendarCalendarButtonDNDObserver: Object { maxItemsTransferred: 8, mimeHandlers: (6) […], wrappedJSObject: {…} } ​ calendarController: Object { commands: Set(60), updateCommands: updateCommands(), item_selected: false, … } ​ calendarController2: Object { commands: Set(16), updateCommands: updateCommands(), supportsCommand: supportsCommand(aCommand), … } ​ calendarDeactivator: Object { windows: Set(1), calendars: Set(11), isCalendarActivated: true, … } ​ calendarExtract: Object { onShowLocaleMenu: onShowLocaleMenu(target), extractWithLocale: extractWithLocale(event, isEvent), extractFromEmail: async extractFromEmail(message, isEvent, fixedLang, fixedLocale) } ​ calendarItemTabType: Object { name: "calendarItem", perTabPanel: "vbox", idNumber: 0, … } ​ calendarListSetupContextMenu: function calendarListSetupContextMenu(event) ​ calendarMailButtonDNDObserver: Object { maxItemsTransferred: 8, mimeHandlers: (6) […], wrappedJSObject: {…} } ​ calendarNavigationBar: Object { setDateRange: setDateRange(startDate, endDate) } ​ calendarOfflineManager: Object { QueryInterface: MozQueryInterface, init: init(), uninit: uninit(), … } ​ calendarOnToolbarsPopupShowing: function calendarOnToolbarsPopupShowing(aEvent, aInsertPoint) ​ calendarTabMonitor: Object { monitorName: "calendarTabMonitor", onTabTitleChanged: onTabTitleChanged(), onTabOpened: onTabOpened(), … } ​ calendarTabType: Object { name: "calendar", panelId: "calendarTabPanel", modes: {…}, … } ​ calendarTaskButtonDNDObserver: Object { maxItemsTransferred: 8, mimeHandlers: (6) […], wrappedJSObject: {…} } ​ calendarUpdateDeleteCommand: function calendarUpdateDeleteCommand(selectedItems) ​ calendarUpdateNewItemsCommand: function calendarUpdateNewItemsCommand() ​ calendarViewController: Object { QueryInterface: MozQueryInterface, createNewEvent: createNewEvent(calendar, startTime, endTime, forceAllday), viewOccurrence: viewOccurrence(occurrence), … } ​ calendarViewDNDObserver: Object { maxItemsTransferred: 8, mimeHandlers: (6) […], wrappedJSObject: {…} } ​ canEditSelectedItems: function canEditSelectedItems() ​ canPaste: function canPaste() ​ canQuitApplication: function canQuitApplication() ​ canRedo: function canRedo() ​ canUndo: function canUndo() ​ cancelAnimationFrame: function cancelAnimationFrame() ​ cancelIdleCallback: function cancelIdleCallback() ​ canonicalAddonServerUrl: ​ captureEvents: function captureEvents() ​ cardBookObserver: Object { DBOpen: true, catDBOpen: true, undoDBOpen: true, … } ​ cardBookObserverRepository: Object { registerAll: registerAll(aObserver), unregisterAll: unregisterAll(aObserver) } ​ cardBookWindowMutationObserver: Object { register: register() } ​ cardBookWindowObserver: Object { registered: true, register: register(), unregister: unregister(), … } ​ cardEditionNotification: Object { errorNotifications: Getter } ​ cardbookActions: Object { mainContext: "CardBook", cryptoCount: 0, cryptoDone: 0, … } ​ cardbookBirthdaysUtils: Object { lBirthdayList: [], lBirthdayAccountList: {}, lCalendarList: [], … } ​ cardbookCardParser: function cardbookCardParser(vCardData, vSiteUrl, vEtag, vDirPrefId) ​ cardbookCategoryParser: function cardbookCategoryParser(aCategoryName, aDirPrefId) ​ cardbookClipboard: Object { clipboardSetImage: clipboardSetImage(aBase64, aType), clipboardSetText: clipboardSetText(aText, aMessage), clipboardSetValueForFlavor: clipboardSetValueForFlavor(aFlavor, aText, aMessage), … } ​ cardbookElementTools: Object { deleteRowsAllTypes: deleteRowsAllTypes(), deleteRowsType: deleteRowsType(aType), deleteRows: deleteRows(aObjectName), … } ​ cardbookEncryptor: Object { VERSION: 2, encryptionPrefix: "chrome://cardbook/encryption", IV_PREFIX_SIZE: 8, … } ​ cardbookEnigmail: Object { crc_table: (256) […], createcrc24: createcrc24(input), str2Uint8Array: str2Uint8Array(str), … } ​ cardbookHTMLDirTree: Object { COL_NAME: 0, COL_ID: 1, COL_ENABLED: 2, … } ​ cardbookIDBCard: Object { cardbookDatabaseVersion: "7", cardbookDatabaseName: "CardBook", openCardDB: openCardDB(), … } ​ cardbookIDBCat: Object { cardbookCatDatabaseVersion: "3", cardbookCatDatabaseName: "CardBookCat", openCatDB: openCatDB(), … } ​ cardbookIDBDuplicate: Object { cardbookDuplicateDatabaseVersion: "9", cardbookDuplicateDatabaseName: "cardbookDuplicate", doUpgrade: false, … } ​ cardbookIDBImage: Object { cardbookImageDatabaseVersion: "1", cardbookImageDatabaseName: "CardBookImage", doUpgrade: false, … } ​ cardbookIDBMailPop: Object { cardbookMailPopDatabaseVersion: "1", cardbookMailPopDatabaseName: "CardBookMailPop", doUpgrade: false, … } ​ cardbookIDBPrefDispName: Object { cardbookPrefDispNameDatabaseVersion: "1", cardbookPrefDispNameDatabaseName: "CardBookPrefDispName", doUpgrade: false, … } ​ cardbookIDBSearch: Object { cardbookSearchDatabaseVersion: "1", cardbookSearchDatabaseName: "cardbookSearch", doUpgrade: false, … } ​ cardbookIDBUndo: Object { cardbookActionsDatabaseVersion: "6", cardbookActionsDatabaseName: "CardBookUndo", openUndoDB: openUndoDB(), … } ​ cardbookIndexedDB: Object { encryptionEnabled: Getter, removeAccount: removeAccount(aDirPrefId, aDirPrefName), migrateItems: async migrateItems(aDatabase, aStore, aMigrateItem, aShouldMigrateItem, aOnComplete), … } ​ cardbookLightning: Object { createLightningEvent: createLightningEvent(aContactList, aListener), createLightningTodo: createLightningTodo(aTitle, aDescription, aListener), modifyLightningEvent: modifyLightningEvent(calendarItem, calendar, mode, callback, initialDate, counterProposal), … } ​ cardbookListConversion: function cardbookListConversion(aEmails, aIdentity, aOnlyEmail) ​ cardbookNotifications: Object { setNotification: setNotification(aNotificationBox, aReasonCode, aValueArray, aPriority) } ​ cardbookRepository: Object { cardbookCatDatabase: {…}, cardbookDatabase: {…}, windowParams: "chrome,titlebar,resizable,all,dialog=no", … } ​ cardbookRichContext: Object { loadRichContext: loadRichContext(aEvent), fireBasicFieldContext: fireBasicFieldContext(aEvent), fireTypeContext: fireTypeContext(aEvent) } ​ cardbookSynchro: Object { lTimerSync: XPCWrappedNative_NoHelper, lEventTimerSync: {…}, runBackgroundSync: runBackgroundSync() } ​ cardbookTabMonitor: Object { monitorName: "cardbook", onTabTitleChanged: onTabTitleChanged(), onTabOpened: onTabOpened(aTab), … } ​ cardbookTabType: Object { name: "cardbook", panelId: "cardbookTabPanel", modes: {…}, … } ​ cardbookTreeUtils: Object { setColumnsStateForAccount: setColumnsStateForAccount(aDirPrefId), setColumnsState: setColumnsState(aColumnStatesArray), seColumnsSort: seColumnsSort(aColumnSortResource, aColumnSortDirection), … } ​ cardbookWebDAV: function cardbookWebDAV(connection, target, etag, asJSON) ​ cardbookWindowUtils: Object { getBroadcasterOnCardBook: getBroadcasterOnCardBook(), callFilePicker: callFilePicker(aTitle, aMode, aType, aDefaultFileName, aDefaultDir, aCallback, aCallbackParam), callDirPicker: callDirPicker(aTitle, aCallback, aCallbackParam), … } ​ cardboookModeMutationObserver: Object { register: register() } ​ cardsTreeMutationObserver: Object { register: register() } ​ changeContextMenuForTask: function changeContextMenuForTask(aEvent) ​ changeMenuForTask: function changeMenuForTask() ​ changeMode: function changeMode(mode) ​ chatHandler: Object { msgNotificationBar: Getter, _chatButtonUpdatePending: false, _notifiedUnreadCount: 0, … } ​ chatLogTreeGroupItem: function chatLogTreeGroupItem(aTitle, aLogItems) ​ chatLogTreeLogItem: function chatLogTreeLogItem(aLog, aText, aLevel) ​ chatLogTreeView: function chatLogTreeView(aTree, aLogs) ​ chatTabType: Object { name: "chat", panelId: "chatTabPanel", hasBeenOpened: false, … } ​ clearChatContextMenu: function clearChatContextMenu(popup) ​ clearInterval: function clearInterval() ​ clearTimeout: function clearTimeout() ​ clientInformation: Navigator { pdfViewerEnabled: true, doNotTrack: "unspecified", maxTouchPoints: 10, … } ​ clientPrincipal: XPCWrappedNative_NoHelper { } ​ close: function close() ​ closeWindowOrTab: function closeWindowOrTab(iframeId) ​ closed: false ​ commonUpdateReminder: function commonUpdateReminder(reminderList, calendarItem, lastAlarmSelection, calendar, reminderDetails, timezone, suppressDialogs) ​ composeEmailTo: function composeEmailTo(linkURL, identity) ​ compositeObserver: Object { QueryInterface: MozQueryInterface, onStartBatch: onStartBatch(), onEndBatch: onEndBatch(), … } ​ confirm: function confirm() ​ console: Console { assert: assert(), clear: clear(), count: count(), … } ​ content: Window about:addons ​ contentAreaClick: function contentAreaClick(aEvent) ​ contentProgress: Object { _listeners: Set(2), addListener: addListener(listener), removeListener: removeListener(listener), … } ​ contentTabBaseType: Object { inContentWhitelist: (5) […], inContentOverlays: (5) […], shouldSwitchTo: shouldSwitchTo(), … } ​ contextChangeTaskCalendar: function contextChangeTaskCalendar(aEvent) ​ contextChangeTaskPriority: function contextChangeTaskPriority(aPriority) ​ contextChangeTaskProgress: function contextChangeTaskProgress(aProgress) ​ contextPostponeTask: function contextPostponeTask(aDuration) ​ controllers: XPCWrappedNative_NoHelper { QueryInterface: QueryInterface(), getControllerForCommand: getControllerForCommand(), insertControllerAt: insertControllerAt(), … } ​ cookieBehavior: 0 ​ copyToClipboard: function copyToClipboard(aCalendarItemArray, aCutMode) ​ countOccurrences: function countOccurrences(aItem) ​ createEventWithDialog: function createEventWithDialog(calendar, startDate, endDate, summary, event, forceAllDay, attendees) ​ createImageBitmap: function createImageBitmap() ​ createReminderFromMenuitem: function createReminderFromMenuitem(aMenuitem, aCalendar) ​ createTodoWithDialog: function createTodoWithDialog(calendar, dueDate, summary, todo, initialDate) ​ createTooltipHeaderDescription: function createTooltipHeaderDescription(text) ​ createTooltipHeaderLabel: function createTooltipHeaderLabel(text) ​ crossOriginIsolated: false ​ crypto: Crypto { subtle: SubtleCrypto } ​ ctypes: ctypes { CType: CType(), CData: CData(), PointerType: PointerType(), … } ​ currentView: function currentView() ​ customElements: CustomElementRegistry { } ​ customizeMailToolbarForTabType: function customizeMailToolbarForTabType() ​ cutToClipboard: function cutToClipboard(aCalendarItemArray) ​ dataMigrator: function dataMigrator(aTitle, aMigrateFunction, aArguments) ​ decodeURI: function decodeURI() ​ decodeURIComponent: function decodeURIComponent() ​ delayedStartupPromise: Promise { : "fulfilled", : ChromeWindow chrome://messenger/content/messenger.xhtml } ​ deleteSelectedEvents: function deleteSelectedEvents() ​ deleteSelectedItems: function deleteSelectedItems() ​ deleteToDoCommand: function deleteToDoCommand(aDoNotConfirm) ​ desktopToDeviceScale: 1 ​ devicePixelRatio: 1 ​ dialogToolboxCustomizeDone: function dialogToolboxCustomizeDone(aToolboxChanged) ​ disableElementWithLock: function disableElementWithLock(elementId, lockId) ​ disableSaving: function disableSaving(disabled) ​ dispose: function dispose() ​ doMidnightUpdate: function doMidnightUpdate() ​ doTransaction: async function doTransaction(action, item, calendar, oldItem, observer, extResponse) ​ docShell: XPCWrappedNative_NoHelper { QueryInterface: QueryInterface(), name: , nameEquals: nameEquals(), … } ​ document: HTMLDocument chrome://messenger/content/messenger.xhtml ​ dump: function dump() ​ editAttendees: function editAttendees() ​ editConfigState: function editConfigState(aArg) ​ editPriority: function editPriority(aTarget) ​ editPrivacy: function editPrivacy(aTarget, aEvent) ​ editReminder: function editReminder(reminderList, calendarItem, lastAlarmSelection, calendar, timezone) ​ editSelectedEvents: function editSelectedEvents() ​ editShowTimeAs: function editShowTimeAs(aTarget) ​ editStatus: function editStatus(aTarget) ​ editToDoStatus: function editToDoStatus(aPercentComplete) ​ enableAcceptCommand: function enableAcceptCommand(aEnable) ​ enableElementWithLock: function enableElementWithLock(elementId, lockId) ​ enableInlineSpellCheck: function enableInlineSpellCheck(aEnableInlineSpellCheck) ​ encodeURI: function encodeURI() ​ encodeURIComponent: function encodeURIComponent() ​ endBatchTransaction: function endBatchTransaction() ​ ensureCalendarVisible: function ensureCalendarVisible(aCalendar) ​ ensureCustomElements: function ensureCustomElements(elementNames) ​ ensureUnifinderLoaded: function ensureUnifinderLoaded() ​ escape: function escape() ​ eval: function eval() ​ event: ​ exportEntireCalendar: function exportEntireCalendar(aCalendar) ​ external: External { } ​ extractService: ​ fetch: function fetch() ​ file_init: function file_init() ​ fillAttachmentListPopup: function fillAttachmentListPopup(event) ​ find: function find() ​ finishCalendarUnifinder: function finishCalendarUnifinder() ​ focus: function focus() ​ focusOnMail: function focusOnMail(tabNo, event) ​ focusSearch: function focusSearch() ​ formatUnifinderEventDateTime: function formatUnifinderEventDateTime(aDatetime) ​ frameElement: null ​ frames: ChromeWindow chrome://messenger/content/messenger.xhtml ​ fullScreen: false ​ gAnyValidIdentity: true ​ gBuddyListContextMenu: null ​ gCalBatchTransaction: null ​ gCalTransactionMgr: Object { undoStack: [], redoStack: [] } ​ gCalendarEventTreeClicked: false ​ gCalendarStatusFeedback: Object { mCalendarStep: 0, mCalendarCount: 0, mProgressMode: 0, … } ​ gChatBundle: XPCWrappedNative_NoHelper { QueryInterface: QueryInterface(), GetStringFromID: GetStringFromID(), GetStringFromName: GetStringFromName(), … } ​ gChatContextMenu: null ​ gChatSpellChecker: undefined ​ gChatTab: null ​ gConfig: Object { isEvent: null, privacy: null, hasPrivacy: null, … } ​ gContextMenu: undefined ​ gCurrentMode: "special" ​ gCustomizeSheet: false ​ gDataMigrator: Object { checkAndMigrate: checkAndMigrate(), checkIcal: checkIcal(), checkEvolution: checkEvolution(), … } ​ gDisallow_classes_no_html: 1 ​ gExtensionsNotifications: Object { initialized: true, init: init(), uninit: uninit(), … } ​ gInTab: false ​ gInvitationsCalendarManagerObserver: Object { mStoredThis: ChromeWindow chrome://messenger/content/messenger.xhtml, QueryInterface: MozQueryInterface, onCalendarRegistered: onCalendarRegistered(aCalendar), … } ​ gInvitationsManager: Object { mItemList: [], mStartDate: {…}, mTimer: 34, … } ​ gItemTabIds: Array [] ​ gItemTabIdsCopy: undefined ​ gLastShownCalendarView: Object { _lastView: "week", get: get(), set: set(view) } ​ gMailInit: Object { onBeforeInitialXULLayout: onBeforeInitialXULLayout(), onLoad: onLoad(), _cancelDelayedStartup: _cancelDelayedStartup(), … } ​ gMailViewList: null ​ gMainWindow: null ​ gNewAccountToLoad: null ​ gRangeOffset: undefined ​ gRangeParent: undefined ​ gRightMouseButtonSavedSelection: null ​ gShowBiDi: false ​ gShowFeedSummary: undefined ​ gSpacesToolbar: Object { docURL: "chrome://messenger/content/messenger.xhtml", isLoaded: true, isHidden: false, … } ​ gSpellChecker: Object { mEditor: undefined, mInlineSpellChecker: null, mOverMisspelling: false, … } ​ gStatusBar: null ​ gSummaryFrameManager: undefined ​ gTabmail: ​ gUnifinderNeedsRefresh: true ​ gViewSourceUtils: ​ gatherTextUnder: function gatherTextUnder(root) ​ getAttention: function getAttention() ​ getAttentionWithCycleCount: function getAttentionWithCycleCount() ​ getBrowser: function getBrowser() ​ getBrowserSelection: function getBrowserSelection(aCharLen) ​ getBrowserURL: function getBrowserURL() ​ getCharsetforSave: function getCharsetforSave(aDocument) ​ getComputedStyle: function getComputedStyle() ​ getCurrentNextOrPreviousRecurrence: function getCurrentNextOrPreviousRecurrence(calendarEvent) ​ getCurrentUnifinderFilter: function getCurrentUnifinderFilter() ​ getDefaultAlarmType: function getDefaultAlarmType(calendar) ​ getDefaultComputedStyle: function getDefaultComputedStyle() ​ getDefaultFileName: function getDefaultFileName(aDefaultFileName, aURI, aDocument, aContentDisposition) ​ getEmail: function getEmail(url) ​ getEnabledControllerForCommand: function getEnabledControllerForCommand(command) ​ getEventStatusString: function getEventStatusString(aEvent) ​ getFileBaseName: function getFileBaseName(aFileName) ​ getGroupMessageManager: function getGroupMessageManager() ​ getIconForAttachment: function getIconForAttachment(attachment) ​ getInterface: function getInterface() ​ getInvalidAccounts: function getInvalidAccounts(accounts) ​ getInvitationsManager: function getInvitationsManager() ​ getItemsFromIcsFile: function getItemsFromIcsFile(file) ​ getLocale: function getLocale() ​ getMIMEInfoForType: function getMIMEInfoForType(aMIMEType, aExtension) ​ getMIMEService: function getMIMEService() ​ getMIMETypeForURI: function getMIMETypeForURI(aURI) ​ getMinimonth: function getMinimonth() ​ getMostRecentMailWindow: function getMostRecentMailWindow() ​ getMsgToolbarMenu_init: function getMsgToolbarMenu_init() ​ getNotificationFromElement: function getNotificationFromElement(aElement) ​ getOptimalMinimumHeight: function getOptimalMinimumHeight(aXULElement) ​ getOptimalMinimumWidth: function getOptimalMinimumWidth(aXULElement) ​ getPostData: function getPostData(aDocument) ​ getPreviewForEvent: function getPreviewForEvent(aEvent, aIsTooltip) ​ getPreviewForItem: function getPreviewForItem(aItem, aIsTooltip) ​ getPreviewForTask: function getPreviewForTask(toDoItem, aIsTooltip) ​ getRegionalPrefsLocales: function getRegionalPrefsLocales() ​ getSelectedCalendar: function getSelectedCalendar() ​ getSelectedItems: function getSelectedItems() ​ getSelectedPanel: function getSelectedPanel() ​ getSelectedTasks: function getSelectedTasks() ​ getSelection: function getSelection() ​ getSummarizedStyleValues: function getSummarizedStyleValues(aXULElement, aStyleProps) ​ getTaskTree: function getTaskTree() ​ getTimezoneCommandState: function getTimezoneCommandState() ​ getToDoStatusString: function getToDoStatusString(aToDo) ​ getToolboxIdForCurrentTabType: function getToolboxIdForCurrentTabType() ​ getViewBox: function getViewBox() ​ getWebExposedLocales: function getWebExposedLocales() ​ getWindowStateForSessionPersistence: function getWindowStateForSessionPersistence() ​ getWindowsVersionInfo: function getWindowsVersionInfo() ​ getWorkspaceID: function getWorkspaceID() ​ globalThis: ChromeWindow chrome://messenger/content/messenger.xhtml ​ glodaFacetTabType: Object { name: "glodaFacet", perTabPanel: "vbox", lastTabId: 0, … } ​ goCopyImage: function goCopyImage() ​ goDoCommand: function goDoCommand(command, args) ​ goQuitApplication: function goQuitApplication() ​ goSetAccessKey: function goSetAccessKey(aCommand, aAccessKeyAttribute) ​ goSetCommandEnabled: function goSetCommandEnabled(id, enabled) ​ goSetMenuValue: function goSetMenuValue(aCommand, aLabelAttribute) ​ goToDate: function goToDate(date) ​ goToggleToolbar: function goToggleToolbar(id, elementID) ​ goUpdateCommand: function goUpdateCommand(command) ​ goUpdateFindTypeMenuItems: function goUpdateFindTypeMenuItems() ​ goUpdateGlobalEditMenuItems: function goUpdateGlobalEditMenuItems() ​ goUpdateMailMenuItems: function goUpdateMailMenuItems(commandset) ​ goUpdatePasteMenuItems: function goUpdatePasteMenuItems() ​ goUpdateSelectEditMenuItems: function goUpdateSelectEditMenuItems() ​ goUpdateUndoEditMenuItems: function goUpdateUndoEditMenuItems() ​ hRefForClickEvent: function hRefForClickEvent(aEvent, aDontCheckInputElement) ​ handleTaskContextMenuStateChange: function handleTaskContextMenuStateChange(aEvent) ​ handleWindowClose: function handleWindowClose(aResponse) ​ hideConversationsBoxPanels: function hideConversationsBoxPanels() ​ history: History { length: 1, scrollRestoration: "auto", state: null } ​ httpRequestObserver: function httpRequestObserver(aBrowser, aParams) ​ imContextMenu: function imContextMenu(aXulMenu) ​ indexedDB: IDBFactory { } ​ initAddonPrefsMenu: async function initAddonPrefsMenu(parent, elementName, classes, iconClasses) ​ initAppMenuPopup: function initAppMenuPopup() ​ initFileInfo: function initFileInfo(aFI, aURL, aURLCharset, aDocument, aContentType, aContentDisposition) ​ initHomeCalendar: function initHomeCalendar() ​ initMoveToFolderAgainMenu: function initMoveToFolderAgainMenu(aMenuItem) ​ initSearchMessagesMenu: function initSearchMessagesMenu() ​ initUiDensityAppMenu: function initUiDensityAppMenu() ​ initUiDensityMenu: function initUiDensityMenu(event) ​ initViewCalendarPaneMenu: function initViewCalendarPaneMenu() ​ initializeItemMenu: function initializeItemMenu(aLabel, aAccessKey) ​ injectCalendarCommandController: function injectCalendarCommandController() ​ innerHeight: 1034 ​ innerWidth: 1548 ​ internalPersist: function internalPersist(persistArgs) ​ internalSave: function internalSave(aURL, aOriginalURL, aDocument, aDefaultFileName, aContentDisposition, aContentType, aShouldBypassCache, aFilePickerTitleKey, aChosenData, aReferrerInfo, aCookieJarSettings, aInitiatingDocument, aSkipPrompt, aCacheKey, aIsContentWindowPrivate, aPrincipal) ​ intializeTabOrWindowVariables: function intializeTabOrWindowVariables() ​ intlUtils: IntlUtils { } ​ invokeEventDragSession: function invokeEventDragSession(aItem, aXULBox) ​ isChromeWindow: true ​ isFinite: function isFinite() ​ isFolderPaneInitialized: function isFolderPaneInitialized() ​ isFullyOccluded: false ​ isLinkToAnchorOnPage: function isLinkToAnchorOnPage(aTargetNode) ​ isNaN: function isNaN() ​ isSecureContext: true ​ isUnifinderHidden: function isUnifinderHidden() ​ itemConversion: Object { calendarItemFromMessage: async calendarItemFromMessage(item, message), copyItemBase: copyItemBase(aItem, aTarget), taskFromEvent: taskFromEvent(aEvent), … } ​ jsmime: Object { mimeutils: {…}, MimeParser: MimeParser(emitter, options), headerparser: {…}, … } ​ kMailCheckOncePrefName: "mail.startup.enabledMailCheckOnce" ​ kSaveAsType_Complete: 0 ​ kSaveAsType_Text: 2 ​ kViewCurrent: "current-view" ​ kViewCurrentTag: "current-view-tag" ​ kViewItemAll: 0 ​ kViewItemCustomize: 8 ​ kViewItemFirstCustom: 9 ​ kViewItemNotDeleted: 3 ​ kViewItemTags: 2 ​ kViewItemUnread: 1 ​ kViewItemVirtual: 7 ​ kViewTagMarker: ":" ​ l10n: Localization { } ​ launchBrowser: function launchBrowser(url, event) ​ length: 4 ​ loadCalendarComponent: async function loadCalendarComponent() ​ loadCalendarManager: async function loadCalendarManager() ​ loadCloudProviders: function loadCloudProviders(aItemObjects) ​ loadEventsFromFile: async function loadEventsFromFile(fileArg) ​ loadExtraTabs: function loadExtraTabs() ​ loadInboxForNewAccount: function loadInboxForNewAccount() ​ loadPostAccountWizard: async function loadPostAccountWizard() ​ loadReminders: function loadReminders(reminders, reminderList, calendar) ​ loadStartFolder: async function loadStartFolder(initialUri) ​ loadStartMsgHdr: async function loadStartMsgHdr(aStartMsgHdr) ​ loader: XPCWrappedNative_NoHelper { loadSubScript: loadSubScript(), loadSubScriptWithOptions: loadSubScriptWithOptions(), QueryInterface: QueryInterface() } ​ localStorage: ​ location: Location chrome://messenger/content/messenger.xhtml ​ locationbar: BarProp { visible: true } ​ mailTabType: Object { name: "mailTab", perTabPanel: "vbox", _cloneTemplate: _cloneTemplate(template, tab, onDOMContentLoaded, onLoad), … } ​ makeFilePicker: function makeFilePicker() ​ makeFileURI: function makeFileURI(aFile) ​ makeURI: function makeURI(aURL, aOriginCharset, aBaseURI) ​ makeWebBrowserPersist: function makeWebBrowserPersist() ​ matchCustomReminderToMenuitem: function matchCustomReminderToMenuitem(reminder, reminderList, calendar) ​ matchMedia: function matchMedia() ​ maximize: function maximize() ​ menu_new_init: function menu_new_init() ​ menubar: BarProp { visible: true } ​ messageFlavorDataProvider: function messageFlavorDataProvider() ​ messageManager: ChromeMessageBroadcaster { childCount: 6 } ​ messenger: XPCWrappedNative_NoHelper { setWindow: setWindow(), canUndo: canUndo(), getUndoTransactionType: getUndoTransactionType(), … } ​ migrateCalendarUI: function migrateCalendarUI() ​ migrateGlobalQuotingPrefs: function migrateGlobalQuotingPrefs(allIdentities) ​ minimize: function minimize() ​ minimonthPick: function minimonthPick(aNewDate) ​ modifyEventWithDialog: function modifyEventWithDialog(aItem, job, aPromptOccurrence, initialDate, aCounterProposal) ​ modifyTaskFromContext: function modifyTaskFromContext(initialDate) ​ moveBy: function moveBy() ​ moveEventToolbox: function moveEventToolbox(aDestination) ​ moveTo: function moveTo() ​ moveToWorkspace: function moveToWorkspace() ​ mozInnerScreenX: 17 ​ mozInnerScreenY: 0 ​ mozScrollSnap: function mozScrollSnap() ​ msgDBCacheManager: Object { _initialized: true, _msgDBCacheTimer: null, _msgDBCacheTimerIntervalMS: 60000, … } ​ msgWindow: XPCWrappedNative_NoHelper { domWindow: Getter & Setter, statusFeedback: Getter & Setter, rootDocShell: Getter & Setter, … } ​ name: "" ​ navigator: Navigator { pdfViewerEnabled: true, doNotTrack: "unspecified", maxTouchPoints: 10, … } ​ netscape: Object { … } ​ notificationCallbacks: Object { getInterface: getInterface(iid, instance) } ​ notifyDefaultButtonLoaded: function notifyDefaultButtonLoaded() ​ notifyTools: Object { registeredCallbacks: {}, registeredCallbacksNextId: 1, addOnId: "cardbook@vigneau.philippe", … } ​ nsBrowserAccess: function nsBrowserAccess() ​ nsFlavorDataProvider: function nsFlavorDataProvider() ​ nsMsgStatusFeedback: function nsMsgStatusFeedback() ​ observeViewDaySelect: function observeViewDaySelect(event) ​ onCancel: function onCancel(aIframeId) ​ onCommandCustomize: function onCommandCustomize() ​ onCommandDeleteItem: function onCommandDeleteItem() ​ onCommandSave: function onCommandSave(aIsClosing) ​ onCommandViewToolbar: function onCommandViewToolbar(aToolbarId, aMenuItemId) ​ onCopyOrDragStart: function onCopyOrDragStart(e) ​ onLoadCalendarItemPanel: function x() ​ onMouseOverItem: function onMouseOverItem(occurrenceBoxMouseEvent) ​ onUnloadCalendarItemPanel: function onUnloadCalendarItemPanel() ​ onViewToolbarsPopupShowing: function onViewToolbarsPopupShowing(event, toolboxIds, insertPoint, elementName, classes, keepOpen) ​ onabort: null ​ onafterprint: null ​ onanimationcancel: null ​ onanimationend: null ​ onanimationiteration: null ​ onanimationstart: null ​ onauxclick: null ​ onbeforeinput: null ​ onbeforeprint: null ​ onbeforeunload: null ​ onblur: null ​ oncanplay: null ​ oncanplaythrough: null ​ onchange: null ​ onclick: null ​ onclose: null ​ oncontextmenu: null ​ oncopy: null ​ oncuechange: null ​ oncut: null ​ ondblclick: null ​ ondevicemotion: null ​ ondeviceorientation: null ​ ondeviceorientationabsolute: null ​ ondrag: null ​ ondragend: null ​ ondragenter: null ​ ondragexit: null ​ ondragleave: null ​ ondragover: null ​ ondragstart: null ​ ondrop: null ​ ondurationchange: null ​ onemptied: null ​ onended: null ​ onerror: null ​ onfocus: null ​ onformdata: null ​ ongamepadconnected: null ​ ongamepaddisconnected: null ​ ongotpointercapture: null ​ onhashchange: null ​ oninput: null ​ oninvalid: null ​ onkeydown: null ​ onkeypress: null ​ onkeyup: null ​ onlanguagechange: null ​ onload: BoundFunctionObject { … } ​ onloadeddata: null ​ onloadedmetadata: null ​ onloadstart: null ​ onlostpointercapture: null ​ onmessage: null ​ onmessageerror: null ​ onmousedown: null ​ onmouseenter: ​ onmouseleave: ​ onmousemove: null ​ onmouseout: null ​ onmouseover: null ​ onmouseup: null ​ onmozfullscreenchange: ​ onmozfullscreenerror: ​ onoffline: null ​ ononline: null ​ onpagehide: null ​ onpageshow: null ​ onpaste: null ​ onpause: null ​ onplay: null ​ onplaying: null ​ onpointercancel: null ​ onpointerdown: null ​ onpointerenter: null ​ onpointerleave: null ​ onpointermove: null ​ onpointerout: null ​ onpointerover: null ​ onpointerup: null ​ onpopstate: null ​ onprogress: null ​ onratechange: null ​ onrejectionhandled: null ​ onreset: null ​ onresize: null ​ onscroll: null ​ onscrollend: null ​ onsecuritypolicyviolation: null ​ onseeked: null ​ onseeking: null ​ onselect: null ​ onselectionchange: null ​ onselectstart: null ​ onslotchange: null ​ onstalled: null ​ onstorage: null ​ onsubmit: null ​ onsuspend: null ​ ontimeupdate: null ​ ontoggle: null ​ ontouchcancel: null ​ ontouchend: null ​ ontouchmove: null ​ ontouchstart: null ​ ontransitioncancel: null ​ ontransitionend: null ​ ontransitionrun: null ​ ontransitionstart: null ​ onunhandledrejection: null ​ onunload: BoundFunctionObject { … } ​ onvolumechange: null ​ onwaiting: null ​ onwebkitanimationend: null ​ onwebkitanimationiteration: null ​ onwebkitanimationstart: null ​ onwebkittransitionend: null ​ onwheel: null ​ open: function open() ​ openAboutDebugging: function openAboutDebugging(hash) ​ openAboutDialog: function openAboutDialog() ​ openAboutSupport: function openAboutSupport() ​ openAccountHub: async function openAccountHub(type) ​ openAccountProvisionerTab: function openAccountProvisionerTab() ​ openAccountSetupTab: function openAccountSetupTab() ​ openAccountSetupTabWithAccount: function openAccountSetupTabWithAccount(account, name, email) ​ openActivityMgr: function openActivityMgr() ​ openAddonsMgr: function openAddonsMgr(aView) ​ openAttachmentFromItemSummary: function openAttachmentFromItemSummary(aAttachmentId, item) ​ openCalendarListItemContext: function openCalendarListItemContext(event) ​ openChatContextMenu: function openChatContextMenu(popup) ​ openComposeWindowForRSSArticle: function openComposeWindowForRSSArticle(aMsgComposeWindow, aMsgHdr, aMessageUri, aType, aFormat, aIdentity, aMsgWindow) ​ openContentTab: function openContentTab(url, where, linkHandler) ​ openContextMenu: function openContextMenu(browser, actor) ​ openDialog: function openDialog() ​ openDictionaryList: function openDictionaryList(where) ​ openEventDialog: function openEventDialog(calendarItem, calendar, mode, callback, initialDate, counterProposal) ​ openEventDialogForViewing: function openEventDialogForViewing(item) ​ openFolderQuota: function openFolderQuota() ​ openFormattedURL: function openFormattedURL(aPrefName) ​ openGlodaSearchTab: function openGlodaSearchTab() ​ openIMAccountMgr: function openIMAccountMgr() ​ openIMAccountWizard: function openIMAccountWizard() ​ openInvitationsDialog: function openInvitationsDialog() ​ openKeyManager: function openKeyManager() ​ openLinkExternally: function openLinkExternally(url) ​ openLinkIn: function openLinkIn(url, where, openParams) ​ openLinkText: function openLinkText(event, what) ​ openLocalCalendar: function openLocalCalendar() ​ openNewABDialog: function openNewABDialog(type) ​ openNewCardDialog: function openNewCardDialog() ​ openNewEvent: function openNewEvent() ​ openNewMessage: function openNewMessage() ​ openNewTask: function openNewTask() ​ openNewsgroupAccountWizard: function openNewsgroupAccountWizard() ​ openOptionsDialog: function openOptionsDialog(aPaneID, aScrollPaneTo, aOtherArgs) ​ openPreferencesTab: function openPreferencesTab(paneID, scrollPaneTo, otherArgs) ​ openPrivacyPolicy: function openPrivacyPolicy(where) ​ openSavedFilesWnd: function openSavedFilesWnd() ​ openSubscriptionsDialog: function openSubscriptionsDialog(aFolder) ​ openSupportURL: function openSupportURL() ​ openTab: function openTab(tabType, tabParams, where) ​ openTrustedLinkIn: function openTrustedLinkIn(url, where, params) ​ openUILink: function openUILink(url, event) ​ openUILinkIn: function openUILinkIn(url, where, aAllowThirdPartyFixup, aPostData, aReferrerInfo) ​ openURL: function openURL(aURL) ​ openWebLinkIn: function openWebLinkIn(url, where, params) ​ openWebSearch: function openWebSearch(query, engine) ​ opener: null ​ origin: "null" ​ outerHeight: 1040 ​ outerWidth: 1560 ​ overlayOnLoad: function overlayOnLoad() ​ overlayRepositionDialog: function overlayRepositionDialog() ​ overlayRestoreDefaultSet: function overlayRestoreDefaultSet() ​ overlayUpdateToolbarMode: function overlayUpdateToolbarMode(aModeValue) ​ ovl_birthdays: Object { lTimerPopup: null, lPopupShowed: 0, lEventTimerPopup: {…}, … } ​ ovl_cardbook: Object { reloadCardBookQFB: reloadCardBookQFB(), overrideToolbarMenu: overrideToolbarMenu(), load: async load(), … } ​ ovl_cardbookFindEmails: Object { findEmailsFromEmail: findEmailsFromEmail(emailAddressNode), findAllEmailsFromContact: findAllEmailsFromContact(emailAddressNode), findEmails: findEmails(aListOfSelectedCard, aListOfSelectedEmails) } ​ ovl_cardbookFindEvents: Object { findEventsFromEmail: findEventsFromEmail(emailAddressNode), findAllEventsFromContact: findAllEventsFromContact(emailAddressNode), findEvents: async findEvents(aCard, aListOfSelectedEmails, aDisplayName) } ​ ovl_cardbookLayout: Object { origFunctions: {…}, changeResizePanes: changeResizePanes(aPref, aSplitter), resizePanes: resizePanes(), … } ​ ovl_filters: Object { _isLocalSearch: _isLocalSearch(aSearchScope), _addEmails: async _addEmails(aMsgHdrs, aActionValue, aField), _removeEmails: _removeEmails(aMsgHdrs, aActionValue, aField), … } ​ ownerGlobal: ChromeWindow chrome://messenger/content/messenger.xhtml ​ pageXOffset: 0 ​ pageYOffset: 0 ​ parent: ChromeWindow chrome://messenger/content/messenger.xhtml ​ parseFloat: function parseFloat() ​ parseInt: function parseInt() ​ pasteFromClipboard: function pasteFromClipboard() ​ performance: Performance { timeOrigin: 1699513602167.243, timing: PerformanceTiming, navigation: PerformanceNavigation, … } ​ personalbar: BarProp { visible: true } ​ pickFileToImport: function pickFileToImport() ​ postMessage: function postMessage() ​ postponeTask: function postponeTask(aDuration) ​ preferencesTabType: Object { name: "preferencesTab", perTabPanel: "vbox", lastBrowserId: 0, … } ​ prepareCalendarUnifinder: function prepareCalendarUnifinder() ​ print: function print() ​ printCalendar: async function printCalendar() ​ printPreview: function printPreview() ​ promiseDocumentFlushed: function promiseDocumentFlushed() ​ promiseTargetFile: function promiseTargetFile(aFpP, aSkipPrompt, aRelatedURI) ​ prompt: function prompt() ​ promptDeleteCalendar: function promptDeleteCalendar(aCalendar) ​ promptOccurrenceModification: function promptOccurrenceModification(aItem, aNeedsFuture, aAction) ​ provisionerCheckoutTabType: Object { openTab: openTab(aTab, aArgs), closeTab: closeTab(aTab), persistTab: persistTab(aTab), … } ​ publishCalendarData: function publishCalendarData() ​ publishCalendarDataDialogResponse: function publishCalendarDataDialogResponse(CalendarPublishObject, aProgressDialog) ​ publishEntireCalendar: function publishEntireCalendar(aCalendar) ​ publishEntireCalendarDialogResponse: async function publishEntireCalendarDialogResponse(CalendarPublishObject, aProgressDialog) ​ publishItemArray: function publishItemArray(aItemArray, aPath, aProgressDialog) ​ putItemsIntoCal: async function putItemsIntoCal(destCal, aItems, aListener) ​ queueMicrotask: function queueMicrotask() ​ realFrameElement: null ​ receiveMessage: function receiveMessage(aEvent) ​ recurrenceRule2String: function recurrenceRule2String(recurrenceInfo, startDate, endDate, allDay) ​ redo: function redo() ​ refreshEventTree: function refreshEventTree() ​ releaseEvents: function releaseEvents() ​ removeCalendarCommandController: function removeCalendarCommandController() ​ removeDisableAndCollapseOnReadonly: function removeDisableAndCollapseOnReadonly() ​ removeItemsFromCalendar: function removeItemsFromCalendar(aCalendar) ​ reportError: function reportError() ​ requestAnimationFrame: function requestAnimationFrame() ​ requestIdleCallback: function requestIdleCallback() ​ requireLocalFoldersAccount: function requireLocalFoldersAccount() ​ rescheduleInvitationsUpdate: function rescheduleInvitationsUpdate(firstDelay) ​ resizeBy: function resizeBy() ​ resizeTo: function resizeTo() ​ restore: function restore() ​ safeModeRestart: function safeModeRestart() ​ saveAsUrlListener: function saveAsUrlListener(aUri, aIdentity) ​ saveBrowser: function saveBrowser(aBrowser, aSkipPrompt, aBrowsingContext) ​ saveEventsToFile: function saveEventsToFile(calendarEventArray, aDefaultFileName) ​ saveReminder: function saveReminder(item, calendar, reminderList) ​ saveURL: function saveURL(aURL, aOriginalURL, aFileName, aFilePickerTitleKey, aShouldBypassCache, aSkipPrompt, aReferrerInfo, aCookieJarSettings, aSourceDocument, aIsContentWindowPrivate, aPrincipal) ​ scheduleInvitationsUpdate: function scheduleInvitationsUpdate(firstDelay) ​ screen: Screen { availWidth: 1920, availHeight: 1040, width: 1920, … } ​ screenEdgeSlopX: 0 ​ screenEdgeSlopY: 0 ​ screenLeft: 11 ​ screenTop: 0 ​ screenX: 11 ​ screenY: 0 ​ scroll: function scroll() ​ scrollBy: function scrollBy() ​ scrollByLines: function scrollByLines() ​ scrollByPages: function scrollByPages() ​ scrollMaxX: 0 ​ scrollMaxY: 0 ​ scrollMinX: 0 ​ scrollMinY: 0 ​ scrollTo: function scrollTo() ​ scrollX: 0 ​ scrollY: 0 ​ scrollbars: BarProp { visible: true } ​ selectAllEvents: async function selectAllEvents() ​ selectFirstFolder: async function selectFirstFolder() ​ self: ChromeWindow chrome://messenger/content/messenger.xhtml ​ sendMailToOrganizer: function sendMailToOrganizer(item) ​ sendMessage: function sendMessage(aMessage, aIframeId) ​ sessionStorage: ​ setAttributeOnChildrenOrTheirCommands: function setAttributeOnChildrenOrTheirCommands(aAttribute, aValue, aElement) ​ setContextPartstat: function setContextPartstat(aTarget, aItems) ​ setCursor: function setCursor() ​ setDefaultItemValues: function setDefaultItemValues(aItem, aCalendar, aStartDate, aEndDate, aInitialDate, aForceAllday, aAttendees) ​ setDialogId: function setDialogId(aDialog, aNewId) ​ setInterval: function setInterval() ​ setLocaleDefaultPreferences: function setLocaleDefaultPreferences() ​ setResizable: function setResizable() ​ setScrollMarks: function setScrollMarks() ​ setTimeout: function setTimeout() ​ setUpInvitationsManager: function setUpInvitationsManager() ​ setupAttendanceMenu: function setupAttendanceMenu(aMenu, aItems) ​ setupContextItemType: function setupContextItemType(aEvent, aItems) ​ setupDataTransfer: function setupDataTransfer(event, attachments) ​ setupDeleteMenuitem: function setupDeleteMenuitem(aDeleteId, aCalendar) ​ shouldReportForServiceWorkerScope: function shouldReportForServiceWorkerScope() ​ showAllCalendars: function showAllCalendars() ​ showCalControlBarMenuPopup: function showCalControlBarMenuPopup(event) ​ showCalendarWeekPreferences: function showCalendarWeekPreferences() ​ showCalendarWizard: function showCalendarWizard() ​ showChatTab: function showChatTab() ​ showCommandInSpecialFolder: function showCommandInSpecialFolder(aCommandIds, aFolderFlag) ​ showMailIntegrationDialog: function showMailIntegrationDialog() ​ showOnlyCalendar: function showOnlyCalendar(aCalendar) ​ showParticipantMenu: function showParticipantMenu(menu) ​ showSystemIntegrationDialog: function showSystemIntegrationDialog() ​ showToolTip: function showToolTip(aToolTip, aItem) ​ sizeToContent: function sizeToContent() ​ sizeToContentConstrained: function sizeToContentConstrained() ​ sortCalendarArray: function sortCalendarArray(calendars) ​ specialTabs: Object { _kAboutRightsVersion: 1, _protocolSvc: Getter, msgNotificationBar: Getter, … } ​ startBatchTransaction: function startBatchTransaction() ​ status: "" ​ statusFeedback: XPCWrappedNative_NoHelper { setWrappedStatusFeedback: setWrappedStatusFeedback(), startMeteors: startMeteors(), showProgress: showProgress(), … } ​ statusSelector: Object { observe: observe(aSubject, aTopic, aMsg), displayUserIcon: displayUserIcon(), displayUserDisplayName: displayUserDisplayName(), … } ​ statusbar: BarProp { visible: true } ​ stop: function stop() ​ structuredClone: function structuredClone() ​ summarizeMultipleSelection: function summarizeMultipleSelection(aSelectedMessages, aMessageDisplay) ​ summarizeSelection: function summarizeSelection(aMessageDisplay) ​ summarizeThread: function summarizeThread(aSelectedMessages, aMessageDisplay) ​ switchCalendarView: function switchCalendarView(aType, aShow) ​ switchToMailTab: function switchToMailTab() ​ switchToTabHavingURI: function switchToTabHavingURI(aURI, aOpenNew, aOpenParams) ​ switchToView: function switchToView(viewType) ​ tabProgressListener: function tabProgressListener(aTab, aStartsBlank) ​ taskDetailsView: Object { onSelect: onSelect(event), loadCategories: loadCategories(), saveCategories: saveCategories(event), … } ​ taskEdit: Object { setupTaskField: setupTaskField(aTarget, aDisable, aValue), onFocus: onFocus(aEvent), onBlur: onBlur(aEvent), … } ​ taskViewCopyLink: function taskViewCopyLink(linkNode) ​ taskViewOnLoad: function taskViewOnLoad() ​ taskViewUpdate: function taskViewUpdate(filter) ​ tasksToEvents: function tasksToEvents() ​ tasksToMail: function tasksToMail() ​ tearDownInvitationsManager: function tearDownInvitationsManager() ​ timezoneObserver: Object { observe: observe() } ​ toAddressBook: async function toAddressBook(openArgs) ​ toCalendar: async function toCalendar() ​ toExport: function toExport() ​ toImport: function toImport(tabId) ​ toJavaScriptConsole: function toJavaScriptConsole() ​ toMessengerWindow: function toMessengerWindow() ​ toOpenWindowByType: function toOpenWindowByType(inType, uri) ​ toSanitize: function toSanitize() ​ toggleCalendarVisible: function toggleCalendarVisible(aCalendar) ​ toggleCaretBrowsing: function toggleCaretBrowsing() ​ toggleCompleted: function toggleCompleted(aEvent) ​ toggleOrientation: function toggleOrientation() ​ togglePaneSplitter: function togglePaneSplitter(splitterId) ​ toggleShowCompletedInView: function toggleShowCompletedInView() ​ toggleTasksInView: function toggleTasksInView() ​ toggleTimezoneLinks: function toggleTimezoneLinks() ​ toggleUnifinder: function toggleUnifinder() ​ toggleVisibilityCalendarsList: function toggleVisibilityCalendarsList(event) ​ toggleWorkdaysOnly: function toggleWorkdaysOnly() ​ toolbar: BarProp { visible: true } ​ top: ChromeWindow chrome://messenger/content/messenger.xhtml ​ undefined: undefined ​ undo: function undo() ​ unescape: function unescape() ​ uneval: function uneval() ​ unifinderDaySelect: function unifinderDaySelect() ​ unifinderDoubleClick: function unifinderDoubleClick(event) ​ unifinderItemSelect: function unifinderItemSelect(aEvent) ​ unifinderKeyPress: function unifinderKeyPress(aEvent) ​ unifinderObserver: Object { QueryInterface: MozQueryInterface, onStartBatch: onStartBatch(), onEndBatch: onEndBatch(), … } ​ unifinderSelect: function unifinderSelect(event) ​ unifinderTreeView: Object { ready: true, doingSelection: false, sortDirection: "descending", … } ​ uninstallLightningAddon: async function uninstallLightningAddon() ​ uniqueFile: function uniqueFile(aLocalFile) ​ unitPluralForm: function unitPluralForm(aLength, aUnit, aIncludeLength) ​ unloadCalendarComponent: function unloadCalendarComponent() ​ unloadCalendarManager: function unloadCalendarManager() ​ updateAttachment: function updateAttachment(aArg) ​ updateAttendeesCommand: function updateAttendeesCommand(aArg) ​ updateCalendarStatusIndicators: function updateCalendarStatusIndicators(item) ​ updateCheckedStateForIgnoreAndWatchThreadCmds: function updateCheckedStateForIgnoreAndWatchThreadCmds() ​ updateCommands: function updateCommands() ​ updateItemTabState: function updateItemTabState(aArg) ​ updateLink: function updateLink(itemUrlString, linkRow, urlLink) ​ updateMailPaneUI: function updateMailPaneUI() ​ updateMarkCompletedMenuItem: function updateMarkCompletedMenuItem(aArg) ​ updateMenuLabelsPlural: function updateMenuLabelsPlural(aLengthFieldId, aMenuId) ​ updatePriority: function updatePriority(aArg) ​ updatePrivacy: function updatePrivacy(aArg) ​ updateReminderDetails: function updateReminderDetails(reminderDetails, reminderList, calendar) ​ updateSaveControls: function updateSaveControls(aSendNotSave) ​ updateShowTimeAs: function updateShowTimeAs(aArg) ​ updateStatus: function updateStatus(aArg) ​ updateTimeIndicatorPosition: function updateTimeIndicatorPosition() ​ updateTimezoneCommand: function updateTimezoneCommand(aArg) ​ updateTitle: function updateTitle(prefix, title) ​ updateTodayPaneButton: function updateTodayPaneButton() ​ updateTodayPaneButtonDate: function updateTodayPaneButtonDate() ​ updateTroubleshootMenuItem: function updateTroubleshootMenuItem() ​ updateUndoRedoMenu: function updateUndoRedoMenu() ​ updateUnitLabelPlural: function updateUnitLabelPlural(aLengthFieldId, aLabelId, aUnit) ​ urlSecurityCheck: function urlSecurityCheck(aURL, aPrincipal, aFlags) ​ validateFileName: function validateFileName(aFileName) ​ verifyChatParticipant: function verifyChatParticipant() ​ verifyExistingAccounts: function verifyExistingAccounts() ​ verifyOpenAccountHubTab: function verifyOpenAccountHubTab() ​ viewEncryptedPart: function viewEncryptedPart(message) ​ viewEncryptedParts: function viewEncryptedParts(messages) ​ viewSelectedEvents: function viewSelectedEvents() ​ view_init: function view_init(event) ​ visualViewport: VisualViewport { offsetLeft: 0, offsetTop: 0, pageLeft: 0, … } ​ wdw_cardEdition: Object { contactNotLoaded: true, editionFields: [], currentAdrId: [], … } ​ wdw_cardbook: Object { nIntervId: 20, accountSelected: true, writeButtonFired: false, … } ​ wdw_imageEdition: Object { setMediaContentForCard: setMediaContentForCard(aDisplayDefault, aCard, aType, aExtension, aValue), clearImageCard: clearImageCard(), displayImageCard: async displayImageCard(aCard, aDisplayDefault), … } ​ wdw_templateEdition: Object { createTemplate: createTemplate(), loadTemplate: loadTemplate(), loadTemplateNext: loadTemplateNext(aFile), … } ​ webkitURL: function () ​ window: ChromeWindow chrome://messenger/content/messenger.xhtml ​ windowCloseListener: function windowCloseListener(aEvent) ​ windowGlobalChild: WindowGlobalChild { isClosed: false, isInProcess: true, isCurrentGlobal: true, … } ​ windowRoot: WindowRoot { ownerGlobal: ChromeWindow chrome://messenger/content/messenger.xhtml } ​ windowState: 3 ​ windowUtils: XPCWrappedNative_NoHelper { getBoundsWithoutFlushing: getBoundsWithoutFlushing(), QueryInterface: QueryInterface(), imageAnimationMode: , … } ​ : function AppMenuNotifications() ​ : function AppMenuNotifications() ​ : function get() ​ : function BrowserUtils() ​ : function BrowserUtils() ​ : function CalAddTransaction() ​ : function CalAddTransaction() ​ : function CalAlarm() ​ : function CalAlarm() ​ : function CalAttachment() ​ : function CalAttachment() ​ : function CalDeleteTransaction() ​ : function CalDeleteTransaction() ​ : function CalEvent() ​ : function CalEvent() ​ : function CalModifyTransaction() ​ : function CalModifyTransaction() ​ : function CalTodo() ​ : function CalTodo() ​ : function Color() ​ : function Color() ​ : function CustomizableUI() ​ : function CustomizableUI() ​ : function Deprecated() ​ : function Deprecated() ​ : function DownloadLastDir() ​ : function DownloadLastDir() ​ : function DownloadPaths() ​ : function DownloadPaths() ​ : function Downloads() ​ : function Downloads() ​ : function EnigmailMime() ​ : function EnigmailMime() ​ : function FolderUtils() ​ : function FolderUtils() ​ : function Glean() ​ : function GleanPings() ​ : function GlodaSyntheticView() ​ : function GlodaSyntheticView() ​ : function InstallTrigger() ​ : function InstallTrigger() ​ : function MailConsts() ​ : function MailConsts() ​ : function MimeParser() ​ : function MimeParser() ​ : function MsgHdrSyntheticView() ​ : function MsgHdrSyntheticView() ​ : function MsgHdrToMimeMessage() ​ : function MsgHdrToMimeMessage() ​ : function OTR() ​ : function OTR() ​ : function PanelMultiView() ​ : function PanelMultiView() ​ : function PhishingDetector() ​ : function PhishingDetector() ​ : function PhoneNumber() ​ : function PhoneNumber() ​ : function get() ​ : function set(value) ​ : function PrivateBrowsingUtils() ​ : function PrivateBrowsingUtils() ​ : function defineLazyPreferenceGetter() ​ : function browserDOMWindow() ​ : function browserDOMWindow() ​ : function browsingContext() ​ : function caches() ​ : function defineLazyPreferenceGetter() ​ : function clientInformation() ​ : function clientPrincipal() ​ : function closed() ​ : function content() ​ : function content() ​ : function controllers() ​ : function controllers() ​ : function crossOriginIsolated() ​ : function crypto() ​ : function customElements() ​ : function desktopToDeviceScale() ​ : function devicePixelRatio() ​ : function devicePixelRatio() ​ : function docShell() ​ : function document() ​ : function event() ​ : function event() ​ : function external() ​ : function external() ​ : function extractService() ​ : function frameElement() ​ : function frames() ​ : function frames() ​ : function fullScreen() ​ : function fullScreen() ​ : function gViewSourceUtils() ​ : function history() ​ : function indexedDB() ​ : function innerHeight() ​ : function innerHeight() ​ : function innerWidth() ​ : function innerWidth() ​ : function intlUtils() ​ : function isChromeWindow() ​ : function isFullyOccluded() ​ : function isSecureContext() ​ : function length() ​ : function length() ​ : function localStorage() ​ : function location() ​ : function location() ​ : function locationbar() ​ : function locationbar() ​ : function menubar() ​ : function menubar() ​ : function messageManager() ​ : function mozInnerScreenX() ​ : function mozInnerScreenY() ​ : function name() ​ : function name() ​ : function navigator() ​ : function onabort() ​ : function onabort() ​ : function onafterprint() ​ : function onafterprint() ​ : function onanimationcancel() ​ : function onanimationcancel() ​ : function onanimationend() ​ : function onanimationend() ​ : function onanimationiteration() ​ : function onanimationiteration() ​ : function onanimationstart() ​ : function onanimationstart() ​ : function onauxclick() ​ : function onauxclick() ​ : function onbeforeinput() ​ : function onbeforeinput() ​ : function onbeforeprint() ​ : function onbeforeprint() ​ : function onbeforeunload() ​ : function onbeforeunload() ​ : function onblur() ​ : function onblur() ​ : function oncanplay() ​ : function oncanplay() ​ : function oncanplaythrough() ​ : function oncanplaythrough() ​ : function onchange() ​ : function onchange() ​ : function onclick() ​ : function onclick() ​ : function onclose() ​ : function onclose() ​ : function oncontextmenu() ​ : function oncontextmenu() ​ : function oncopy() ​ : function oncopy() ​ : function oncuechange() ​ : function oncuechange() ​ : function oncut() ​ : function oncut() ​ : function ondblclick() ​ : function ondblclick() ​ : function ondevicemotion() ​ : function ondevicemotion() ​ : function ondeviceorientation() ​ : function ondeviceorientation() ​ : function ondeviceorientationabsolute() ​ : function ondeviceorientationabsolute() ​ : function ondrag() ​ : function ondrag() ​ : function ondragend() ​ : function ondragend() ​ : function ondragenter() ​ : function ondragenter() ​ : function ondragexit() ​ : function ondragexit() ​ : function ondragleave() ​ : function ondragleave() ​ : function ondragover() ​ : function ondragover() ​ : function ondragstart() ​ : function ondragstart() ​ : function ondrop() ​ : function ondrop() ​ : function ondurationchange() ​ : function ondurationchange() ​ : function onemptied() ​ : function onemptied() ​ : function onended() ​ : function onended() ​ : function onerror() ​ : function onerror() ​ : function onfocus() ​ : function onfocus() ​ : function onformdata() ​ : function onformdata() ​ : function ongamepadconnected() ​ : function ongamepadconnected() ​ : function ongamepaddisconnected() ​ : function ongamepaddisconnected() ​ : function ongotpointercapture() ​ : function ongotpointercapture() ​ : function onhashchange() ​ : function onhashchange() ​ : function oninput() ​ : function oninput() ​ : function oninvalid() ​ : function oninvalid() ​ : function onkeydown() ​ : function onkeydown() ​ : function onkeypress() ​ : function onkeypress() ​ : function onkeyup() ​ : function onkeyup() ​ : function onlanguagechange() ​ : function onlanguagechange() ​ : function onload() ​ : function onload() ​ : function onloadeddata() ​ : function onloadeddata() ​ : function onloadedmetadata() ​ : function onloadedmetadata() ​ : function onloadstart() ​ : function onloadstart() ​ : function onlostpointercapture() ​ : function onlostpointercapture() ​ : function onmessage() ​ : function onmessage() ​ : function onmessageerror() ​ : function onmessageerror() ​ : function onmousedown() ​ : function onmousedown() ​ : function onmouseenter() ​ : function onmouseenter() ​ : function onmouseleave() ​ : function onmouseleave() ​ : function onmousemove() ​ : function onmousemove() ​ : function onmouseout() ​ : function onmouseout() ​ : function onmouseover() ​ : function onmouseover() ​ : function onmouseup() ​ : function onmouseup() ​ : function onmozfullscreenchange() ​ : function onmozfullscreenchange() ​ : function onmozfullscreenerror() ​ : function onmozfullscreenerror() ​ : function onoffline() ​ : function onoffline() ​ : function ononline() ​ : function ononline() ​ : function onpagehide() ​ : function onpagehide() ​ : function onpageshow() ​ : function onpageshow() ​ : function onpaste() ​ : function onpaste() ​ : function onpause() ​ : function onpause() ​ : function onplay() ​ : function onplay() ​ : function onplaying() ​ : function onplaying() ​ : function onpointercancel() ​ : function onpointercancel() ​ : function onpointerdown() ​ : function onpointerdown() ​ : function onpointerenter() ​ : function onpointerenter() ​ : function onpointerleave() ​ : function onpointerleave() ​ : function onpointermove() ​ : function onpointermove() ​ : function onpointerout() ​ : function onpointerout() ​ : function onpointerover() ​ : function onpointerover() ​ : function onpointerup() ​ : function onpointerup() ​ : function onpopstate() ​ : function onpopstate() ​ : function onprogress() ​ : function onprogress() ​ : function onratechange() ​ : function onratechange() ​ : function onrejectionhandled() ​ : function onrejectionhandled() ​ : function onreset() ​ : function onreset() ​ : function onresize() ​ : function onresize() ​ : function onscroll() ​ : function onscroll() ​ : function onscrollend() ​ : function onscrollend() ​ : function onsecuritypolicyviolation() ​ : function onsecuritypolicyviolation() ​ : function onseeked() ​ : function onseeked() ​ : function onseeking() ​ : function onseeking() ​ : function onselect() ​ : function onselect() ​ : function onselectionchange() ​ : function onselectionchange() ​ : function onselectstart() ​ : function onselectstart() ​ : function onslotchange() ​ : function onslotchange() ​ : function onstalled() ​ : function onstalled() ​ : function onstorage() ​ : function onstorage() ​ : function onsubmit() ​ : function onsubmit() ​ : function onsuspend() ​ : function onsuspend() ​ : function ontimeupdate() ​ : function ontimeupdate() ​ : function ontoggle() ​ : function ontoggle() ​ : function ontouchcancel() ​ : function ontouchcancel() ​ : function ontouchend() ​ : function ontouchend() ​ : function ontouchmove() ​ : function ontouchmove() ​ : function ontouchstart() ​ : function ontouchstart() ​ : function ontransitioncancel() ​ : function ontransitioncancel() ​ : function ontransitionend() ​ : function ontransitionend() ​ : function ontransitionrun() ​ : function ontransitionrun() ​ : function ontransitionstart() ​ : function ontransitionstart() ​ : function onunhandledrejection() ​ : function onunhandledrejection() ​ : function onunload() ​ : function onunload() ​ : function onvolumechange() ​ : function onvolumechange() ​ : function onwaiting() ​ : function onwaiting() ​ : function onwebkitanimationend() ​ : function onwebkitanimationend() ​ : function onwebkitanimationiteration() ​ : function onwebkitanimationiteration() ​ : function onwebkitanimationstart() ​ : function onwebkitanimationstart() ​ : function onwebkittransitionend() ​ : function onwebkittransitionend() ​ : function onwheel() ​ : function onwheel() ​ : function opener() ​ : function opener() ​ : function origin() ​ : function origin() ​ : function outerHeight() ​ : function outerHeight() ​ : function outerWidth() ​ : function outerWidth() ​ : function pageXOffset() ​ : function pageXOffset() ​ : function pageYOffset() ​ : function pageYOffset() ​ : function parent() ​ : function parent() ​ : function performance() ​ : function performance() ​ : function personalbar() ​ : function personalbar() ​ : function realFrameElement() ​ : function screen() ​ : function screen() ​ : function screenEdgeSlopX() ​ : function screenEdgeSlopY() ​ : function screenLeft() ​ : function screenLeft() ​ : function screenTop() ​ : function screenTop() ​ : function screenX() ​ : function screenX() ​ : function screenY() ​ : function screenY() ​ : function scrollMaxX() ​ : function scrollMaxX() ​ : function scrollMaxY() ​ : function scrollMaxY() ​ : function scrollMinX() ​ : function scrollMinY() ​ : function scrollX() ​ : function scrollX() ​ : function scrollY() ​ : function scrollY() ​ : function scrollbars() ​ : function scrollbars() ​ : function self() ​ : function self() ​ : function sessionStorage() ​ : function status() ​ : function status() ​ : function statusbar() ​ : function statusbar() ​ : function toolbar() ​ : function toolbar() ​ : function top() ​ : function visualViewport() ​ : function visualViewport() ​ : function window() ​ : function windowGlobalChild() ​ : function windowRoot() ​ : function windowState() ​ : function windowUtils() ​ : WindowPrototype { … } ```
/
ChromeWindow about:3pane
implementation.js:244

Uncaught TypeError: this.delayConnectedCallback is not a function
    connectedCallback chrome://global/content/elements/text.js:99
    createTooltip resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1177
    initStatusBar resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1194
    loadInto3pane resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1267
    Load resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1490
    initWindow jar:file:///C:/Users/blegendre/AppData/Roaming/Thunderbird/Profiles/axb93fh9.DEfault_BEN/extensions/expressionsearch@opto.one.xpi!/api/ExpressionSearch/implementation.js:246
    result resource://gre/modules/ExtensionParent.sys.mjs:1144
    withCallContextData resource://gre/modules/ExtensionParent.sys.mjs:627
    result resource://gre/modules/ExtensionParent.sys.mjs:1143
    withPendingBrowser resource://gre/modules/ExtensionParent.sys.mjs:637
    result resource://gre/modules/ExtensionParent.sys.mjs:1142
    callAndLog resource://gre/modules/ExtensionParent.sys.mjs:1095
    recvAPICall resource://gre/modules/ExtensionParent.sys.mjs:1141
    _recv resource://gre/modules/ConduitsChild.sys.mjs:77
    receiveMessage resource://gre/modules/ConduitsParent.sys.mjs:453
text.js:99:16
    connectedCallback chrome://global/content/elements/text.js:99
    createTooltip resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1177
    initStatusBar resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1194
    loadInto3pane resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1267
    Load resource://expressionsearch/modules/ExpressionSearchChrome.jsm:1490
    initWindow jar:file:///C:/Users/blegendre/AppData/Roaming/Thunderbird/Profiles/axb93fh9.DEfault_BEN/extensions/expressionsearch@opto.one.xpi!/api/ExpressionSearch/implementation.js:246
    result resource://gre/modules/ExtensionParent.sys.mjs:1144
    withCallContextData resource://gre/modules/ExtensionParent.sys.mjs:627
    result resource://gre/modules/ExtensionParent.sys.mjs:1143
    withPendingBrowser resource://gre/modules/ExtensionParent.sys.mjs:637
    result resource://gre/modules/ExtensionParent.sys.mjs:1142
    callAndLog resource://gre/modules/ExtensionParent.sys.mjs:1095
    recvAPICall resource://gre/modules/ExtensionParent.sys.mjs:1141
    AsyncFunctionNext self-hosted:852
    (Asynchrone : async)
    _recv resource://gre/modules/ConduitsChild.sys.mjs:77
    receiveMessage resource://gre/modules/ConduitsParent.sys.mjs:453

unreachable code after return statement ExpressionSearchFilter.jsm:135:6

on right click => open discussion:

WebExtensions: initTab ChromeWindow chrome://messenger/content/messenger.xhtml

ChromeWindow about:3pane
implementation.js:274
after cmd_openConversation() ExpressionSearchChrome.jsm:1301:17
after cmd_openConversation() ExpressionSearchChrome.jsm:1301:17
Bbillyben commented 1 year ago

Ok, I've done nothing except working (no restart, no reboot, just firefox has updated if relevant), and seems working like a charm! Gratz opto!

THe only input in my logs :

cmd_openConversation() [ExpressionSearchChrome.jsm:1293:17](resource://expressionsearch/modules/ExpressionSearchChrome.jsm)
after cmd_openConversation() [ExpressionSearchChrome.jsm:1301:17](resource://expressionsearch/modules/ExpressionSearchChrome.jsm)
WebExtensions: initTab 
ChromeWindow chrome://messenger/content/messenger.xhtml

ChromeWindow about:3pane
[implementation.js:274](jar:file:///C:/Users/blegendre/AppData/Roaming/Thunderbird/Profiles/axb93fh9.DEfault_BEN/extensions/expressionsearch@opto.one.xpi!/api/ExpressionSearch/implementation.js)
cmd_openConversation() [ExpressionSearchChrome.jsm:1293:17](resource://expressionsearch/modules/ExpressionSearchChrome.jsm)
after cmd_openConversation() [ExpressionSearchChrome.jsm:1301:17](resource://expressionsearch/modules/ExpressionSearchChrome.jsm)
WebExtensions: initTab 
ChromeWindow chrome://messenger/content/messenger.xhtml

ChromeWindow about:3pane
[implementation.js:274](jar:file:///C:/Users/blegendre/AppData/Roaming/Thunderbird/Profiles/axb93fh9.DEfault_BEN/extensions/expressionsearch@opto.one.xpi!/api/ExpressionSearch/implementation.js)
opto commented 1 year ago

yes, the are info logs that am writing, will remove them for the final release

bstecklum commented 1 year ago

4.0.9 does not solve the issue for me, running TB 115.4.2 on Ubuntu 20.04. It works with one tab, but opening another folder in this tab shows a blank panel. Also, with the add-on activated, the quick filter does not show in a second tab.

opto commented 1 year ago

@bstecklum yes, this is a major bug/discrepancy/unfortunate decision by TB team, which has cost me already 2 full working days (!) to find workarounds. At the moment, one can open conversations and a new tab for folders, but opening other folders in that tab does not work. I suspect that opening the findings for global search runs into the same problem (it is another issue here).

One needs to deeply patch into TB code to workaround.

The other missing things mentioned will come, but what needs to be patched is so deeply inside TB code that t takes substantial time even to find that. Having the filter in multiple tabs will come as well.

opto commented 1 year ago

please try https://github.com/opto/Expression-Search-NG/releases/tag/v4.0.11

... this is so deep inside TB that it actually took two full working days to find a mechanism to override it that works when new tabs are opened.

quentinDupont commented 1 year ago

Works for me with release v4.0.13 https://github.com/opto/Expression-Search-NG/releases/tag/v4.0.13 :tada: :pray:

Edit : had to install twice the module to make it work after restart but that's an other issue