- 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

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=1051
This commit is contained in:
Wolfgang Rosenauer 2023-04-11 21:09:55 +00:00 committed by Git OBS Bridge
parent 7d642a7362
commit 03a9133f62
14 changed files with 156 additions and 283 deletions

View File

@ -1,3 +1,69 @@
-------------------------------------------------------------------
Mon Apr 10 21:58:19 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
- 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 <wr@rosenauer.org>

View File

@ -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
%define orig_version 112.0
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
@ -120,17 +120,23 @@ BuildRequires: libiw-devel
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 @@ Patch23: mozilla-bmo531915.patch
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
@ -402,7 +407,7 @@ EOF
# Done with env-variables.
source ./.obsenv.sh
%ifarch aarch64 %arm ppc64 ppc64le riscv64 %ix86
%ifarch aarch64 %arm ppc64 ppc64le riscv64
%limit_build -m 2500
%endif
@ -618,7 +623,8 @@ ln -sf ../..%{progdir}/%{progname}.sh %{buildroot}%{_bindir}/%{progname}
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:84a4f3aba62df6e0451cdd28f8f1e59840d77c4062311947b0e59325c2ebdce8
size 496209640

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQZr4MACgkQ6+QekPbx
L21H0Q/+LBsVs0ozRECMsb5vCnoYxVs+LbP9p25ANApYCrsT806KjhKkGHMp76kJ
cSO8Zm77StATYWR0m8nNlfZKg7DRK1vncoBfmN8wCVdIZnTJDjkTKqPvIAKVdb46
57XrNd/RyXL3j5rlb/w7oF1EUfjgVF8ztFBt1v7AMKSkTi0XBGTBeB7QymaToXkl
213qK4yKP8MG2LndQRo8AfX6d0CPAHGqaLVZHwzMi3JVVB5nyMVQsiEwurGxLEMj
EmQPcMhLGZmfV/AVonrJhxZcV3U2nvr+lqmb69z+WazqeGdLrwJ66aOn4clWgkFk
rVdWOH8eo8FHBThYlvjp76OMdZSfRb/33kuMf4Qso2avBQ1PjnD07MneblXS3uT1
L4h/C3cwxwqwDTgJIxp8lKz3fHyan4aqGYowz7EDSyY//Z0onQ12KCkvyW5/366e
3koEizUNctbXaXl4VdrFl1AdwuIYQaX/44NwXcpI2tWm7utjOmeWmh6j2ZIzruds
PDr0rImdYvezydqDbDv2/eNhCkNhNsiApy0YwPfLGP4448bYuF6tlrjmLhl/A6cX
z8SgZgpkHG+RN0B6ttqgm2aftSdgsBQY77sMEMCBZ0zubbxbpDTAxHDj6RmQ9UK1
tgY0XcPSM3/uWPrIiINd3vxGrODJkemBHLm16GMO8869zOCtjIw=
=cX4D
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eb19185f7bfa5c3b0c73edaa57160b44bf3bb2139db83539809607486b8075d9
size 497250760

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmQu5kAACgkQ6+QekPbx
L23OyQ//TGpy5ahlIboHPrt6neFHi0hfHdNkwsiBjYxRnXmtVbYEs/Aok70dIi6v
WPqFdckGDf5eQd8Dic5lJRvN2qB4DVvlQxdAigHjpBHbLDxaJGUiNoBxXIv8fJbi
RZeCaYg96eDlFQq1NkBrA9m0COHESzFULIvjdvHYyRrr+qiRAvWlB+cdt/+V+7Rx
voiHN/QWJzi+g+W4w6d+zebo/crSpiypFBPZFjE81gavZCgCNCymc/55yMYbh69K
DCWZsCab+2OqXSKzNlH9pXMawGiwbk9Ou8tPi/z4DUvyvLqLnqaoGtid7SwGRycI
Ssn9juax+tOOgfwew6uvi08iYYVZwGlKYW1xbmJAtnI/8CoECZACK0XNh1PmqFHt
vwJv+5wVM1NtOv17sf9OrVqmeqTUtUPTCI03mZ3yD1VES7l1Sp6t9noX4k3Y8Oto
yWzUGX/Tt22rqjJu5v/jf/oKXh92B8hftUEM5qxNJK0o1K8F7ytLGIAawHrrtRmh
grX79VxuVW2hdcFH1R6m31FpDvaJNl7g8D/aOgzFvONL/yROX7/VajWT+UKX+Of6
4/e5sMW7LDJCc0Ga8Y2LTUOt+2IOD+IXMZvygcuVLNiTTctrPLZSdrVVvrz/pdTk
bzpleBAMvdkjLiozAfYJZETZAZl4fNhrzq8M7f1gK5dAIULFspU=
=PmYw
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5df17580a34801b0b342dfe411d5032b531f3d6aa3db523d2c0a4c283dcca143
size 50906464

3
l10n-112.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bfcb9aa86f10704616f8537774856f96ea5b8d5d609d4cea9c623a3ac3e9f96f
size 50942092

View File

@ -10,14 +10,14 @@ for the definition of this variable.
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 @@ diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbu
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):

View File

@ -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<ProfiledThreadData>(
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<ProfiledThreadData>(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 <typename F>
auto WithLockedRWOnThread(F&& aF) {
- RWOnThreadWithLock lockedData = LockedRWOnThread();
+ RWOnThreadWithLock lockedData = GetLockedRWOnThread();
return std::forward<F>(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 <typename F>
auto WithLockedRWFromAnyThread(F&& aF) {
- RWFromAnyThreadWithLock lockedData = LockedRWFromAnyThread();
+ RWFromAnyThreadWithLock lockedData = GetLockedRWFromAnyThread();
return std::forward<F>(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));
}
});

View File

@ -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 <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -31,7 +31,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
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<nsIFile> path = do_QueryInterface(elem);
@ -73,11 +73,11 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
}
}
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/components/downloads/moz.build b/toolkit/components/downloa
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/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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 @@ new file mode 100644
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 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
+ 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<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
@ -1245,7 +1247,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
#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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
# 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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ 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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ 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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ }
+
+
+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.cpp b/widget/gtk/nsFilePicker.cpp
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<nsCString> mFilters;
@ -1622,8 +1624,8 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
+ 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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
# 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 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
::CFRelease(url);
return rv;
}
@@ -2182,16 +2192,23 @@ nsLocalFile::Reveal() {
@@ -2192,16 +2202,23 @@ nsLocalFile::Reveal() {
NS_IMETHODIMP
nsLocalFile::Launch() {

View File

@ -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",

View File

@ -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.lock b/Cargo.lock
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 @@ diff --git a/Cargo.toml b/Cargo.toml
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 @@ diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwe
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<ClippingPredictor> Creat
/*adaptive_step_estimation=*/true);
case ClippingPredictorMode::kFixedStepClippingPeakPrediction:
return std::make_unique<ClippingPeakPredictor>(
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 @@ diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_imp
// 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:

View File

@ -1,10 +1,10 @@
PRODUCT="firefox"
CHANNEL="release"
VERSION="111.0.1"
VERSION="112.0"
VERSION_SUFFIX=""
PREV_VERSION="111.0"
PREV_VERSION="111.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="d2b2ff2c6e3ceb267e77b0163c860f7a1f13ff4a"
RELEASE_TIMESTAMP="20230406114409"