# HG changeset patch # User Wolfgang Rosenauer # Date 1683666558 -7200 # Node ID a2caa2a2494f9847db7a35b5d879eaab492f6f4b # Parent 17bc5a064ab4c75829c4b77fa376165a107f3d6c Firefox 112.0.2 diff -r 17bc5a064ab4 -r a2caa2a2494f MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Mon Apr 10 23:42:16 2023 +0200 +++ b/MozillaFirefox/MozillaFirefox.changes Tue May 09 23:09:18 2023 +0200 @@ -1,4 +1,99 @@ ------------------------------------------------------------------- +Sun May 7 19:47:00 UTC 2023 - Aaron Puchert + +- Fix i586 build by reducing debug info to -g1. (boo#1210168) + +------------------------------------------------------------------- +Tue Apr 25 16:01:07 UTC 2023 - Andreas Stieger + +- Mozilla Firefox 112.0.2 + * Fix a high memory usage issue with animated images in minimized + (or completely covered) windows, especially when using animated + themes (bmo#1828587) + * Fix an issue where Linux users with bitmap fonts installed may + have had entire sections of text invisible to them on some + sites (bmo#1827950) + +------------------------------------------------------------------- +Fri Apr 21 09:48:25 UTC 2023 - Manfred Hollstein + +- Include Leap 15.5 in check for which python version is required. + +------------------------------------------------------------------- +Thu Apr 20 13:24:13 UTC 2023 - Andreas Stieger + +- Mozilla Firefox 112.0.1 + * Fix a bug where cookie dates appear to be set in the far + future after updating Firefox. This may have caused cookies to + be unintentionally purged (bmo#1827669) + +------------------------------------------------------------------- +Mon Apr 10 21:58:19 UTC 2023 - Wolfgang Rosenauer + +- Mozilla Firefox 112.0 + * https://www.mozilla.org/en-US/firefox/112.0/releasenotes/ + MFSA 2023-13 (bsc#1210212) + * CVE-2023-29531 (bmo#1794292) + Out-of-bound memory access in WebGL on macOS + * CVE-2023-29532 (bmo#1806394) + Mozilla Maintenance Service Write-lock bypass + * CVE-2023-29533 (bmo#1798219, bmo#1814597) + Fullscreen notification obscured + * CVE-2023-29534 (bmo#1816007, bmo#1816059, bmo#1821155, bmo#1821576, + bmo#1821906, bmo#1822298, bmo#1822305) + Fullscreen notification could have been obscured on Firefox + for Android + * MFSA-TMP-2023-0001 (bmo#1819244) + Double-free in libwebp + * CVE-2023-29535 (bmo#1820543) + Potential Memory Corruption following Garbage Collector compaction + * CVE-2023-29536 (bmo#1821959) + Invalid free from JavaScript code + * CVE-2023-29537 (bmo#1823365, bmo#1824200, bmo#1825569) + Data Races in font initialization code + * CVE-2023-29538 (bmo#1685403) + Directory information could have been leaked to WebExtensions + * CVE-2023-29539 (bmo#1784348) + Content-Disposition filename truncation leads to Reflected + File Download + * CVE-2023-29540 (bmo#1790542) + Iframe sandbox bypass using redirects and sourceMappingUrls + * CVE-2023-29541 (bmo#1810191) + Files with malicious extensions could have been downloaded + unsafely on Linux + * CVE-2023-29542 (bmo#1810793, bmo#1815062) + Bypass of file download extension restrictions + * CVE-2023-29543 (bmo#1816158) + Use-after-free in debugging APIs + * CVE-2023-29544 (bmo#1818781) + Memory Corruption in garbage collector + * CVE-2023-29545 (bmo#1823077) + Windows Save As dialog resolved environment variables + * CVE-2023-29546 (bmo#1780842) + Screen recording in Private Browsing included address bar on + Android + * CVE-2023-29547 (bmo#1783536) + Secure document cookie could be spoofed with insecure cookie + * CVE-2023-29548 (bmo#1822754) + Incorrect optimization result on ARM64 + * CVE-2023-29549 (bmo#1823042) + Javascript's bind function may have failed + * CVE-2023-29550 (bmo#1720594, bmo#1751945, bmo#1812498, bmo#1814217, + bmo#1818357, bmo#1818762, bmo#1819493, bmo#1820389, bmo#1820602, + bmo#1821448, bmo#1822413, bmo#1824828) + Memory safety bugs fixed in Firefox 112 and Firefox ESR 102.10 + * CVE-2023-29551 (bmo#1763625, bmo#1814314, bmo#1815798, bmo#1815890, + bmo#1819239, bmo#1819465, bmo#1819486, bmo#1819492, bmo#1819957, + bmo#1820514, bmo#1820776, bmo#1821838, bmo#1822175, bmo#1823547) + Memory safety bugs fixed in Firefox 112 +- requires + * NSS 3.89 + * Python >= 3.7 (for build) +- removed obsolete mozilla-bmo1807652.patch +- Fix Icons displayed incorrectly on GNOME/wayland via WMCLASS + in desktop file + +------------------------------------------------------------------- Mon Mar 27 15:17:17 UTC 2023 - Wolfgang Rosenauer - Mozilla Firefox 111.0.1 (boo#1209688) diff -r 17bc5a064ab4 -r a2caa2a2494f MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Mon Apr 10 23:42:16 2023 +0200 +++ b/MozillaFirefox/MozillaFirefox.spec Tue May 09 23:09:18 2023 +0200 @@ -28,9 +28,9 @@ # orig_suffix b3 # major 69 # mainver %%major.99 -%define major 111 -%define mainver %major.0.1 -%define orig_version 111.0.1 +%define major 112 +%define mainver %major.0.2 +%define orig_version 112.0.2 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -120,17 +120,23 @@ BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.35 -BuildRequires: mozilla-nss-devel >= 3.88.1 +BuildRequires: mozilla-nss-devel >= 3.89 BuildRequires: nasm >= 2.14 BuildRequires: nodejs >= 10.22.1 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 BuildRequires: python-libxml2 BuildRequires: python36 %else -BuildRequires: python3 >= 3.5 +%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150500 +BuildRequires: python39 +BuildRequires: python39-curses +BuildRequires: python39-devel +%else +BuildRequires: python3 >= 3.7 BuildRequires: python3-curses BuildRequires: python3-devel %endif +%endif BuildRequires: rust-cbindgen >= 0.24.3 BuildRequires: unzip BuildRequires: update-desktop-files @@ -228,7 +234,6 @@ Patch25: one_swizzle_to_rule_them_all.patch Patch26: svg-rendering.patch Patch27: mozilla-buildfixes.patch -Patch28: mozilla-bmo1807652.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -247,7 +252,7 @@ %if 0%{?devpkg} == 0 Obsoletes: %{name}-devel < %{version} %endif -ExcludeArch: armv6l armv6hl ppc ppc64 ppc64le %ix86 +ExcludeArch: armv6l armv6hl ppc ppc64 ppc64le %description Mozilla Firefox is a standalone web browser, designed for standards @@ -396,6 +401,10 @@ export CFLAGS="\$CFLAGS -mminimal-toc" %endif %endif +%ifarch %ix86 +# Not enough memory on 32-bit systems, reduce debug info. +export CFLAGS="\$CFLAGS -g1" +%endif export CXXFLAGS="\$CFLAGS" export MOZCONFIG=$RPM_BUILD_DIR/mozconfig EOF @@ -618,7 +627,8 @@ mkdir -p %{buildroot}%{_datadir}/applications sed "s:%%NAME:%{appname}:g s:%%EXEC:%{progname}:g -s:%%ICON:%{progname}:g" \ +s:%%ICON:%{progname}:g +s:%%WMCLASS:%{progname}%{major}:g" \ %{SOURCE1} > %{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop %suse_update_desktop_file %{desktop_file_name} Network WebBrowser GTK # additional mime-types diff -r 17bc5a064ab4 -r a2caa2a2494f MozillaFirefox/mozilla-bmo1807652.patch --- a/MozillaFirefox/mozilla-bmo1807652.patch Mon Apr 10 23:42:16 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -../mozilla-bmo1807652.patch \ No newline at end of file diff -r 17bc5a064ab4 -r a2caa2a2494f MozillaFirefox/tar_stamps --- a/MozillaFirefox/tar_stamps Mon Apr 10 23:42:16 2023 +0200 +++ b/MozillaFirefox/tar_stamps Tue May 09 23:09:18 2023 +0200 @@ -1,10 +1,10 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="111.0.1" +VERSION="112.0.2" VERSION_SUFFIX="" -PREV_VERSION="111.0" +PREV_VERSION="112.0.1" PREV_VERSION_SUFFIX="" #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release" -RELEASE_TAG="6e9b4327e238def619d5640de74b611fe51834ba" -RELEASE_TIMESTAMP="20230321111920" +RELEASE_TAG="50d8cc21a93a1343250b71090f4a9c9fee37091c" +RELEASE_TIMESTAMP="20230424110519" diff -r 17bc5a064ab4 -r a2caa2a2494f mozilla-bmo1568145.patch --- a/mozilla-bmo1568145.patch Mon Apr 10 23:42:16 2023 +0200 +++ b/mozilla-bmo1568145.patch Tue May 09 23:09:18 2023 +0200 @@ -10,14 +10,14 @@ diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py --- a/python/mozbuild/mozbuild/action/langpack_manifest.py +++ b/python/mozbuild/mozbuild/action/langpack_manifest.py -@@ -13,16 +13,17 @@ - +@@ -14,16 +14,17 @@ import argparse import datetime import io import json import logging import os + import re import sys +import time @@ -28,7 +28,7 @@ from fluent.syntax.parser import FluentParser from mozpack.chrome.manifest import Manifest, ManifestLocale, parse_manifest -@@ -101,17 +102,17 @@ def get_dt_from_hg(path): +@@ -102,17 +103,17 @@ def get_dt_from_hg(path): # ts == "20170914215617" ### def get_timestamp_for_locale(path): diff -r 17bc5a064ab4 -r a2caa2a2494f mozilla-bmo1807652.patch --- a/mozilla-bmo1807652.patch Mon Apr 10 23:42:16 2023 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp ---- a/tools/profiler/core/platform.cpp -+++ b/tools/profiler/core/platform.cpp -@@ -1176,11 +1176,11 @@ - if (!profiledThreadData) { - // This thread was not profiled, continue with the next one. - continue; - } - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = -- offThreadRef.LockedRWFromAnyThread(); -+ offThreadRef.GetLockedRWFromAnyThread(); - MOZ_RELEASE_ASSERT(array.append(ProfiledThreadListElement{ - profiledThreadData->Info().RegisterTime(), - lockedThreadData->GetJSContext(), profiledThreadData})); - } - -@@ -4208,11 +4208,11 @@ - ProfileBufferEntry::Kind::RunningTimes, runningTimesDiff); - } - - if (threadStackSampling) { - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock -- lockedThreadData = offThreadRef.LockedRWFromAnyThread(); -+ lockedThreadData = offThreadRef.GetLockedRWFromAnyThread(); - // Suspend the thread and collect its stack data in the local - // buffer. - mSampler.SuspendAndSampleAndResumeThread( - lock, lockedThreadData.DataCRef(), now, - [&](const Registers& aRegs, const TimeStamp& aNow) { -@@ -4922,11 +4922,11 @@ - ThreadProfilingFeatures threadProfilingFeatures = - ActivePS::ProfilingFeaturesForThread( - aLock, aOffThreadRef.UnlockedConstReaderCRef().Info()); - if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) { - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock -- lockedRWFromAnyThread = aOffThreadRef.LockedRWFromAnyThread(); -+ lockedRWFromAnyThread = aOffThreadRef.GetLockedRWFromAnyThread(); - - ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread( - aLock, MakeUnique( - aOffThreadRef.UnlockedConstReaderCRef().Info())); - lockedRWFromAnyThread->SetProfilingFeaturesAndData( -@@ -5788,11 +5788,11 @@ - - ThreadProfilingFeatures threadProfilingFeatures = - ActivePS::ProfilingFeaturesForThread(aLock, info); - if (threadProfilingFeatures != ThreadProfilingFeatures::NotProfiled) { - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = -- offThreadRef.LockedRWFromAnyThread(); -+ offThreadRef.GetLockedRWFromAnyThread(); - ProfiledThreadData* profiledThreadData = ActivePS::AddLiveProfiledThread( - aLock, MakeUnique(info)); - lockedThreadData->SetProfilingFeaturesAndData(threadProfilingFeatures, - profiledThreadData, aLock); - lockedThreadData->GetNewCpuTimeInNs(); -@@ -6012,11 +6012,11 @@ - ThreadProfilingFeatures::NotProfiled) { - continue; - } - - ThreadRegistry::OffThreadRef::RWFromAnyThreadWithLock lockedThreadData = -- offThreadRef.LockedRWFromAnyThread(); -+ offThreadRef.GetLockedRWFromAnyThread(); - - lockedThreadData->ClearProfilingFeaturesAndData(aLock); - - if (ActivePS::FeatureJS(aLock)) { - lockedThreadData->StopJSSampling(); -@@ -6355,11 +6355,11 @@ - - // We don't call StopJSSampling() here; there's no point doing that for a JS - // thread that is in the process of disappearing. - - ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData = -- aOnThreadRef.LockedRWOnThread(); -+ aOnThreadRef.GetLockedRWOnThread(); - - ProfiledThreadData* profiledThreadData = - lockedThreadData->GetProfiledThreadData(lock); - lockedThreadData->ClearProfilingFeaturesAndData(lock); - -@@ -6876,11 +6876,11 @@ - } - - // The profiler mutex must be locked before the ThreadRegistration's. - PSAutoLock lock; - ThreadRegistration::OnThreadRef::RWOnThreadWithLock lockedThreadData = -- aOnThreadRef.LockedRWOnThread(); -+ aOnThreadRef.GetLockedRWOnThread(); - - if (ProfiledThreadData* profiledThreadData = - lockedThreadData->GetProfiledThreadData(lock); - profiledThreadData && ActivePS::Exists(lock) && - ActivePS::FeatureJS(lock)) { -diff --git a/tools/profiler/public/ProfilerThreadRegistration.h b/tools/profiler/public/ProfilerThreadRegistration.h ---- a/tools/profiler/public/ProfilerThreadRegistration.h -+++ b/tools/profiler/public/ProfilerThreadRegistration.h -@@ -212,18 +212,18 @@ - - LockedRWOnThread& mLockedRWOnThread; - DataLock mDataLock; - }; - -- [[nodiscard]] RWOnThreadWithLock LockedRWOnThread() { -+ [[nodiscard]] RWOnThreadWithLock GetLockedRWOnThread() { - return RWOnThreadWithLock{mThreadRegistration->mData, - mThreadRegistration->mDataMutex}; - } - - template - auto WithLockedRWOnThread(F&& aF) { -- RWOnThreadWithLock lockedData = LockedRWOnThread(); -+ RWOnThreadWithLock lockedData = GetLockedRWOnThread(); - return std::forward(aF)(lockedData.DataRef()); - } - - // This is needed to allow OnThreadPtr::operator-> to return a temporary - // OnThreadRef object, for which `->` must work; Here it provides a pointer -diff --git a/tools/profiler/public/ProfilerThreadRegistry.h b/tools/profiler/public/ProfilerThreadRegistry.h ---- a/tools/profiler/public/ProfilerThreadRegistry.h -+++ b/tools/profiler/public/ProfilerThreadRegistry.h -@@ -175,18 +175,18 @@ - - LockedRWFromAnyThread& mLockedRWFromAnyThread; - ThreadRegistration::DataLock mDataLock; - }; - -- [[nodiscard]] RWFromAnyThreadWithLock LockedRWFromAnyThread() { -+ [[nodiscard]] RWFromAnyThreadWithLock GetLockedRWFromAnyThread() { - return RWFromAnyThreadWithLock{mThreadRegistration->mData, - mThreadRegistration->mDataMutex}; - } - - template - auto WithLockedRWFromAnyThread(F&& aF) { -- RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread(); -+ RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread(); - return std::forward(aF)(lockedData.DataRef()); - } - - private: - // Only ThreadRegistry should construct an OnThreadRef. -diff --git a/tools/profiler/tests/gtest/GeckoProfiler.cpp b/tools/profiler/tests/gtest/GeckoProfiler.cpp ---- a/tools/profiler/tests/gtest/GeckoProfiler.cpp -+++ b/tools/profiler/tests/gtest/GeckoProfiler.cpp -@@ -620,11 +620,11 @@ - // non-const LockedRWOnThread - - EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread()); - { - TR::OnThreadRef::RWOnThreadWithLock rwOnThreadWithLock = -- aOnThreadRef.LockedRWOnThread(); -+ aOnThreadRef.GetLockedRWOnThread(); - EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread()); - TestConstLockedRWOnThread(rwOnThreadWithLock.DataCRef(), - beforeRegistration, afterRegistration, - &onStackChar); - TestLockedRWOnThread(rwOnThreadWithLock.DataRef(), beforeRegistration, -@@ -1019,11 +1019,11 @@ - // non-const LockedRWFromAnyThread - - EXPECT_FALSE(TR::IsDataMutexLockedOnCurrentThread()); - { - TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock = -- aOffThreadRef.LockedRWFromAnyThread(); -+ aOffThreadRef.GetLockedRWFromAnyThread(); - if (profiler_current_thread_id() == testThreadId) { - EXPECT_TRUE(TR::IsDataMutexLockedOnCurrentThread()); - } - TestLockedRWFromAnyThread(rwFromAnyThreadWithLock.DataRef(), - beforeRegistration, afterRegistration, -@@ -1156,11 +1156,11 @@ - aOffThreadRef) { - if (otherThreadLoops % 1000 == 0) { - PR_Sleep(PR_MillisecondsToInterval(1)); - } - TRy::OffThreadRef::RWFromAnyThreadWithLock rwFromAnyThreadWithLock = -- aOffThreadRef.LockedRWFromAnyThread(); -+ aOffThreadRef.GetLockedRWFromAnyThread(); - ++otherThreadReads; - if (otherThreadReads % 1000 == 0) { - PR_Sleep(PR_MillisecondsToInterval(1)); - } - }); - diff -r 17bc5a064ab4 -r a2caa2a2494f mozilla-kde.patch --- a/mozilla-kde.patch Mon Apr 10 23:42:16 2023 +0200 +++ b/mozilla-kde.patch Tue May 09 23:09:18 2023 +0200 @@ -3,7 +3,7 @@ # Date 1559294891 -7200 # Fri May 31 11:28:11 2019 +0200 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112 -# Parent 191cd9e24a9e0812f74c808ceef611c8b10141e1 +# Parent b6b4d42b51c6a815116505bf7e9b34a5e2f0c65b Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -31,7 +31,7 @@ #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4882,16 +4883,27 @@ nsresult Preferences::InitInitialObjects +@@ -4908,16 +4909,27 @@ nsresult Preferences::InitInitialObjects "unix.js" # if defined(_AIX) , @@ -57,9 +57,9 @@ NS_WARNING("Error parsing application default preferences."); } - #if defined(MOZ_WIDGET_GTK) - // Under Flatpak/Snap package, load /etc/firefox/defaults/pref/*.js. -@@ -4973,17 +4985,17 @@ nsresult Preferences::InitInitialObjects + // Load jar:$app/omni.jar!/defaults/preferences/*.js + // or jar:$gre/omni.jar!/defaults/preferences/*.js. +@@ -4982,17 +4994,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -73,11 +73,11 @@ } } - if (XRE_IsParentProcess()) { - SetupTelemetryPref(); - } - - if (aIsStartup) { + #if defined(MOZ_WIDGET_GTK) + // To ensure the system-wide preferences are not overwritten by + // firefox/browser/defauts/preferences/*.js we need to load + // the /etc/firefox/defaults/pref/*.js settings as last. + // Under Flatpak, the NS_OS_SYSTEM_CONFIG_DIR points to /app/etc/firefox diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build --- a/modules/libpref/moz.build +++ b/modules/libpref/moz.build @@ -165,7 +165,7 @@ diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm --- a/toolkit/mozapps/downloads/HelperAppDlg.jsm +++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm -@@ -1240,36 +1240,66 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1250,36 +1250,66 @@ nsUnknownContentTypeDialog.prototype = { params.handlerApp && params.handlerApp.executable && params.handlerApp.executable.isFile() @@ -347,7 +347,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co +@@ -91,17 +91,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co "../components/printingui", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit": @@ -1055,7 +1055,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp --- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp -@@ -1,46 +1,49 @@ +@@ -1,48 +1,51 @@ /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * This Source Code Form is subject to the terms of the Mozilla Public @@ -1082,10 +1082,12 @@ NS_IMETHODIMP nsMIMEInfoUnix::GetHasDefaultHandler(bool* _retval) { - // if mDefaultApplication is set, it means the application has been set from + // if a default app is set, it means the application has been set from // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to // give the GNOME answer. - if (mDefaultApplication) return nsMIMEInfoImpl::GetHasDefaultHandler(_retval); + if (GetDefaultApplication()) { + return nsMIMEInfoImpl::GetHasDefaultHandler(_retval); + } *_retval = false; @@ -1110,11 +1112,11 @@ if (*_retval) return NS_OK; return NS_OK; -@@ -50,16 +53,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi - // if mDefaultApplication is set, it means the application has been set from - // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to +@@ -54,16 +57,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi // give the GNOME answer. - if (mDefaultApplication) return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile); + if (GetDefaultApplication()) { + return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile); + } nsAutoCString nativePath; aFile->GetNativePath(nativePath); @@ -1130,10 +1132,10 @@ + if( nsKDEUtils::command( command )) + return NS_OK; + } -+ if (!mDefaultApplication) ++ if (!GetDefaultApplication()) + return NS_ERROR_FILE_NOT_FOUND; + -+ return LaunchWithIProcess(mDefaultApplication, nativePath); ++ return LaunchWithIProcess(GetDefaultApplication(), nativePath); + } + nsCOMPtr giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); @@ -1245,7 +1247,7 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build --- a/widget/gtk/moz.build +++ b/widget/gtk/moz.build -@@ -147,16 +147,17 @@ FINAL_LIBRARY = "xul" +@@ -142,16 +142,17 @@ FINAL_LIBRARY = "xul" LOCAL_INCLUDES += [ "/layout/base", @@ -1283,7 +1285,7 @@ #include "nsGtkUtils.h" #include "nsIFileURL.h" #include "nsIGIOService.h" -@@ -21,16 +22,18 @@ +@@ -23,16 +24,18 @@ #include "nsArrayEnumerator.h" #include "nsEnumeratorUtils.h" #include "nsNetUtil.h" @@ -1302,7 +1304,7 @@ # include "Units.h" extern mozilla::LazyLogModule gWidgetLog; # define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args) -@@ -235,17 +238,19 @@ nsFilePicker::AppendFilters(int32_t aFil +@@ -237,17 +240,19 @@ nsFilePicker::AppendFilters(int32_t aFil mAllowURLs = !!(aFilterMask & filterAllowURLs); return nsBaseFilePicker::AppendFilters(aFilterMask); } @@ -1323,7 +1325,7 @@ mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -345,16 +350,39 @@ nsresult nsFilePicker::Show(int16_t* aRe +@@ -347,16 +352,39 @@ nsresult nsFilePicker::Show(nsIFilePicke return NS_OK; } @@ -1339,7 +1341,7 @@ + NS_ADDREF_THIS(); + g_idle_add([](gpointer data) -> gboolean { + nsFilePicker* queuedPicker = (nsFilePicker*) data; -+ int16_t result; ++ nsIFilePicker::ResultCode result; + queuedPicker->kdeFileDialog(&result); + if (queuedPicker->mCallback) { + queuedPicker->mCallback->Done(result); @@ -1363,7 +1365,7 @@ GtkFileChooserAction action = GetGtkFileChooserAction(mMode); const gchar* accept_button; -@@ -574,16 +602,244 @@ void nsFilePicker::Done(void* file_choos +@@ -628,16 +656,244 @@ void nsFilePicker::Done(void* file_choos mCallback->Done(result); mCallback = nullptr; } else { @@ -1395,7 +1397,7 @@ + return GDK_WINDOW_XID( gdk_window ); + } + -+NS_IMETHODIMP nsFilePicker::kdeFileDialog(PRInt16 *aReturn) ++NS_IMETHODIMP nsFilePicker::kdeFileDialog(nsIFilePicker::ResultCode *aReturn) + { + NS_ENSURE_ARG_POINTER(aReturn); + @@ -1569,7 +1571,7 @@ + } + + -+NS_IMETHODIMP nsFilePicker::kdeAppsDialog(PRInt16 *aReturn) ++NS_IMETHODIMP nsFilePicker::kdeAppsDialog(nsIFilePicker::ResultCode *aReturn) + { + NS_ENSURE_ARG_POINTER(aReturn); + @@ -1611,7 +1613,7 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h --- a/widget/gtk/nsFilePicker.h +++ b/widget/gtk/nsFilePicker.h -@@ -67,16 +67,22 @@ class nsFilePicker : public nsBaseFilePi +@@ -69,16 +69,22 @@ class nsFilePicker : public nsBaseFilePi nsString mDefaultExtension; nsTArray mFilters; @@ -1622,8 +1624,8 @@ + bool kdeRunning(); + bool getKdeRunning(); -+ NS_IMETHODIMP kdeFileDialog(PRInt16 *aReturn); -+ NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn); ++ NS_IMETHODIMP kdeFileDialog(nsIFilePicker::ResultCode *aReturn); ++ NS_IMETHODIMP kdeAppsDialog(nsIFilePicker::ResultCode *aReturn); + nsCString kdeMakeFilter( int index ); + void* GtkFileChooserNew(const gchar* title, GtkWindow* parent, @@ -1807,7 +1809,7 @@ # include "prmem.h" # include "plbase64.h" -@@ -2157,20 +2158,29 @@ nsLocalFile::SetPersistentDescriptor(con +@@ -2167,20 +2168,29 @@ nsLocalFile::SetPersistentDescriptor(con NS_IMETHODIMP nsLocalFile::Reveal() { @@ -1839,7 +1841,7 @@ ::CFRelease(url); return rv; } -@@ -2182,16 +2192,23 @@ nsLocalFile::Reveal() { +@@ -2192,16 +2202,23 @@ nsLocalFile::Reveal() { NS_IMETHODIMP nsLocalFile::Launch() { diff -r 17bc5a064ab4 -r a2caa2a2494f mozilla-libavcodec58_91.patch --- a/mozilla-libavcodec58_91.patch Mon Apr 10 23:42:16 2023 +0200 +++ b/mozilla-libavcodec58_91.patch Tue May 09 23:09:18 2023 +0200 @@ -1,17 +1,17 @@ # HG changeset patch -# Parent 63747fd31719c6e4f7810512a3c57e75a02b8bfd +# Parent 60fc1933af9d4f1769025a6f1d9a60db6b899315 diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp --- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp +++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp -@@ -34,16 +34,18 @@ static const char* sLibs[] = { - "libavcodec.55.dylib", +@@ -36,16 +36,18 @@ static const char* sLibs[] = { "libavcodec.54.dylib", "libavcodec.53.dylib", #elif defined(XP_OPENBSD) "libavcodec.so", // OpenBSD hardly controls the major/minor library version // of ffmpeg and update it regulary on ABI/API changes #else + "libavcodec.so.60", "libavcodec.so.59", + "libavcodec.so.58.134", + "libavcodec.so.58.91", diff -r 17bc5a064ab4 -r a2caa2a2494f mozilla-silence-no-return-type.patch --- a/mozilla-silence-no-return-type.patch Mon Apr 10 23:42:16 2023 +0200 +++ b/mozilla-silence-no-return-type.patch Tue May 09 23:09:18 2023 +0200 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent c9ee7d75ce3f624221f3ba8ef7c821f501c9a028 +# Parent 6bace0b1d6e9c82e8d3f557cac1a4bcc10ec9c13 diff --git a/Cargo.lock b/Cargo.lock --- a/Cargo.lock @@ -26,7 +26,7 @@ diff --git a/Cargo.toml b/Cargo.toml --- a/Cargo.toml +++ b/Cargo.toml -@@ -158,16 +158,17 @@ chardetng_c = { git = "https://github.co +@@ -161,16 +161,17 @@ chardetng_c = { git = "https://github.co coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev="fc68464b5445caf111e41f643a2e69ccce0b4f83" } firefox-on-glean = { path = "toolkit/components/glean/api" } libudev-sys = { path = "dom/webauthn/libudev-sys" } @@ -37,13 +37,13 @@ warp = { git = "https://github.com/glandium/warp", rev = "4af45fae95bc98b0eba1ef0db17e1dac471bb23d" } +glslopt = { path = "third_party/rust/glslopt/" } - cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "d3670a89bae26ba3a8db4758eb7976616113987d" } + cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "b196a164dcbb317016d4aa6c58c13147e6045ebb" } # application-services overrides to make updating them all simpler. - interrupt-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } - sql-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } - sync15 = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } - tabs = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" } + interrupt-support = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } + sql-support = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } + sync15 = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } + tabs = { git = "https://github.com/mozilla/application-services", rev = "fe2867dbe82a2aaa85a856648107be94b1534683" } diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h --- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h +++ b/gfx/skia/skia/include/codec/SkEncodedOrigin.h @@ -2161,22 +2161,6 @@ VideoSendStream::StreamStats::~StreamStats() = default; std::string VideoSendStream::StreamStats::ToString() const { -diff --git a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc ---- a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc -+++ b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc -@@ -373,11 +373,12 @@ std::unique_ptr Creat - /*adaptive_step_estimation=*/true); - case ClippingPredictorMode::kFixedStepClippingPeakPrediction: - return std::make_unique( - num_channels, config.window_length, config.reference_window_length, - config.reference_window_delay, config.clipping_threshold, - /*adaptive_step_estimation=*/false); - } - RTC_DCHECK_NOTREACHED(); -+ return nullptr; - } - - } // namespace webrtc diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc --- a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc +++ b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc @@ -2220,7 +2204,7 @@ // Maximum lengths that frame of samples being passed from the render side to // the capture side can have (does not apply to AEC3). -@@ -1980,16 +1981,17 @@ void AudioProcessingImpl::InitializeNois +@@ -1982,16 +1983,17 @@ void AudioProcessingImpl::InitializeNois case NoiseSuppresionConfig::kModerate: return NsConfig::SuppressionLevel::k12dB; case NoiseSuppresionConfig::kHigh: diff -r 17bc5a064ab4 -r a2caa2a2494f series --- a/series Mon Apr 10 23:42:16 2023 +0200 +++ b/series Tue May 09 23:09:18 2023 +0200 @@ -22,7 +22,6 @@ one_swizzle_to_rule_them_all.patch svg-rendering.patch mozilla-buildfixes.patch -mozilla-bmo1807652.patch # Firefox patches firefox-kde.patch