summaryrefslogtreecommitdiffstats
path: root/toolkit
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:12:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:12:12 +0000
commita7c14e2f29831f4bc5eb18e23e55eb6f7a4e3431 (patch)
tree54617b4f5f04ee87a2c9e3b97cc88b8626859124 /toolkit
parentReleasing progress-linux version 115.7.0esr-1~deb12u1progress7u1. (diff)
downloadfirefox-esr-a7c14e2f29831f4bc5eb18e23e55eb6f7a4e3431.tar.xz
firefox-esr-a7c14e2f29831f4bc5eb18e23e55eb6f7a4e3431.zip
Merging upstream version 115.8.0esr.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit')
-rw-r--r--toolkit/actors/SelectParent.sys.mjs7
-rw-r--r--toolkit/components/autocomplete/nsAutoCompleteController.cpp25
-rw-r--r--toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser.ini2
-rw-r--r--toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs7
-rw-r--r--toolkit/components/telemetry/docs/data/environment.rst4
-rw-r--r--toolkit/components/telemetry/tests/unit/TelemetryEnvironmentTesting.sys.mjs3
-rw-r--r--toolkit/crashreporter/nsExceptionHandler.cpp23
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_aus_ee.pem20
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_int.pem16
-rw-r--r--toolkit/mozapps/handling/content/appChooser.js14
-rw-r--r--toolkit/mozapps/handling/content/handler.css4
11 files changed, 74 insertions, 51 deletions
diff --git a/toolkit/actors/SelectParent.sys.mjs b/toolkit/actors/SelectParent.sys.mjs
index 6c41903994..7513940cab 100644
--- a/toolkit/actors/SelectParent.sys.mjs
+++ b/toolkit/actors/SelectParent.sys.mjs
@@ -385,6 +385,7 @@ export var SelectParentHelper = {
break;
case "fullscreen":
+ case "FullscreenWarningOnScreen":
if (this._currentMenulist) {
this._currentMenulist.menupopup.hidePopup();
}
@@ -444,6 +445,7 @@ export var SelectParentHelper = {
popup.ownerGlobal.addEventListener("mouseup", this, true);
popup.ownerGlobal.addEventListener("keydown", this, true);
popup.ownerGlobal.addEventListener("fullscreen", this, true);
+ popup.ownerGlobal.addEventListener("FullscreenWarningOnScreen", this, true);
},
_unregisterListeners(popup) {
@@ -454,6 +456,11 @@ export var SelectParentHelper = {
popup.ownerGlobal.removeEventListener("mouseup", this, true);
popup.ownerGlobal.removeEventListener("keydown", this, true);
popup.ownerGlobal.removeEventListener("fullscreen", this, true);
+ popup.ownerGlobal.removeEventListener(
+ "FullscreenWarningOnScreen",
+ this,
+ true
+ );
},
/**
diff --git a/toolkit/components/autocomplete/nsAutoCompleteController.cpp b/toolkit/components/autocomplete/nsAutoCompleteController.cpp
index dc9754997b..a10f4ee62f 100644
--- a/toolkit/components/autocomplete/nsAutoCompleteController.cpp
+++ b/toolkit/components/autocomplete/nsAutoCompleteController.cpp
@@ -499,17 +499,24 @@ nsAutoCompleteController::HandleKeyNavigation(uint32_t aKey, bool* _retval) {
}
}
- nsAutoString oldSearchString;
- uint16_t oldResult = 0;
-
// Open the popup if there has been a previous non-errored search, or
// else kick off a new search
- if (!mResults.IsEmpty() &&
- NS_SUCCEEDED(mResults[0]->GetSearchResult(&oldResult)) &&
- oldResult != nsIAutoCompleteResult::RESULT_FAILURE &&
- NS_SUCCEEDED(mResults[0]->GetSearchString(oldSearchString)) &&
- oldSearchString.Equals(mSearchString,
- nsCaseInsensitiveStringComparator)) {
+ bool hadPreviousSearch = false;
+ for (uint32_t i = 0; i < mResults.Length(); ++i) {
+ nsAutoString oldSearchString;
+ uint16_t oldResult = 0;
+ nsIAutoCompleteResult* oldResultObject = mResults[i];
+ if (oldResultObject &&
+ NS_SUCCEEDED(oldResultObject->GetSearchResult(&oldResult)) &&
+ oldResult != nsIAutoCompleteResult::RESULT_FAILURE &&
+ NS_SUCCEEDED(oldResultObject->GetSearchString(oldSearchString)) &&
+ oldSearchString.Equals(mSearchString,
+ nsCaseInsensitiveStringComparator)) {
+ hadPreviousSearch = true;
+ break;
+ }
+ }
+ if (hadPreviousSearch) {
if (mMatchCount) {
OpenPopup();
}
diff --git a/toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser.ini b/toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser.ini
index 8cc00b7d18..4630a86977 100644
--- a/toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser.ini
+++ b/toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser.ini
@@ -20,6 +20,8 @@ support-files =
skip-if = os != "win"
[browser_sma_show_firefox_accounts.js]
[browser_sma_show_migration_wizard.js]
+skip-if =
+ os == "mac" && os_version == "10.15" && debug # Bug 1837646
[browser_sma.js]
[browser_sma_docs.js]
[browser_sma_accept_doh.js]
diff --git a/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs b/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
index 26c4847770..c5d99acf60 100644
--- a/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
@@ -1907,6 +1907,13 @@ EnvironmentCache.prototype = {
this._osData.kernelVersion = forceToStringOrNull(
getSysinfoProperty("kernel_version", null)
);
+ } else if (AppConstants.platform == "linux") {
+ this._osData.distro = forceToStringOrNull(
+ getSysinfoProperty("distro", null)
+ );
+ this._osData.distroVersion = forceToStringOrNull(
+ getSysinfoProperty("distroVersion", null)
+ );
} else if (AppConstants.platform === "win") {
// The path to the "UBR" key, queried to get additional version details on Windows.
const WINDOWS_UBR_KEY_PATH =
diff --git a/toolkit/components/telemetry/docs/data/environment.rst b/toolkit/components/telemetry/docs/data/environment.rst
index b61c2a35e4..8b7c38ef89 100644
--- a/toolkit/components/telemetry/docs/data/environment.rst
+++ b/toolkit/components/telemetry/docs/data/environment.rst
@@ -160,7 +160,9 @@ Structure:
installYear: <number>, // windows only or null on failure
locale: <string>, // "en" or null on failure
hasPrefetch: <bool>, // windows only, or null on failure
- hasSuperfetch: <bool>, // windows only, or nul on failure
+ hasSuperfetch: <bool>, // windows only, or null on failure
+ distro: <string>, // linux only, or null on failure
+ distroVersion: <string>, // linux only, or null on failure
},
hdd: {
profile: { // hdd where the profile folder is located
diff --git a/toolkit/components/telemetry/tests/unit/TelemetryEnvironmentTesting.sys.mjs b/toolkit/components/telemetry/tests/unit/TelemetryEnvironmentTesting.sys.mjs
index da12fb74f5..3d07ae3e84 100644
--- a/toolkit/components/telemetry/tests/unit/TelemetryEnvironmentTesting.sys.mjs
+++ b/toolkit/components/telemetry/tests/unit/TelemetryEnvironmentTesting.sys.mjs
@@ -605,6 +605,9 @@ export var TelemetryEnvironmentTesting = {
}
} else if (gIsAndroid) {
lazy.Assert.ok(this.checkNullOrString(osData.kernelVersion));
+ } else if (gIsLinux) {
+ lazy.Assert.ok(this.checkNullOrString(osData.distro));
+ lazy.Assert.ok(this.checkNullOrString(osData.distroVersion));
}
for (let disk of EXPECTED_HDD_FIELDS) {
diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp
index aca9248147..534f5ab48c 100644
--- a/toolkit/crashreporter/nsExceptionHandler.cpp
+++ b/toolkit/crashreporter/nsExceptionHandler.cpp
@@ -1532,21 +1532,20 @@ bool MinidumpCallback(
WriteAnnotationsForMainProcessCrash(apiData, addrInfo, crashTime);
}
- if (!doReport) {
-#ifdef XP_WIN
- TerminateProcess(GetCurrentProcess(), 1);
-#endif // XP_WIN
- return returnValue;
- }
-
+ if (doReport && isSafeToDump) {
+ // We launch the crash reporter client/dialog only if we've been explicitly
+ // asked to report crashes and if we weren't already trying to unset the
+ // exception handler (which is indicated by isSafeToDump being false).
#if defined(MOZ_WIDGET_ANDROID) // Android
- returnValue =
- LaunchCrashHandlerService(crashReporterPath.c_str(), minidumpPath);
+ returnValue =
+ LaunchCrashHandlerService(crashReporterPath.c_str(), minidumpPath);
#else // Windows, Mac, Linux, etc...
- returnValue = LaunchProgram(crashReporterPath.c_str(), minidumpPath);
-# ifdef XP_WIN
+ returnValue = LaunchProgram(crashReporterPath.c_str(), minidumpPath);
+#endif
+ }
+
+#ifdef XP_WIN
TerminateProcess(GetCurrentProcess(), 1);
-# endif
#endif
return returnValue;
diff --git a/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_aus_ee.pem b/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_aus_ee.pem
index 727f5fbf1f..e7933cc864 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_aus_ee.pem
+++ b/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_aus_ee.pem
@@ -1,15 +1,15 @@
-----BEGIN CERTIFICATE-----
-MIICRzCCAS+gAwIBAgIUHTYZB656hjXTPTOENW1guxnd52owDQYJKoZIhvcNAQEL
-BQAwETEPMA0GA1UEAwwGaW50LUNBMCIYDzIwMjExMTI3MDAwMDAwWhgPMjAyNDAy
-MDUwMDAwMDBaMA0xCzAJBgNVBAMMAmVlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE
+MIICRzCCAS+gAwIBAgIUbctVfUWXUmfxzCRUBeXixFrQuOEwDQYJKoZIhvcNAQEL
+BQAwETEPMA0GA1UEAwwGaW50LUNBMCIYDzIwMjIxMTI3MDAwMDAwWhgPMjAyNTAy
+MDQwMDAwMDBaMA0xCzAJBgNVBAMMAmVlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE
oWhyQzYrXHsYifN5FUYVocc/tI3uhj4CKRXbYI4lLeS3Ey2ozpjoMVNOapwMCwnI
1jmt6DIG5bqBNHOhH6Mw4F2oyW5Dg/4nhz2pcQO+KIjP8ALwWvcaH93Mg3SqbqnO
o0UwQzATBgNVHSUEDDAKBggrBgEFBQcDAzAsBgNVHREEJTAjgiFhdXMuY29udGVu
-dC1zaWduYXR1cmUubW96aWxsYS5vcmcwDQYJKoZIhvcNAQELBQADggEBALbaJLMG
-X6B4ICeFWkEmwIHpDklRm17teCCZhUUTm9c2gBoz/32hBEp9XwIZVFcD4AVpJuKQ
-8uE1iy2ZKemmgwg/wzq+ktwmQ0unlHyXvDPo/3mhrswEBxS8bmZLYZSUlOi9eZ82
-hsK5TfWVkRLdmLKr+7z4acfZL1Q6Y2yz26R2vSXGbvs6V0IkGIJyrzrAQjXkBS8j
-Xx03wTI2z9PLNWyh4OQTfjDvcI79FpVIp0JsoV96Uil+L1opdXMc3QiXE5OggrGY
-p6ZSEKBKw9N/8SOcK5iEEJ84qcG7uPnQWNBwgFeVVCqByDWKRhBmZB2CicCd5qvA
-YSoHlKlTgCdmYCQ=
+dC1zaWduYXR1cmUubW96aWxsYS5vcmcwDQYJKoZIhvcNAQELBQADggEBAF5IT9HZ
+1ej+FAXbs2e/LOojJAulc2sxbeaa5V3rJWIiSq8iMj/ZV8dRaa96x3M6azdPiJjD
+/VT4mNF9/KBC8YoEwfJe4A9MR8SmEIe/2EMIzmZVdTv1LYsKqRuuwvbGFssBj7lW
+U9+V5KzjxtKU/RQfak5Iz+vnl6s4LIt92SLdOooPqDGj2K3FI9dg2Fqwm6vF+6zi
+8yZ7/zg4PQcY6t2C6l0e9iAFM+wzhtTPq1AvFdq5hdOil6AS8Ivb0elMwBzsLjr5
+COLcKmCeRQ/8JFhJ48C+/MQkp3gbgXvVR3fcufufSC2YaLmMb7MIhaJwNCT0nO87
+ItpI1owSYrJOnQ0=
-----END CERTIFICATE-----
diff --git a/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_int.pem b/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_int.pem
index d615eccf22..6c80b1be43 100644
--- a/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_int.pem
+++ b/toolkit/mozapps/extensions/test/xpcshell/data/productaddons/content_signing_int.pem
@@ -1,7 +1,7 @@
-----BEGIN CERTIFICATE-----
-MIIC8TCCAdmgAwIBAgIUNZb51bNpKyzQtWTCj5zrdME7cKYwDQYJKoZIhvcNAQEL
+MIIC8TCCAdmgAwIBAgIUGU8IXEaU5Al531xp9aITCfLjy/cwDQYJKoZIhvcNAQEL
BQAwKTEnMCUGA1UEAwweeHBjc2hlbGwgc2lnbmVkIGFwcHMgdGVzdCByb290MCIY
-DzIwMjExMTI3MDAwMDAwWhgPMjAyNDAyMDUwMDAwMDBaMBExDzANBgNVBAMMBmlu
+DzIwMjIxMTI3MDAwMDAwWhgPMjAyNTAyMDQwMDAwMDBaMBExDzANBgNVBAMMBmlu
dC1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALqIUahEjhbWQf1u
togGNhA9PBPZ6uQ1SrTs9WhXbCR7wcclqODYH72xnAabbhqG8mvir1p1a2pkcQh6
pVqnRYf3HNUknAJ+zUP8HmnQOCApk6sgw0nk27lMwmtsDu0Vgg/xfq1pGrHTAjqL
@@ -9,10 +9,10 @@ KkHup3DgDw2N/WYLK7AkkqR9uYhheZCxV5A90jvF4LhIH6g304hD7ycW2FW3Zlqq
fgKQLzp7EIAGJMwcbJetlmFbt+KWEsB1MaMMkd20yvf8rR0l0wnvuRcOp2jhs3sv
Im9p47SKlWEd7ibWJZ2rkQhONsscJAQsvxaLL+Xxj5kXMbiz/kkj+nJRxDHVA6za
GAo17Y0CAwEAAaMlMCMwDAYDVR0TBAUwAwEB/zATBgNVHSUEDDAKBggrBgEFBQcD
-AzANBgkqhkiG9w0BAQsFAAOCAQEAefvKJnF/4qRY9sf/jYCPhWyngBx6JhWFJKiy
-IUHmejn9q/LUX3nskHXA4gAt+KF9hfk9Nx5naL5DaYOkvETawdrSw55Hvphi4MB2
-yHManuj+yplqr8rtDh8Tb2Wm/AeiBqKMTa4AFN9xPbKOrUAVgU+VsXlEIUmOzEI+
-E0HeeIoPCCa6vWPpwhKb4LUlVupe3toJHVbFSp2KcD4gCRsgK60lyqZBosAG8Sat
-Vk7XLPv152/jl7j+pYqnlwabF/LEyVSqegVvvr481kgX8RyEjiPx2wNYYqUF3CPG
-SE2lDXWy629KUGwTH9rUpayMqbfL5bQ9fSGA5vE9pT7vlbBaRg==
+AzANBgkqhkiG9w0BAQsFAAOCAQEAQw8azGUnMeiHd6BYf8LZDK2dqsbVpWuDT/td
+LNQcYStX4jgPSfSxm9Mg6osXBnEKF83qXoNeP6Zt84WSJDotEf0WlC5JfNZFCMry
+vfd7odumxp/00LYaMbVK8Wz2LXXXwjsYF8xoZz6zq1DYviXIMluhcvCMepnCUnbP
+hY12tcznmHiHCOoEB1qurCfW8MkIz/GkLa409i7wFE9rsAeuAKgtdTStY5g8qp5j
+2KpmTzgfCeDgKwOSEUyW4YZXrvHYpPSnLiFsWvdxG3/D9aZExw1fipvzhpvqZYv9
+u2e7Qpt98Cd+Kitom/uDNmX9hv6E3eBThQI8QpTf43z6w/KD4A==
-----END CERTIFICATE-----
diff --git a/toolkit/mozapps/handling/content/appChooser.js b/toolkit/mozapps/handling/content/appChooser.js
index f12ec333a2..2958ad68b4 100644
--- a/toolkit/mozapps/handling/content/appChooser.js
+++ b/toolkit/mozapps/handling/content/appChooser.js
@@ -13,7 +13,7 @@ class MozHandler extends window.MozElements.MozRichlistitem {
static get markup() {
return `
<vbox pack="center">
- <html:img height="32" width="32"/>
+ <html:img alt="" height="32" width="32" loading="lazy" />
</vbox>
<vbox flex="1">
<label class="name"/>
@@ -49,10 +49,6 @@ window.addEventListener("DOMContentLoaded", () => dialog.initialize(), {
once: true,
});
-let loadPromise = new Promise(resolve => {
- window.addEventListener("load", resolve, { once: true });
-});
-
let dialog = {
/**
* This function initializes the content of the dialog.
@@ -131,9 +127,7 @@ let dialog = {
if (app instanceof Ci.nsILocalHandlerApp) {
// See if we have an nsILocalHandlerApp and set the icon
let uri = Services.io.newFileURI(app.executable);
- loadPromise.then(() => {
- elm.setAttribute("image", "moz-icon://" + uri.spec + "?size=32");
- });
+ elm.setAttribute("image", "moz-icon://" + uri.spec + "?size=32");
} else if (app instanceof Ci.nsIWebHandlerApp) {
let uri = Services.io.newURI(app.uriTemplate);
if (/^https?$/.test(uri.scheme)) {
@@ -143,9 +137,7 @@ let dialog = {
// and users won't visit the handler's URL template, they'll only
// visit URLs derived from that template (i.e. with %s in the template
// replaced by the URL of the content being handled).
- loadPromise.then(() => {
- elm.setAttribute("image", uri.prePath + "/favicon.ico");
- });
+ elm.setAttribute("image", uri.prePath + "/favicon.ico");
}
elm.setAttribute("description", uri.prePath);
diff --git a/toolkit/mozapps/handling/content/handler.css b/toolkit/mozapps/handling/content/handler.css
index d465ffa97d..2e60b1b41f 100644
--- a/toolkit/mozapps/handling/content/handler.css
+++ b/toolkit/mozapps/handling/content/handler.css
@@ -32,6 +32,10 @@ label, description {
margin: 0 4px 16px;
}
+#chooser img:is(:-moz-broken, :not([src])) {
+ visibility: hidden;
+}
+
/* avoid double inline margins when #description is nested: */
#description-box > #description {
margin-inline: 0;