Based on work by Gene Smith (gds).
This adds a logon monitor on the nsImapIncomingServer to ensure logins are
only attempted from a single nsImapProtocol thread at a time.
Without this, all IMAP connections might try to log in simultaneously,
likely with the wrong password and likely causing the email provider to
freeze the users account after too many failed login attempts!
Differential Revision: https://phabricator.services.mozilla.com/D211308
--HG--
extra : amend_source : 21f62549fd4d69cddda552a9681e8b1c6ab87166
This patch replaces the old nsIMsgFolderCompactor code.
It provides new code which deals with the folder/db/notification/GUI
aspects around folder compaction, delegating the mbox wrangling to
nsIMsgPluggableStore.asyncCompact().
Differential Revision: https://phabricator.services.mozilla.com/D207498
--HG--
extra : amend_source : eb96a10096227cac59c8a22b72819c3147e728c2
This patch adds nsIMsgPluggableStore.asyncCompact() and
nsIStoreCompactListener, which together provide the purely store-based
parts of folder compaction, leaving out all the messy higher-level
folder/db/notification/GUI aspects.
Differential Revision: https://phabricator.services.mozilla.com/D207101
--HG--
extra : amend_source : 14712bb59b409ed39dcd0d18dc3fb5731409bc77
an error saying the use is without unamed type.
/NEW-SSD/NREF-COMM-CENTRAL/mozilla/comm/mailnews/imap/src/../public/../src/nsImapNamespace.h:14:3: error: ‘nsImapNamespace::nsImapNamespace(EIMAPNamespaceType, const char*, char, bool)’, declared using unnamed type, is used but never defined [-fpermissive]
14 | nsImapNamespace(EIMAPNamespaceType type, const char* prefix, char delimiter,
| ^~~~~~~~~~~~~~~
/NEW-SSD/NREF-COMM-CENTRAL/mozilla/comm/mailnews/imap/src/nsImapCore.h:83:7: note: ‘using EIMAPNamespaceType = enum<unnamed>’ does not refer to the unqualified type, so it is not used for linkage
83 | using EIMAPNamespaceType = enum {
| ^~~~~~~~~~~~~~~~~~
Differential Revision: https://phabricator.services.mozilla.com/D207360
--HG--
extra : moz-landing-system : lando
We originally added `messageDisplay.onMessageDisplayed` and later
learned, that the user can select multiple messages and added
`messageDisplay.onMessagesDisplayed`. We only need the later added
multi message event, which covers the single message event as well.
Differential Revision: https://phabricator.services.mozilla.com/D211149
--HG--
extra : moz-landing-system : lando
This method is too close to `tabs.getCurrent()` but does something
completely different. Developers are confused by this and removing it
will clear things up.
* `tabs.getCurrent()` returns the tab the script calling this method is
being executed in (which can be a background tab)
* `mailTabs.getCurrent()` returns the active mailtab in the active
window, if any.
In manifest V3, developers should use:
`mailTabs.query({active: true, currentWindow: true })`
Differential Revision: https://phabricator.services.mozilla.com/D211150
--HG--
extra : moz-landing-system : lando
The MDN documentation was indeed wrong. See Bug 1896870. Adjusting our
own methods to comply with the specification.
Differential Revision: https://phabricator.services.mozilla.com/D211004
--HG--
extra : amend_source : b31738ad7bfc79a1bce22699f2133b344c1855aa
Creates and heavily modifies a copy of PROTO_TREE_VIEW from jsTreeView.js. I've removed a bunch of
things that are no longer needed because we don't need to implement nsITreeView, and tidied up
what remains, while keeping the general concepts intact.
Differential Revision: https://phabricator.services.mozilla.com/D208446
--HG--
rename : mail/base/content/modules/thread-pane-columns.mjs => mail/base/content/modules/ThreadPaneColumns.mjs
rename : mailnews/base/content/jsTreeView.js => mail/base/content/modules/TreeDataAdapter.mjs
rename : mail/base/content/widgets/tree-selection.mjs => mail/base/content/modules/TreeSelection.mjs
rename : mail/base/test/widgets/files/autoTreeView.js => mail/base/test/widgets/files/autoTreeView.mjs
rename : mail/base/test/widgets/files/tree-element-test-common.js => mail/base/test/widgets/files/tree-element-test-common.mjs
rename : mail/base/test/widgets/files/tree-element-test-header.js => mail/base/test/widgets/files/tree-element-test-header.mjs
rename : mail/base/test/widgets/files/tree-element-test-no-header.js => mail/base/test/widgets/files/tree-element-test-no-header.mjs
extra : moz-landing-system : lando
The check to find the tab belonging to the event is using two
alternative sources to match against `t.chromeBrowser`, one of them
mostly being `null`. However, this `null` value causes a bad match
against content tabs. Kaboom.
Differential Revision: https://phabricator.services.mozilla.com/D210952
--HG--
extra : amend_source : 45619a2b7f59dd23c53607ab31d19bcb7c834d93