Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
tails
thunderbird
Commits
73e3b75d
Commit
73e3b75d
authored
Sep 20, 2021
by
Carsten Schoenert
Browse files
New upstream version 91.1.1
parent
0b1d9f92
Changes
1000
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 1000+
files are displayed.
Plain diff
Email patch
comm/.gecko_rev.yml
View file @
73e3b75d
---
GECKO_BASE_REPOSITORY
:
https://hg.mozilla.org/mozilla-unified
GECKO_HEAD_REPOSITORY
:
https://hg.mozilla.org/releases/mozilla-esr91
GECKO_HEAD_REF
:
FIREFOX_91_1_0esr_
BUILD1
GECKO_HEAD_REF
:
FIREFOX_91_1_0esr_
RELEASE
GECKO_HEAD_REV
:
d015edeaf1a75b6bd672f9f9a413251482b715d6
### For comm-central
...
...
comm/calendar/base/content/item-editing/calendar-item-iframe.js
View file @
73e3b75d
...
...
@@ -624,11 +624,19 @@ function loadDialog(aItem) {
// Description
let
editorElement
=
document
.
getElementById
(
"
item-description
"
);
let
editor
=
editorElement
.
getHTMLEditor
(
editorElement
.
contentWindow
);
let
link
=
editorElement
.
contentDocument
.
createElement
(
"
link
"
);
link
.
rel
=
"
stylesheet
"
;
link
.
href
=
"
chrome://messenger/content/messengercompose/EditorContent.css
"
;
editorElement
.
contentDocument
.
head
.
appendChild
(
link
);
try
{
let
checker
=
editor
.
getInlineSpellChecker
(
true
);
checker
.
enableRealTimeSpell
=
Services
.
prefs
.
getBoolPref
(
"
mail.spellcheck.inline
"
,
true
);
}
catch
(
ex
)
{
// No dictionaries.
}
if
(
aItem
.
descriptionText
)
{
let
docFragment
=
cal
.
view
.
textToHtmlDocumentFragment
(
aItem
.
descriptionText
,
...
...
comm/chat/modules/socket.jsm
View file @
73e3b75d
...
...
@@ -83,6 +83,7 @@ const { clearTimeout, requestIdleCallback, setTimeout } = ChromeUtils.import(
var NS_ERROR_MODULE_NETWORK = 2152398848;
var NS_ERROR_NET_TIMEOUT = NS_ERROR_MODULE_NETWORK + 14;
var NS_ERROR_NET_RESET = NS_ERROR_MODULE_NETWORK + 20;
var NS_ERROR_UNKNOWN_HOST = NS_ERROR_MODULE_NETWORK + 30;
var ScriptableInputStream = Components.Constructor(
"@mozilla.org/scriptableinputstream;1",
...
...
@@ -455,7 +456,9 @@ var Socket = {
return;
}
this.disconnected = true;
if (aStatus == NS_ERROR_NET_RESET) {
// If the host cannot be resolved, reset the connection to attempt to
// reconnect.
if (aStatus == NS_ERROR_NET_RESET || aStatus == NS_ERROR_UNKNOWN_HOST) {
this.onConnectionReset();
} else if (aStatus == NS_ERROR_NET_TIMEOUT) {
this.onConnectionTimedOut();
...
...
comm/ldap/modules/LDAPClient.jsm
View file @
73e3b75d
...
...
@@ -4,6 +4,7 @@
const EXPORTED_SYMBOLS = ["LDAPClient"];
var { CommonUtils } = ChromeUtils.import("resource://services-common/utils.js");
var { setTimeout } = ChromeUtils.import("resource://gre/modules/Timer.jsm");
var {
AbandonRequest,
...
...
@@ -70,9 +71,9 @@ class LDAPClient {
* @param {string} service - The service host name to bind.
* @param {string} mechanism - The SASL mechanism to use, e.g. GSSAPI.
* @param {string} authModuleType - The auth module type, @see nsIMailAuthModule.
* @param {
string
} serverCredentials - The challenge token returned from
the
* server,
or emtpy string for the first request,
must be used to generate a
*
new
request
token
.
* @param {
ArrayBuffer
} serverCredentials - The challenge token returned from
*
the
server,
which
must be used to generate a
new request token. Or
*
undefined for the first
request.
* @param {Function} callback - Callback function when receiving BindResponse.
* @returns {number} The id of the sent request.
*/
...
...
@@ -92,7 +93,18 @@ class LDAPClient {
null // password
);
}
let credentials = this._authModule.getNextToken(serverCredentials);
// getNextToken expects a base64 string.
let token = this._authModule.getNextToken(
serverCredentials
? btoa(
CommonUtils.arrayBufferToByteString(
new Uint8Array(serverCredentials)
)
)
: ""
);
// token is a base64 string, convert it to Uint8Array.
let credentials = CommonUtils.byteStringToArrayBuffer(atob(token));
let req = new BindRequest("", "", { mechanism, credentials });
return this._send(req, callback);
}
...
...
@@ -109,7 +121,7 @@ class LDAPClient {
* @returns {number} The id of the sent request.
*/
search(dn, scope, filter, attributes, timeout, limit, callback) {
this._logger.debug(`Searching ${dn}`);
this._logger.debug(`Searching
dn="
${dn}
" filter="${filter}"
`);
let req = new SearchRequest(dn, scope, filter, attributes, timeout, limit);
return this._send(req, callback);
}
...
...
@@ -176,7 +188,12 @@ class LDAPClient {
}
throw e;
}
this._logger.debug(`S: [${res.messageId}] ${res.constructor.name}`);
this._logger.debug(
`S: [${res.messageId}] ${res.constructor.name}`,
res.result.resultCode >= 0
? `resultCode=${res.result.resultCode} message="${res.result.diagnosticMessage}"`
: ""
);
let callback = this._callbackMap.get(res.messageId);
if (callback) {
callback(res);
...
...
comm/ldap/modules/LDAPMessage.jsm
View file @
73e3b75d
...
...
@@ -71,7 +71,7 @@ class BindRequest extends LDAPMessage {
* @param {string} password - The password.
* @param {Object} sasl - The SASL configs.
* @param {string} sasl.mechanism - The SASL mechanism e.g. sasl-gssapi.
* @param {
string
} sasl.credentials - The credential token for the request.
* @param {
Uint8Array
} sasl.credentials - The credential token for the request.
*/
constructor(dn, password, sasl) {
super();
...
...
@@ -84,7 +84,7 @@ class BindRequest extends LDAPMessage {
valueHex: new TextEncoder().encode(sasl.mechanism),
}),
new asn1js.OctetString({
valueHex:
new TextEncoder().encode(
sasl.credentials
)
,
valueHex: sasl.credentials,
}),
],
});
...
...
@@ -488,9 +488,7 @@ class BindResponse extends LDAPResponse {
super.parse();
let serverSaslCredsBlock = this.protocolOp.valueBlock.value[3];
if (serverSaslCredsBlock) {
this.result.serverSaslCreds = new TextDecoder().decode(
serverSaslCredsBlock.valueBlock.valueHex
);
this.result.serverSaslCreds = serverSaslCredsBlock.valueBlock.valueHex;
}
}
}
...
...
comm/ldap/modules/LDAPOperation.jsm
View file @
73e3b75d
...
...
@@ -31,7 +31,7 @@ class LDAPOperation {
);
}
saslBind(service, mechanism, authModuleType, serverCredentials
= ""
) {
saslBind(service, mechanism, authModuleType, serverCredentials) {
this._client.saslBind(
service,
mechanism,
...
...
comm/mail/app/profile/all-thunderbird.js
View file @
73e3b75d
...
...
@@ -183,6 +183,10 @@ pref("extensions.webextOptionalPermissionPrompts", true);
// pinning checks.
pref
(
"
security.cert_pinning.enforcement_level
"
,
1
);
// Whether to use client certificates stored in OS certificate storage.
// This does not work for S/MIME. See bug 1726442.
pref
(
"
security.osclientcerts.autoload
"
,
false
);
// Symmetric (can be overridden by individual extensions) update preferences.
// e.g.
// extensions.{GUID}.update.enabled
...
...
comm/mail/base/content/FilterListDialog.js
View file @
73e3b75d
...
...
@@ -826,7 +826,11 @@ function rebuildFilterList() {
listitem
.
setAttribute
(
"
label
"
,
filter
.
filterName
);
// Set the listitem values to represent the current filter.
nameCell
.
setAttribute
(
"
value
"
,
filter
.
filterName
);
enabledCell
.
setAttribute
(
"
checked
"
,
filter
.
enabled
);
if
(
filter
.
enabled
)
{
enabledCell
.
setAttribute
(
"
checked
"
,
"
true
"
);
}
else
{
enabledCell
.
removeAttribute
(
"
checked
"
);
}
listitem
.
setAttribute
(
"
aria-checked
"
,
filter
.
enabled
);
listitem
.
_filter
=
filter
;
...
...
comm/mail/base/content/commonDialog.xhtml
0 → 100644
View file @
73e3b75d
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://global/content/commonDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://global/skin/commonDialog.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/themeableDialog.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://global/locale/commonDialog.dtd">
<window
id=
"commonDialogWindow"
xmlns=
"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html=
"http://www.w3.org/1999/xhtml"
xmlns:xul=
"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
aria-describedby=
"infoBody"
headerparent=
"dialogGrid"
lightweightthemes=
"true"
onunload=
"commonDialogOnUnload();"
>
<dialog
id=
"commonDialog"
buttonpack=
"end"
>
<linkset>
<html:link
rel=
"localization"
href=
"branding/brand.ftl"
/>
<html:link
rel=
"localization"
href=
"toolkit/global/commonDialog.ftl"
/>
</linkset>
<script
src=
"chrome://global/content/adjustableTitle.js"
/>
<
script
src
=
"
chrome://global/content/commonDialog.js
"
/>
<
script
src
=
"
chrome://global/content/globalOverlay.js
"
/>
<
script
src
=
"
chrome://global/content/editMenuOverlay.js
"
/>
<
script
src
=
"
chrome://global/content/customElements.js
"
/>
<
script
src
=
"
chrome://messenger/content/dialogShadowDom.js
"
/>
<
script
>
/* eslint-disable no-undef */
document
.
addEventListener
(
"
DOMContentLoaded
"
,
function
()
{
commonDialogOnLoad
();
});
</script>
<commandset
id=
"selectEditMenuItems"
>
<command
id=
"cmd_copy"
oncommand=
"goDoCommand('cmd_copy')"
disabled=
"true"
/>
<command
id=
"cmd_selectAll"
oncommand=
"goDoCommand('cmd_selectAll')"
/>
</commandset>
<popupset
id=
"contentAreaContextSet"
>
<menupopup
id=
"contentAreaContextMenu"
onpopupshowing=
"goUpdateCommand('cmd_copy')"
>
<menuitem
id=
"context-copy"
label=
"©Cmd.label;"
accesskey=
"©Cmd.accesskey;"
command=
"cmd_copy"
disabled=
"true"
/>
<menuitem
id=
"context-selectall"
label=
"&selectAllCmd.label;"
accesskey=
"&selectAllCmd.accesskey;"
command=
"cmd_selectAll"
/>
</menupopup>
</popupset>
<!-- The <div> was added in bug 1606617 to workaround bug 1614447 -->
<div
xmlns=
"http://www.w3.org/1999/xhtml"
>
<div
id=
"dialogGrid"
>
<div
class=
"dialogRow"
id=
"infoRow"
hidden=
"hidden"
>
<div
id=
"iconContainer"
>
<xul:image
id=
"infoIcon"
/>
</div>
<div
id=
"infoContainer"
>
<xul:description
id=
"infoTitle"
/>
<xul:description
id=
"infoBody"
context=
"contentAreaContextMenu"
noinitialfocus=
"true"
/>
</div>
</div>
<div
id=
"loginContainer"
class=
"dialogRow"
hidden=
"hidden"
>
<xul:label
id=
"loginLabel"
data-l10n-id=
"common-dialog-username"
control=
"loginTextbox"
/>
<input
type=
"text"
id=
"loginTextbox"
dir=
"ltr"
/>
</div>
<div
id=
"password1Container"
class=
"dialogRow"
hidden=
"hidden"
>
<xul:label
id=
"password1Label"
data-l10n-id=
"common-dialog-password"
control=
"password1Textbox"
/>
<input
type=
"password"
id=
"password1Textbox"
dir=
"ltr"
/>
</div>
<div
id=
"checkboxContainer"
class=
"dialogRow"
hidden=
"hidden"
>
<div/>
<!-- spacer -->
<xul:checkbox
id=
"checkbox"
oncommand=
"Dialog.onCheckbox()"
/>
</div>
</div>
</div>
</dialog>
</window>
comm/mail/base/content/mail3PaneWindowCommands.js
View file @
73e3b75d
...
...
@@ -368,7 +368,6 @@ var DefaultController = {
case
"
cmd_editTemplateMsg
"
:
case
"
cmd_openMessage
"
:
case
"
button_print
"
:
case
"
cmd_print
"
:
case
"
cmd_viewPageSource
"
:
case
"
cmd_reload
"
:
case
"
cmd_applyFiltersToSelection
"
:
...
...
@@ -417,6 +416,14 @@ var DefaultController = {
return
true
;
}
return
false
;
case
"
cmd_print
"
:
// We can't print messages unless they're being displayed, so enable
// printing only if exactly one message is selected and it is the
// message being displayed.
return
(
gFolderDisplay
.
selectedCount
==
1
&&
gFolderDisplay
.
selectedMessage
==
gMessageDisplay
.
displayedMessage
);
case
"
cmd_newMessage
"
:
return
CanComposeMessages
();
case
"
cmd_viewAllHeader
"
:
...
...
comm/mail/base/content/messageWindow.xhtml
View file @
73e3b75d
...
...
@@ -11,7 +11,7 @@
<?xml-stylesheet href="chrome://messenger/skin/folderMenus.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/attachmentList.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/searchBox.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/
customizableui/
panelUI.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/panelUI.css" type="text/css"?>
<?xml-stylesheet href="chrome://calendar/skin/calendar.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/openpgp/inlineNotification.css" type="text/css"?>
...
...
@@ -116,7 +116,7 @@
<script
defer=
"defer"
src=
"chrome://communicator/content/utilityOverlay.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/mailCore.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/quickFilterBar.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/
customizableui/
panelUI.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/panelUI.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/chat/toolbarbutton-badge-button.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/messenger-customization.js"
></script>
#ifdef XP_MACOSX
...
...
comm/mail/base/content/messenger.xhtml
View file @
73e3b75d
...
...
@@ -19,7 +19,7 @@
<?xml-stylesheet href="chrome://messenger/skin/folderMenus.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/attachmentList.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/searchBox.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/
customizableui/
panelUI.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/panelUI.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/input-fields.css" type="text/css"?>
<?xml-stylesheet href="chrome://messenger/skin/openpgp/inlineNotification.css" type="text/css"?>
...
...
@@ -150,7 +150,7 @@
<script
defer=
"defer"
src=
"chrome://messenger/content/messenger-customization.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/customizable-toolbar.js"
></script>
<!-- panelUI.js is for the appmenus. -->
<script
defer=
"defer"
src=
"chrome://messenger/content/
customizableui/
panelUI.js"
></script>
<script
defer=
"defer"
src=
"chrome://messenger/content/panelUI.js"
></script>
#ifdef XP_MACOSX
<script
defer=
"defer"
src=
"chrome://messenger/content/macMessengerMenu.js"
></script>
<script
defer=
"defer"
src=
"chrome://global/content/macWindowMenu.js"
></script>
...
...
comm/mail/base/content/widgets/mailWidgets.js
View file @
73e3b75d
...
...
@@ -2075,11 +2075,26 @@
}
_setupEventListeners
()
{
this
.
addEventListener
(
"
blur
"
,
event
=>
{
// Prevent deselecting a pill on blur if:
// - The related target is null (context menu was opened, bug 1729741).
// - The related target is another pill (multi selection and deslection
// are handled by the click event listener added on pill creation).
if
(
!
event
.
relatedTarget
||
event
.
relatedTarget
.
tagName
==
"
mail-address-pill
"
)
{
return
;
}
this
.
removeAttribute
(
"
selected
"
);
});
this
.
emailInput
.
addEventListener
(
"
keypress
"
,
event
=>
{
if
(
this
.
hasAttribute
(
"
disabled
"
))
{
return
;
}
this
.
finishEditing
(
event
);
this
.
onEmailInputKeyPress
(
event
);
});
// Disable the inbuilt autocomplete on blur as we handle it here.
...
...
@@ -2150,10 +2165,8 @@
*
* @param {Event} event - The DOM Event.
*/
finishEditing
(
event
=
null
)
{
let
key
=
event
?
event
.
key
:
"
Escape
"
;
switch
(
key
)
{
onEmailInputKeyPress
(
event
)
{
switch
(
event
.
key
)
{
case
"
Escape
"
:
this
.
emailInput
.
value
=
this
.
fullAddress
;
this
.
resetPill
();
...
...
@@ -2483,27 +2496,6 @@
);
addressContainer
.
classList
.
remove
(
"
drag-address-container
"
);
});
// We want to deselect pills when focus moves away from them. To simplify
// things, we listen to focusout event which bubbles from any element of
// the entire mail-recipients-area, including all pills.
this
.
addEventListener
(
"
focusout
"
,
event
=>
{
// Return if focusout did not occur on a pill (nothing to deselect),
// if the element receiving focus is a pill (allow preserving selection),
// or if event.target remains the active element, i.e. focus was
// moved to another window (do nothing, preserve selection if any).
if
(
event
.
target
.
tagName
!=
"
mail-address-pill
"
||
event
?.
relatedTarget
?.
tagName
==
"
mail-address-pill
"
||
event
.
target
==
document
.
activeElement
)
{
return
;
}
// If focus moves out from pills, deselect all of them. Luckily,
// pill context menu does not trigger focusout on addressing area.
this
.
deselectAllPills
();
});
}
/**
...
...
@@ -2766,7 +2758,7 @@
!
event
.
shiftKey
)
{
if
(
!
pill
.
hasAttribute
(
"
selected
"
))
{
this
.
clearSelected
();
this
.
deselectAllPills
();
pill
.
setAttribute
(
"
selected
"
,
"
selected
"
);
}
this
.
removeSelectedPills
();
...
...
@@ -2806,18 +2798,6 @@
this
.
handleKeyPress
(
pill
,
event
);
});
pill
.
addEventListener
(
"
contextmenu
"
,
event
=>
{
if
(
pill
.
hasAttribute
(
"
disabled
"
))
{
event
.
preventDefault
();
return
;
}
// Update the context menu options only if opened via the context menu
// keyboard button.
if
(
event
.
buttons
==
0
)
{
emailAddressPillOnPopupShown
();
}
});
element
.
closest
(
"
.address-container
"
).
insertBefore
(
pill
,
element
);
// The emailInput attribute is accessible only after the pill has been
...
...
@@ -2930,7 +2910,7 @@
if
(
!
event
.
ctrlKey
)
{
// Unmodified navigation: select only first pill and focus it below.
// ### Todo: We can't handle Shift+Home yet, so it ends up here.
this
.
clearSelected
();
this
.
deselectAllPills
();
firstPill
.
setAttribute
(
"
selected
"
,
"
selected
"
);
}
firstPill
.
focus
();
...
...
@@ -3009,17 +2989,15 @@
* @param {Event} event - A DOM click or keypress Event.
*/
checkSelected
(
pill
,
event
)
{
if
(
pill
.
isEditing
)
{
return
;
}
if
(
pill
.
hasAttribute
(
"
selected
"
)
&&
event
.
button
==
2
)
{
emailAddressPillOnPopupShown
();
// Interrupt if the pill is in edit mode or a right click was detected.
// Selecting pills on right click will be handled by the opening of the
// context menu.
if
(
pill
.
isEditing
||
event
.
button
==
2
)
{
return
;
}
if
(
!
event
.
ctrlKey
&&
!
event
.
metaKey
&&
event
.
key
!=
"
"
)
{
this
.
clearSelected
();
this
.
deselectAllPills
();
}
pill
.
toggleAttribute
(
"
selected
"
);
...
...
@@ -3028,12 +3006,6 @@
// (or a spacebar keypress), as macOS doesn't automatically move the focus
// on this custom element (bug 1645643, bug 1645916).
pill
.
focus
();
// Update the options in the context menu only after the pills were
// selected and if the event was a right click.
if
(
event
.
button
==
2
)
{
emailAddressPillOnPopupShown
();
}
}
/**
...
...
@@ -3064,7 +3036,7 @@
}
else
if
(
!
event
.
ctrlKey
)
{
// Non-modified navigation keys must select the target pill and deselect
// all others. Also some other keys like Backspace from rowInput.
this
.
clearSelected
();
this
.
deselectAllPills
();
if
(
targetPill
)
{
targetPill
.
setAttribute
(
"
selected
"
,
"
selected
"
);
}
else
{
...
...
@@ -3079,12 +3051,6 @@
}
}
clearSelected
()
{
for
(
let
pill
of
this
.
getAllPills
())
{
pill
.
removeAttribute
(
"
selected
"
);
}
}
/**
* Trigger the pill.startEditing() method.
*
...
...
comm/mail/base/jar.mn
View file @
73e3b75d
...
...
@@ -4,6 +4,7 @@ messenger.jar:
% content messagebody %content/messagebody/ contentaccessible=yes
% content messenger %content/messenger/ contentaccessible=yes
% override chrome://messagebody/skin/messageBody.css chrome://messenger/skin/messageBody.css
% override chrome://global/content/commonDialog.xhtml chrome://messenger/content/commonDialog.xhtml
content/messenger/aboutAddonsExtra.css (content/aboutAddonsExtra.css)
content/messenger/aboutAddonsExtra.js (content/aboutAddonsExtra.js)
content/messenger/aboutDialog-appUpdater.js (content/aboutDialog-appUpdater.js)
...
...
@@ -14,6 +15,7 @@ messenger.jar:
content/messenger/browserRequest.js (content/browserRequest.js)
content/messenger/browserRequest.xhtml (content/browserRequest.xhtml)
content/messenger/commandglue.js (content/commandglue.js)
content/messenger/commonDialog.xhtml (content/commonDialog.xhtml)
content/messenger/compactFoldersDialog.js (content/compactFoldersDialog.js)
content/messenger/compactFoldersDialog.xhtml (content/compactFoldersDialog.xhtml)
content/messenger/composerOverlay.css (content/composerOverlay.css)
...
...
comm/mail/components/accountcreation/FetchHTTP.jsm
View file @
73e3b75d
...
...
@@ -313,7 +313,6 @@ FetchHTTP.prototype = {
} catch (e) {
// In case .statusText throws (it's marked as [Throws] in the webidl),
// continue with empty errorStr.
console.error(e);
}
if (!errorStr) {
// If we can't resolve the hostname in DNS etc., .statusText is empty.
...
...
@@ -330,7 +329,6 @@ FetchHTTP.prototype = {
try {
this._successCallback(this.result);
} catch (e) {
Cu.reportError(e);
e.stack = this._callStack;
this._error(e);
}
...
...
@@ -352,7 +350,6 @@ FetchHTTP.prototype = {
}
} catch (e) {
// error in our fetchhttp._response() code
Cu.reportError(e);
this._error(e);
}
},
...
...
comm/mail/components/accountcreation/content/accountSetup.xhtml
View file @
73e3b75d
...
...
@@ -781,7 +781,7 @@
<button
id=
"addressBookLDAPButton"
type=
"button"
data-l10n-id=
"account-setup-address-book-ldap-button"
class=
"quick-link"
onclick=
"add
Card
DA
V
AddressBook();"
>
onclick=
"add
L
DA
P
AddressBook();"
>
</button>
</section>
...
...
comm/mail/components/addrbook/content/menulist-addrbooks.js
View file @
73e3b75d
...
...
@@ -155,7 +155,6 @@ if (!customElements.get("menulist")) {
this
.
_directories
.
unshift
(
null
);
let
listItem
=
this
.
appendItem
(
this
.
getAttribute
(
"
none
"
),
""
);
listItem
.
setAttribute
(
"
class
"
,
"
menuitem-iconic abMenuItem
"
);
listItem
.
setAttribute
(
"
IsNone
"
,
"
true
"
);
}
if
(
this
.
hasAttribute
(
"
alladdressbooks
"
))
{
...
...
@@ -169,8 +168,10 @@ if (!customElements.get("menulist")) {
this
.
_directories
.
unshift
(
null
);
let
listItem
=
this
.
appendItem
(
allABLabel
,
"
moz-abdirectory://?
"
);
listItem
.
setAttribute
(
"
class
"
,
"
menuitem-iconic abMenuItem
"
);
listItem
.
setAttribute
(
"
AddrBook
"
,
"
true
"
);
listItem
.
setAttribute
(
"
IsAllAB
"
,
"
true
"
);
listItem
.
setAttribute
(
"
image
"
,
"
chrome://messenger/skin/icons/address.svg
"
);
}
// Now create menuitems for all displayed directories.
...
...
@@ -186,16 +187,25 @@ if (!customElements.get("menulist")) {
// Style the items by type.
if
(
ab
.
isMailList
)
{
listItem
.
setAttribute
(
"
MailList
"
,
"
true
"
);
listItem
.
setAttribute
(
"
image
"
,
"
chrome://messenger/skin/icons/ablist.svg
"
);
}
else
if
(
ab
.
isRemote
&&
ab
.
isSecure
)
{
listItem
.
setAttribute
(
"
image
"
,
"
chrome://messenger/skin/icons/globe-secure.svg
"
);
}
else
if
(
ab
.
isRemote
)
{
listItem
.
setAttribute
(
"
image
"
,
"
chrome://messenger/skin/icons/globe.svg
"
);
}
else
{
listItem
.
setAttribute
(
"
AddrBook
"
,
"
true
"
);
}
if
(
ab
.
isRemote
)
{
listItem
.
setAttribute
(
"
IsRemote
"
,
"
true
"
);
}
if
(
ab
.
isSecure
)
{
listItem
.
setAttribute
(
"
IsSecure
"
,
"
true
"
);
listItem
.
setAttribute
(
"
image
"
,
"
chrome://messenger/skin/icons/address.svg
"
);
}
}
...
...
comm/mail/components/compose/content/MsgComposeCommands.js
View file @
73e3b75d
...
...
@@ -140,9 +140,12 @@ var gSendEncryptedInitial = false;
var
gOptionalEncryption
=
false
;
// Only encrypt if possible. Ignored if !gSendEncrypted.
var
gOptionalEncryptionInitial
=
false
;
var
gEncryptSubject
=
false
;
var
gUserTouchedSendEncrypted
=
false
;
var
gUserTouchedSendSigned
=
false
;
var
gUserTouchedAttachMyPubKey
=
false
;
var
gUserTouchedEncryptSubject
=
false
;
var
gIsRelatedToEncryptedOriginal
=
false
;
var
gIsRelatedToSignedOriginal
=
false
;
...
...
@@ -218,6 +221,9 @@ window.addEventListener("close", event => {
window
.
addEventListener
(
"
focus
"
,
event
=>
{
EditorOnFocus
();
});
window
.
addEventListener
(
"
click
"
,
event
=>
{
composeWindowOnClick
(
event
);
});