diff -Nru thunderbird-78.6.1+build1/browser/base/content/browser.js thunderbird-78.7.1+build1/browser/base/content/browser.js
--- thunderbird-78.6.1+build1/browser/base/content/browser.js 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/base/content/browser.js 2021-02-05 18:21:07.000000000 +0000
@@ -89,6 +89,7 @@
WebNavigationFrames: "resource://gre/modules/WebNavigationFrames.jsm",
fxAccounts: "resource://gre/modules/FxAccounts.jsm",
webrtcUI: "resource:///modules/webrtcUI.jsm",
+ WebsiteFilter: "resource:///modules/policies/WebsiteFilter.jsm",
ZoomUI: "resource:///modules/ZoomUI.jsm",
});
diff -Nru thunderbird-78.6.1+build1/browser/base/content/nsContextMenu.js thunderbird-78.7.1+build1/browser/base/content/nsContextMenu.js
--- thunderbird-78.6.1+build1/browser/base/content/nsContextMenu.js 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/base/content/nsContextMenu.js 2021-02-05 18:21:07.000000000 +0000
@@ -453,6 +453,16 @@
"context-savelink",
this.onSaveableLink || this.onPlainTextLink
);
+ if (
+ (this.onSaveableLink || this.onPlainTextLink) &&
+ Services.policies.status === Services.policies.ACTIVE
+ ) {
+ this.setItemAttr(
+ "context-savelink",
+ "disabled",
+ !WebsiteFilter.isAllowed(this.linkURL)
+ );
+ }
// Save image depends on having loaded its content, video and audio don't.
this.showItem("context-saveimage", this.onLoadedImage || this.onCanvas);
diff -Nru thunderbird-78.6.1+build1/browser/components/enterprisepolicies/helpers/WebsiteFilter.jsm thunderbird-78.7.1+build1/browser/components/enterprisepolicies/helpers/WebsiteFilter.jsm
--- thunderbird-78.6.1+build1/browser/components/enterprisepolicies/helpers/WebsiteFilter.jsm 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/enterprisepolicies/helpers/WebsiteFilter.jsm 2021-02-05 18:21:07.000000000 +0000
@@ -134,4 +134,15 @@
createInstance(outer, iid) {
return this.QueryInterface(iid);
},
+ isAllowed(url) {
+ if (this._blockPatterns?.matches(url.toLowerCase())) {
+ if (
+ !this._exceptionsPatterns ||
+ !this._exceptionsPatterns.matches(url.toLowerCase())
+ ) {
+ return false;
+ }
+ }
+ return true;
+ },
};
diff -Nru thunderbird-78.6.1+build1/browser/components/enterprisepolicies/Policies.jsm thunderbird-78.7.1+build1/browser/components/enterprisepolicies/Policies.jsm
--- thunderbird-78.6.1+build1/browser/components/enterprisepolicies/Policies.jsm 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/enterprisepolicies/Policies.jsm 2021-02-05 18:21:07.000000000 +0000
@@ -2277,7 +2277,11 @@
)} - {url}`
);
},
- onInstallEnded: () => {
+ /* eslint-disable-next-line no-shadow */
+ onInstallEnded: (install, addon) => {
+ if (addon.type == "theme") {
+ addon.enable();
+ }
install.removeListener(listener);
log.debug(`Installation succeeded - ${url}`);
},
diff -Nru thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/browser/browser.ini thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/browser/browser.ini
--- thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/browser/browser.ini 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/browser/browser.ini 2021-02-05 18:21:07.000000000 +0000
@@ -7,6 +7,7 @@
policytest_v0.2.xpi
policy_websitefilter_block.html
policy_websitefilter_exception.html
+ policy_websitefilter_savelink.html
../../../../../toolkit/components/antitracking/test/browser/page.html
../../../../../toolkit/components/antitracking/test/browser/subResources.sjs
extensionsettings.html
diff -Nru thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/browser/browser_policy_websitefilter.js thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/browser/browser_policy_websitefilter.js
--- thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/browser/browser_policy_websitefilter.js 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/browser/browser_policy_websitefilter.js 2021-02-05 18:21:07.000000000 +0000
@@ -6,6 +6,7 @@
"http://mochi.test:8888/browser/browser/components/enterprisepolicies/tests/browser/";
const BLOCKED_PAGE = "policy_websitefilter_block.html";
const EXCEPTION_PAGE = "policy_websitefilter_exception.html";
+const SAVELINKAS_PAGE = "policy_websitefilter_savelink.html";
add_task(async function test_http() {
await setupPolicyEngineWithJson({
@@ -53,3 +54,75 @@
await checkBlockedPage("file:///this_should_be_blocked", true);
});
+
+add_task(async function test_savelink() {
+ await setupPolicyEngineWithJson({
+ policies: {
+ WebsiteFilter: {
+ Block: ["*://mochi.test/*policy_websitefilter_block*"],
+ },
+ },
+ });
+
+ let tab = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ SUPPORT_FILES_PATH + SAVELINKAS_PAGE
+ );
+
+ let contextMenu = document.getElementById("contentAreaContextMenu");
+ let promiseContextMenuOpen = BrowserTestUtils.waitForEvent(
+ contextMenu,
+ "popupshown"
+ );
+ await BrowserTestUtils.synthesizeMouse(
+ "#savelink_blocked",
+ 0,
+ 0,
+ {
+ type: "contextmenu",
+ button: 2,
+ centered: true,
+ },
+ gBrowser.selectedBrowser
+ );
+ await promiseContextMenuOpen;
+
+ let saveLink = document.getElementById("context-savelink");
+ is(saveLink.disabled, true, "Save Link As should be disabled");
+
+ let promiseContextMenuHidden = BrowserTestUtils.waitForEvent(
+ contextMenu,
+ "popuphidden"
+ );
+ contextMenu.hidePopup();
+ await promiseContextMenuHidden;
+
+ promiseContextMenuOpen = BrowserTestUtils.waitForEvent(
+ contextMenu,
+ "popupshown"
+ );
+ await BrowserTestUtils.synthesizeMouse(
+ "#savelink_notblocked",
+ 0,
+ 0,
+ {
+ type: "contextmenu",
+ button: 2,
+ centered: true,
+ },
+ gBrowser.selectedBrowser
+ );
+ await promiseContextMenuOpen;
+
+ saveLink = document.getElementById("context-savelink");
+ is(saveLink.disabled, false, "Save Link As should not be disabled");
+
+ promiseContextMenuHidden = BrowserTestUtils.waitForEvent(
+ contextMenu,
+ "popuphidden"
+ );
+ contextMenu.hidePopup();
+ await promiseContextMenuHidden;
+
+ BrowserTestUtils.removeTab(tab);
+});
diff -Nru thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/browser/policy_websitefilter_savelink.html thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/browser/policy_websitefilter_savelink.html
--- thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/browser/policy_websitefilter_savelink.html 1970-01-01 00:00:00.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/browser/policy_websitefilter_savelink.html 2021-02-05 18:21:07.000000000 +0000
@@ -0,0 +1,11 @@
+
+
+
+
+ Save Link As test
+
+
+ Should not be saveable
+ Should be saveable
+
+
diff -Nru thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js
--- thunderbird-78.6.1+build1/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/enterprisepolicies/tests/xpcshell/test_extensionsettings.js 2021-02-05 18:21:07.000000000 +0000
@@ -17,6 +17,7 @@
const BASE_URL = `http://example.com/data`;
let addonID = "policytest2@mozilla.com";
+let themeID = "policytheme@mozilla.com";
add_task(async function setup() {
await AddonTestUtils.promiseStartupManager();
@@ -219,3 +220,36 @@
);
equal(newRestrictedDomains, restrictedDomains + ",example.com,example.org");
});
+
+add_task(async function test_theme() {
+ let themeFile = AddonTestUtils.createTempWebExtensionFile({
+ manifest: {
+ applications: {
+ gecko: {
+ id: themeID,
+ },
+ },
+ theme: {},
+ },
+ });
+
+ server.registerFile("/data/policy_theme.xpi", themeFile);
+
+ await Promise.all([
+ AddonTestUtils.promiseInstallEvent("onInstallEnded"),
+ setupPolicyEngineWithJson({
+ policies: {
+ ExtensionSettings: {
+ "policytheme@mozilla.com": {
+ installation_mode: "normal_installed",
+ install_url: BASE_URL + "/policy_theme.xpi",
+ },
+ },
+ },
+ }),
+ ]);
+ let currentTheme = Services.prefs.getCharPref("extensions.activeThemeID");
+ equal(currentTheme, themeID, "Theme should be active");
+ let addon = await AddonManager.getAddonByID(themeID);
+ await addon.uninstall();
+});
Binary files /tmp/tmpzWDMKe/ChT1BnyQvV/thunderbird-78.6.1+build1/browser/components/newtab/data/content/tippytop/favicons/baidu-com.ico and /tmp/tmpzWDMKe/vU57UfULln/thunderbird-78.7.1+build1/browser/components/newtab/data/content/tippytop/favicons/baidu-com.ico differ
Binary files /tmp/tmpzWDMKe/ChT1BnyQvV/thunderbird-78.6.1+build1/browser/components/newtab/data/content/tippytop/favicons/baidu-com.png and /tmp/tmpzWDMKe/vU57UfULln/thunderbird-78.7.1+build1/browser/components/newtab/data/content/tippytop/favicons/baidu-com.png differ
Binary files /tmp/tmpzWDMKe/ChT1BnyQvV/thunderbird-78.6.1+build1/browser/components/newtab/data/content/tippytop/images/baidu-com@2x.png and /tmp/tmpzWDMKe/vU57UfULln/thunderbird-78.7.1+build1/browser/components/newtab/data/content/tippytop/images/baidu-com@2x.png differ
diff -Nru thunderbird-78.6.1+build1/browser/components/newtab/data/content/tippytop/top_sites.json thunderbird-78.7.1+build1/browser/components/newtab/data/content/tippytop/top_sites.json
--- thunderbird-78.6.1+build1/browser/components/newtab/data/content/tippytop/top_sites.json 2021-01-08 18:54:06.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/newtab/data/content/tippytop/top_sites.json 2021-02-05 18:21:07.000000000 +0000
@@ -27,7 +27,7 @@
"title": "baidu",
"url": "https://www.baidu.com/",
"image_url": "images/baidu-com@2x.png",
- "favicon_url": "favicons/baidu-com.ico"
+ "favicon_url": "favicons/baidu-com.png"
},
{
"title": "bbc",
Binary files /tmp/tmpzWDMKe/ChT1BnyQvV/thunderbird-78.6.1+build1/browser/components/search/extensions/baidu/favicon.ico and /tmp/tmpzWDMKe/vU57UfULln/thunderbird-78.7.1+build1/browser/components/search/extensions/baidu/favicon.ico differ
Binary files /tmp/tmpzWDMKe/ChT1BnyQvV/thunderbird-78.6.1+build1/browser/components/search/extensions/bing/favicon.ico and /tmp/tmpzWDMKe/vU57UfULln/thunderbird-78.7.1+build1/browser/components/search/extensions/bing/favicon.ico differ
diff -Nru thunderbird-78.6.1+build1/browser/components/search/extensions/bing/manifest.json thunderbird-78.7.1+build1/browser/components/search/extensions/bing/manifest.json
--- thunderbird-78.6.1+build1/browser/components/search/extensions/bing/manifest.json 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/search/extensions/bing/manifest.json 2021-02-05 18:21:07.000000000 +0000
@@ -1,8 +1,8 @@
{
"name": "Bing",
- "description": "Bing. Search by Microsoft.",
+ "description": "Microsoft Bing",
"manifest_version": 2,
- "version": "1.1",
+ "version": "1.1.1",
"applications": {
"gecko": {
"id": "bing@search.mozilla.org"
diff -Nru thunderbird-78.6.1+build1/browser/components/search/test/browser/browser_bing.js thunderbird-78.7.1+build1/browser/components/search/test/browser/browser_bing.js
--- thunderbird-78.6.1+build1/browser/components/search/test/browser/browser_bing.js 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/components/search/test/browser/browser_bing.js 2021-02-05 18:21:08.000000000 +0000
@@ -47,7 +47,7 @@
const EXPECTED_ENGINE = {
name: "Bing",
alias: null,
- description: "Bing. Search by Microsoft.",
+ description: "Microsoft Bing",
searchForm: "https://www.bing.com/search?pc=MOZI&q=",
hidden: false,
wrappedJSObject: {
diff -Nru thunderbird-78.6.1+build1/browser/config/version_display.txt thunderbird-78.7.1+build1/browser/config/version_display.txt
--- thunderbird-78.6.1+build1/browser/config/version_display.txt 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/config/version_display.txt 2021-02-05 18:21:31.000000000 +0000
@@ -1 +1 @@
-78.6.1esr
+78.7.0esr
diff -Nru thunderbird-78.6.1+build1/browser/config/version.txt thunderbird-78.7.1+build1/browser/config/version.txt
--- thunderbird-78.6.1+build1/browser/config/version.txt 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/config/version.txt 2021-02-05 18:21:31.000000000 +0000
@@ -1 +1 @@
-78.6.1
+78.7.0
diff -Nru thunderbird-78.6.1+build1/browser/extensions/pdfjs/content/PdfJsNetwork.jsm thunderbird-78.7.1+build1/browser/extensions/pdfjs/content/PdfJsNetwork.jsm
--- thunderbird-78.6.1+build1/browser/extensions/pdfjs/content/PdfJsNetwork.jsm 2021-01-08 18:54:06.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/extensions/pdfjs/content/PdfJsNetwork.jsm 2021-02-05 18:21:07.000000000 +0000
@@ -94,6 +94,7 @@
var rangeStr = args.begin + "-" + (args.end - 1);
xhr.setRequestHeader("Range", "bytes=" + rangeStr);
pendingRequest.expectedStatus = 206;
+ xhr.channel.QueryInterface(Ci.nsIHttpChannel).redirectionLimit = 0;
} else {
pendingRequest.expectedStatus = 200;
}
diff -Nru thunderbird-78.6.1+build1/browser/installer/windows/nsis/shared.nsh thunderbird-78.7.1+build1/browser/installer/windows/nsis/shared.nsh
--- thunderbird-78.6.1+build1/browser/installer/windows/nsis/shared.nsh 2021-01-08 18:54:29.000000000 +0000
+++ thunderbird-78.7.1+build1/browser/installer/windows/nsis/shared.nsh 2021-02-05 18:21:07.000000000 +0000
@@ -1609,7 +1609,22 @@
${Unless} ${Errors}
; This is all protected by a user choice hash in Windows 8 so it won't
; help, but it also won't hurt.
- AppAssocReg::SetAppAsDefaultAll "$R9"
+ AppAssocReg::SetAppAsDefault "$R9" ".htm" "file"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" ".html" "file"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" ".shtml" "file"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" ".webp" "file"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" ".xht" "file"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" ".xhtml" "file"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" "http" "protocol"
+ Pop $0
+ AppAssocReg::SetAppAsDefault "$R9" "https" "protocol"
+ Pop $0
${EndUnless}
${RemoveDeprecatedKeys}
${MigrateTaskBarShortcut}
diff -Nru thunderbird-78.6.1+build1/BUILDID thunderbird-78.7.1+build1/BUILDID
--- thunderbird-78.6.1+build1/BUILDID 2021-01-08 19:06:36.000000000 +0000
+++ thunderbird-78.7.1+build1/BUILDID 2021-02-05 18:42:46.000000000 +0000
@@ -1 +1 @@
-20210107201950
\ No newline at end of file
+20210203182138
\ No newline at end of file
diff -Nru thunderbird-78.6.1+build1/comm/calendar/base/themes/common/calendar-task-view.css thunderbird-78.7.1+build1/comm/calendar/base/themes/common/calendar-task-view.css
--- thunderbird-78.6.1+build1/comm/calendar/base/themes/common/calendar-task-view.css 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/calendar/base/themes/common/calendar-task-view.css 2021-02-05 18:23:40.000000000 +0000
@@ -4,6 +4,12 @@
@namespace html url("http://www.w3.org/1999/xhtml");
+#calendar-task-details-container {
+ border-bottom-width: 0;
+ padding: 0;
+ overflow: hidden;
+}
+
#calendar-task-details {
display: flex;
flex-direction: column;
@@ -15,10 +21,7 @@
}
#calendar-task-details-grid {
- padding-top: 1px;
- padding-inline-start: 0;
- padding-inline-end: 0;
- padding-bottom: 0.2em;
+ padding: 1px 2px 0.2em;
width: 100%;
}
@@ -49,6 +52,10 @@
padding-bottom: 0.3em;
}
+#task-actions-toolbox {
+ margin-inline-end: 3px;
+}
+
#task-addition-box {
border-bottom: 1px solid ThreeDShadow;
}
@@ -83,8 +90,12 @@
#calendar-task-details-description {
width: 100%;
box-sizing: border-box;
- font-family: serif;
- font-size: 16px;
+ border-width: 0;
+ border-top: 1px solid var(--splitter-color);
+ margin-block: 0;
+ padding-inline: 4px;
+ outline: none;
+ resize: none;
}
.task-details-name {
@@ -100,7 +111,8 @@
}
#calendar-task-details-attachment-row {
- margin-top: 3px;
+ border-top: 1px solid var(--splitter-color);
+ padding-block: 2px;
}
#calendar-task-details-attachment-rows {
diff -Nru thunderbird-78.6.1+build1/comm/calendar/base/themes/linux/lightning.css thunderbird-78.7.1+build1/comm/calendar/base/themes/linux/lightning.css
--- thunderbird-78.6.1+build1/comm/calendar/base/themes/linux/lightning.css 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/calendar/base/themes/linux/lightning.css 2021-02-05 18:23:40.000000000 +0000
@@ -43,7 +43,6 @@
/* Lightning sidebar in calendar and task mode */
#ltnSidebar {
background-color: -moz-field;
- border-bottom: 1px solid ThreeDShadow;
}
/* Today pane button in status bar */
diff -Nru thunderbird-78.6.1+build1/comm/calendar/base/themes/osx/calendar-task-view.css thunderbird-78.7.1+build1/comm/calendar/base/themes/osx/calendar-task-view.css
--- thunderbird-78.6.1+build1/comm/calendar/base/themes/osx/calendar-task-view.css 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/calendar/base/themes/osx/calendar-task-view.css 2021-02-05 18:23:40.000000000 +0000
@@ -6,9 +6,7 @@
#calendar-task-details-container {
background-color: ButtonFace;
- border-bottom-width: 0;
padding-top: 2px;
- overflow: hidden;
}
#other-actions-box {
diff -Nru thunderbird-78.6.1+build1/comm/calendar/base/themes/windows/calendar-task-view.css thunderbird-78.7.1+build1/comm/calendar/base/themes/windows/calendar-task-view.css
--- thunderbird-78.6.1+build1/comm/calendar/base/themes/windows/calendar-task-view.css 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/calendar/base/themes/windows/calendar-task-view.css 2021-02-05 18:23:40.000000000 +0000
@@ -15,11 +15,7 @@
}
#calendar-task-details-container {
- border-top: 1px solid ThreeDShadow;
- border-left: 1px solid ThreeDShadow;
- border-right: 0;
- border-bottom: 0;
- overflow: hidden;
+ padding-top: 0;
}
#other-actions-box {
@@ -61,11 +57,6 @@
border-top-width: 0;
}
-#calendar-task-details-container {
- border-top-width: 0;
- padding-top: 0;
-}
-
@media (-moz-windows-default-theme) {
#task-addition-box {
background-color: #f8f8f8;
diff -Nru thunderbird-78.6.1+build1/comm/.gecko_rev.yml thunderbird-78.7.1+build1/comm/.gecko_rev.yml
--- thunderbird-78.6.1+build1/comm/.gecko_rev.yml 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/.gecko_rev.yml 2021-02-05 18:23:40.000000000 +0000
@@ -1,8 +1,8 @@
---
GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified
GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr78
-GECKO_HEAD_REF: FIREFOX_78_6_1esr_RELEASE
-GECKO_HEAD_REV: df0581e37d875577ff1f2be1d5943e0d03c9e796
+GECKO_HEAD_REF: FIREFOX_78_7_0esr_BUILD1
+GECKO_HEAD_REV: 0b2a3be4915be03d5434bd445234b7145f4d7dab
### For comm-central
# GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified
diff -Nru thunderbird-78.6.1+build1/comm/mail/app/profile/all-thunderbird.js thunderbird-78.7.1+build1/comm/mail/app/profile/all-thunderbird.js
--- thunderbird-78.6.1+build1/comm/mail/app/profile/all-thunderbird.js 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/app/profile/all-thunderbird.js 2021-02-05 18:23:40.000000000 +0000
@@ -104,7 +104,7 @@
#endif
// Base URL for web-based support pages.
-pref("app.support.baseURL", "https://support.thunderbird.net/%LOCALE%/%APP%/%APPBUILDID%/");
+pref("app.support.baseURL", "https://support.thunderbird.net/%APP%/%VERSION%/%OS%/%LOCALE%/");
// Base url for web-based feedback pages.
pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/%APP%/%VERSION%/");
diff -Nru thunderbird-78.6.1+build1/comm/mail/base/content/gloda-autocomplete-input.js thunderbird-78.7.1+build1/comm/mail/base/content/gloda-autocomplete-input.js
--- thunderbird-78.6.1+build1/comm/mail/base/content/gloda-autocomplete-input.js 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/base/content/gloda-autocomplete-input.js 2021-02-05 18:23:40.000000000 +0000
@@ -28,9 +28,6 @@
const { GlodaIMSearcher } = ChromeUtils.import(
"resource:///modules/search_im.jsm"
);
- const { XPCOMUtils } = ChromeUtils.import(
- "resource://gre/modules/XPCOMUtils.jsm"
- );
/**
* The MozGlodaAutocompleteInput widget is used to display the autocomplete search bar.
@@ -80,17 +77,6 @@
super.connectedCallback();
this.setAttribute("is", "gloda-autocomplete-input");
-
- XPCOMUtils.defineLazyPreferenceGetter(
- this,
- "glodaEnabled",
- "mailnews.database.global.indexer.enabled",
- true,
- (pref, oldVal, newVal) => {
- this.toggleAttribute("hidden", !newVal);
- }
- );
-
this.glodaCompleter = null;
// @implements {nsIObserver}
@@ -175,8 +161,6 @@
"autocomplete-did-enter-text"
);
- this.toggleAttribute("hidden", !this.glodaEnabled);
-
// make sure we set our emptytext here from the get-go
if (this.hasAttribute("placeholder")) {
this.placeholder = this.getAttribute("placeholder");
diff -Nru thunderbird-78.6.1+build1/comm/mail/base/content/mailWidgets.js thunderbird-78.7.1+build1/comm/mail/base/content/mailWidgets.js
--- thunderbird-78.6.1+build1/comm/mail/base/content/mailWidgets.js 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/base/content/mailWidgets.js 2021-02-05 18:23:40.000000000 +0000
@@ -2137,12 +2137,13 @@
});
input.addEventListener("keyup", event => {
- // Trigger the onRecipientsChanged method for every letter typed in
- // order to properly update the "Send" button and trigger the save as
- // draft prompt even before the creation of any pill.
+ // Trigger the onRecipientsChanged method for every letter typed or
+ // deleted in order to properly update the "Send" button and trigger
+ // the save as draft prompt even before the creation of any pill.
if (
event.key.length == 1 ||
- (event.key.length > 1 && /[^a-zA-Z0-9]/.test(event.key))
+ (event.key.length > 1 && /[^a-zA-Z0-9]/.test(event.key)) ||
+ ["Backspace", "Delete"].includes(event.key)
) {
onRecipientsChanged(false);
}
diff -Nru thunderbird-78.6.1+build1/comm/mail/base/content/mainMailToolbox.inc.xhtml thunderbird-78.7.1+build1/comm/mail/base/content/mainMailToolbox.inc.xhtml
--- thunderbird-78.6.1+build1/comm/mail/base/content/mainMailToolbox.inc.xhtml 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/base/content/mainMailToolbox.inc.xhtml 2021-02-05 18:23:40.000000000 +0000
@@ -325,7 +325,7 @@
title="&glodaSearch.title;"
align="center"
flex="1"
- class="chromeclass-toolbar-additional">
+ class="gloda-search-widget chromeclass-toolbar-additional">
{
+ for (let widget of document.querySelectorAll(".gloda-search-widget")) {
+ widget.hidden = !newVal;
+ }
+ }
+ );
+ for (let widget of document.querySelectorAll(".gloda-search-widget")) {
+ widget.hidden = !this.gGlodaEnabled;
+ }
+
window.addEventListener("AppCommand", HandleAppCommandEvent, true);
// Set up the appmenus. (This has to happen after the DOM has loaded.)
diff -Nru thunderbird-78.6.1+build1/comm/mail/base/modules/ExtensionsUI.jsm thunderbird-78.7.1+build1/comm/mail/base/modules/ExtensionsUI.jsm
--- thunderbird-78.6.1+build1/comm/mail/base/modules/ExtensionsUI.jsm 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/base/modules/ExtensionsUI.jsm 2021-02-05 18:23:40.000000000 +0000
@@ -886,6 +886,30 @@
});
}
+ // Reject add-ons using the legacy API. We cannot use the general "ignore
+ // unknown APIs" policy, as add-ons using the Legacy API from TB68 will
+ // not do anything, confusing the user.
+ if (data.manifest.legacy) {
+ let subject = {
+ wrappedJSObject: {
+ browser,
+ originatingURI: null,
+ installs: [
+ {
+ addon: info.addon,
+ name: info.addon.name,
+ error: 0,
+ },
+ ],
+ install: null,
+ cancel: null,
+ },
+ };
+ Services.obs.notifyObservers(subject, "addon-install-failed");
+ info.reject();
+ return;
+ }
+
this.showPermissionsPrompt(browser, strings, info.icon, histkey).then(
answer => {
if (answer) {
diff -Nru thunderbird-78.6.1+build1/comm/mail/base/modules/ThemeVariableMap.jsm thunderbird-78.7.1+build1/comm/mail/base/modules/ThemeVariableMap.jsm
--- thunderbird-78.6.1+build1/comm/mail/base/modules/ThemeVariableMap.jsm 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/base/modules/ThemeVariableMap.jsm 2021-02-05 18:23:40.000000000 +0000
@@ -248,6 +248,12 @@
lwtProperty: "sidebar_border",
},
],
+ [
+ "--sidebar-highlight-border-color",
+ {
+ lwtProperty: "sidebar_highlight_border",
+ },
+ ],
];
const ThemeContentPropertyList = [
diff -Nru thunderbird-78.6.1+build1/comm/mail/components/activity/content/activity-widgets.js thunderbird-78.7.1+build1/comm/mail/components/activity/content/activity-widgets.js
--- thunderbird-78.6.1+build1/comm/mail/components/activity/content/activity-widgets.js 2021-01-08 18:56:33.000000000 +0000
+++ thunderbird-78.7.1+build1/comm/mail/components/activity/content/activity-widgets.js 2021-02-05 18:23:40.000000000 +0000
@@ -611,7 +611,7 @@