Sync from SUSE:SLFO:Main MozillaFirefox revision 8033f0f3209d136749b9ab5583adb2d1

This commit is contained in:
Adrian Schröter 2024-08-23 16:57:44 +02:00
parent cf740204ca
commit 82448b4116
27 changed files with 1694 additions and 711 deletions

View File

@ -1,8 +1,322 @@
-------------------------------------------------------------------
Wed Jul 31 11:59:32 UTC 2024 - Martin Sirringhaus <martin.sirringhaus@suse.com>
- Firefox Extended Support Release 128.1.0 ESR
* Fixed: Various security fixes and other quality improvements.
MFSA 2024-35 (bsc#1228648)
* CVE-2024-7518 (bmo#1875354)
Fullscreen notification dialog can be obscured by document
content
* CVE-2024-7519 (bmo#1902307)
Out of bounds memory access in graphics shared memory
handling
* CVE-2024-7520 (bmo#1903041)
Type confusion in WebAssembly
* CVE-2024-7521 (bmo#1904644)
Incomplete WebAssembly exception handing
* CVE-2024-7522 (bmo#1906727)
Out of bounds read in editor component
* CVE-2024-7524 (bmo#1909241)
CSP strict-dynamic bypass using web-compatibility shims
* CVE-2024-7525 (bmo#1909298)
Missing permission check when creating a StreamFilter
* CVE-2024-7526 (bmo#1910306)
Uninitialized memory used by WebGL
* CVE-2024-7527 (bmo#1871303)
Use-after-free in JavaScript garbage collection
* CVE-2024-7528 (bmo#1895951)
Use-after-free in IndexedDB
* CVE-2024-7529 (bmo#1903187)
Document content could partially obscure security prompts
* CVE-2024-7531 (bmo#1905691)
PK11_Encrypt using CKM_CHACHA20 can reveal plaintext on Intel
Sandy Bridge machines
-------------------------------------------------------------------
Wed Jul 10 13:00:49 UTC 2024 - Martin Sirringhaus <martin.sirringhaus@suse.com>
- Firefox Extended Support Release 128.0esr ESR
* ### General
* Windows 7-8.1 and macOS 10.12-10.14 are no longer supported
operating systems.
* Firefox now supports automated translation of web content.
Also, unlike cloud-based alternatives, translation is done
locally so that the text being translated never leaves the
machine.
* The line breaking rules of web content now match the
Unicode standard, improving cross-browser compatibility.
Additionally, for East Asian and South East Asian end users,
Firefox now supports proper language-aware word selection
when double-clicking on text for languages including Chinese,
Japanese, Burmese, Lao, Khmer, and Thai.
* Video effects and background blur are now available to
Firefox users on Google Meet.
Firefox now displays images and descriptions for search
suggestions when provided by the search engine.
* It is now possible to copy and paste any file from the
operating system into Firefox.
* Having any issues with a website on Firefox, yet the site
seems to be working as expected on another browser? You can
now let us know via the Web Compatibility Reporting Tool! By
filing a web compatibility issue, youre directly helping us
detect, target, and fix the most impacted sites to make your
browsing experience on Firefox smoother.
* Firefox now prompts users in the US and Canada to save
their addresses upon submitting an address form, allowing
Firefox to autofill stored address information in the future.
* Support for credit card autofill has been extended to users
running Firefox in the IT, ES, AT, BE, and PL locales.
* Recently closed tabs now persist between sessions that
don't have automatic session restore enabled. Manually
restoring a previous session will continue to reopen any
previously open tabs or windows.
* When migrating data from Chrome, Firefox now offers the
ability to import certain extensions as well.
* The Screenshots feature in Firefox has been updated. It now
supports taking screenshots of file types like SVG, XML, and
more as well as various about: pages within Firefox. The
screenshot tool was also made more accessible to everyone by
implementing new keyboard shortcuts and adding theme
compatibility and High Contrast Mode (HCM) support. And
finally, performance for capturing large screenshots has been
improved.
* ### PDF Viewer
* The Firefox PDF viewer has expanded PDF editing
capabilities:
* Text highlighting is now supported.
* Editing already-existing text annotations is now
supported.
* Images and alt text can be added in addition to text
and drawings.
* A floating button is now included to simplify deleting
drawings, text, and images added in PDFs.
* Caret browsing mode now also works in the PDF viewer.
(Learn more)
* ### Firefox View
* Firefox View includes more content. You can now see all
open tabs from all windows. If you sync open tabs, youll see
all tabs from other devices. Browsing history is now listed
and you can sort by date or by site. As before, recently
closed tabs are also listed on Firefox View.
To access Firefox View, select the file folder icon at the
top left of your tab strip.
* Weve integrated search into Firefox View. You can now
search through all of the tabs on each of the section
subpages - Recent Browsing, Open Tabs, Recently Closed Tabs,
Tabs from other devices, or History.
* In Firefox View, open tabs can now be sorted by either
recent activity or tab order. Recent activity is the default
setting.
* Firefox View now displays pinned tabs in the Open tabs
section. Tab indicators have also been added to Open tabs, so
users can do things like see which tabs are playing media and
quickly mute or unmute across windows. Indicators were also
added for bookmarks, tabs with notifications, and more!
* It is now possible to close all duplicate tabs in a window
with the `Close duplicate tabs` command available from the
`List all tabs` widget in the tab bar or a tab context menu.
* ### Security & Privacy
* For added protection on macOS and Windows, a device sign in
(e.g. operating system password, fingerprint, face or voice
login if enabled) can be required when accessing and filling
stored passwords in the Firefox Password Manager about:logins
page.
* Firefox now supports creating and using passkeys stored in
the iCloud Keychain on macOS.
* Firefox now imports user-added TLS trust anchors (e.g.,
certificates) from the operating system root store. This will
be enabled by default on Windows, macOS, and Android, and if
needed, can be turned off in settings (Settings → Privacy &
Security → Certificates).
* The Storage Access API web standard was updated to improve
security while mitigating website breakages and further
enabling the phase out of third-party cookies in Firefox.
* Encrypted Client Hello (ECH) is now available to Firefox
users, delivering a more private browsing experience. ECH
extends the encryption used in TLS connections to cover more
of the handshake and better protect sensitive fields. Read
more about the launch of ECH on Mozilla Distilled.
* Firefox supports a new “Copy Link Without Site Tracking”
feature in the context menu which ensures that copied links
no longer contain tracking information.
* Firefox now supports a setting (in Preferences → Privacy &
Security) to enable Global Privacy Control. With this opt-in
feature, Firefox informs the websites that the user doesnt
want their data to be shared or sold. This feature is enabled
in private browsing mode by default.
* Firefox now more proactively blocks downloads from URLs
that are considered to be potentially untrustworthy.
* ### Anti-Fingerprinting
* Web Audio in Firefox now uses the FDLIBM math library on
all systems to improve anonymity with Fingerprint Protection.
* As part of Total Cookie Protection, Firefox now supports
the partitioning of Blob URLs, this mitigates a potential
tracking vector that third-party agents could use to track an
individual.
* To mitigate font fingerprinting, the visibility of fonts to
websites has been restricted to system fonts and language
pack fonts when in Private Browsing Mode or with Enhanced
Tracking Protection set to strict mode.
* Firefoxs private windows and ETP-Strict privacy
configuration now enhance the Canvas APIs with Fingerprinting
Protection.
* To reduce user fingerprinting information and the risk of
some website compatibility issues, the CPU architecture for
32-bit x86 Linux will now be reported as x86_64 in Firefox's
User-Agent string and `navigator.platform` and
`navigator.oscpu` Web APIs.
* ### Windows
* Firefox can now be set to automatically launch whenever the
computer starts up. (Learn more)
* The background updater now updates properly when there are
multiple user accounts on a system.
* Firefox now populates the Windows taskbar jump list more
efficiently, which should allow for a smoother overall
browsing experience.
* ### macOS
* Firefox now supports Voice Control commands on macOS
systems.
* Links and other focusable elements are now tab-navigable by
default on macOS, instead of following macOS' "Keyboard
navigation" setting. This is a more accessible default and
matches the default in all other platforms. A checkbox in the
settings page still allows users to restore the old behavior.
* Firefox on Mac now uses the macOS fullscreen API for all
types of fullscreen windows. This should better match the
expected macOS user experience for fullscreen spaces, menubar
and the Dock.
* ### Linux
* Firefox now defaults to the Wayland compositor when
available instead of XWayland. This brings support for
touchpad & touchscreen gestures, swipe-to-nav, per-monitor
DPI settings, better graphics performance, and more.
* Firefox now ships with a new .deb package for Linux users
on Ubuntu, Debian, and Linux Mint.
* ### Video Playback
* Enabled AV1 hardware decode acceleration on macOS for M3
Macs.
* Firefox now supports the AV1 codec for Encrypted Media
Extensions (EME), enabling higher-quality playback from video
streaming providers.
* NVIDIA RTX Video Super Resolution (“VSR”) is now available
in Firefox. RTX VSR enhances and sharpens lower resolution
video when upscaled to higher resolutions and also removes
blocky artifacts commonly visible on low bitrate streamed
video. VSR requires at least a 20-series or higher NVIDIA RTX
GPU, Microsoft Windows 10/11 64-bit, and NVIDIA driver
version R530 or higher. The feature can be enabled in the
NVIDIA control panel.
* NVIDIA RTX Video HDR is now available in Firefox. RTX Video
HDR automatically converts SDR video to vibrant HDR10 in real
time, letting you enjoy video with improved clarity on your
HDR10 panel. It requires at least a 20-series NVIDIA RTX GPU,
Microsoft Windows 10/11 64-bit, and NVIDIA driver version 550
or higher. The feature can be enabled in the NVIDIA control
panel.
* Developer: * Firefox now supports DNS prefetching for HTTPS
documents via the `rel="dns-prefetch"` link hint. This
standard allows web developers to specify domain names for
important assets that should be resolved preemptively.
* Firefox will now automatically try to upgrade <img>,
<audio>, and <video> elements from HTTP to HTTPS
if they are embedded within an HTTPS page. If these so-called
mixed content elements do not support HTTPS, they will no
longer load.
* Firefox now supports Content-encoding: zstd (zstandard
compression). This is an alternative to brotli and gzip
compression for web content, and can provide higher
compression levels for the same CPU used, or conversely lower
server CPU use to get the same compression.
[2]: http://facebook.github.io/zstd/
* Enterprise: * The FirefoxHome policy has been updated to
reflect that the Snippets option is now deprecated.
* The DNSOverHTTPS policy has been updated to support setting
a `Fallback` value to prevent falling back to your default
DNS Provider.
* The AllowFileSelectionDialogs policy has been added for
controlling file selection dialogs.
* The TranslateEnabled policy has been added.
* The DisableEncryptedClientHello policy has been added to
control Encrypted Client Hello.
* The PostQuantumKeyAgreementEnabled policy has been added to
control post-quantum key agreement for TLS.
* The HttpsOnlyMode policy has been added to control HTTPS-
Only Mode.
* The HttpAllowlist policy has been added to add exceptions
to HTTPS-Only Mode.
* The Preferences policy has been updated to allow setting
the preferences
`security.mixed_content.block_display_content` and
`security.mixed_content.upgrade_display_content`.
* The UserMessaging policy has been updated to remove the
WhatsNew option.
* The ExtensionSettings policy has been updated to add
`temporarily_allow_weak_signatures` to allow installing
extensions signed using deprecated signature algorithms.
* Fixed: Various security fixes.
MFSA 2024-29 (bsc#1226316)
* CVE-2024-6605 (bmo#1836786)
Firefox Android missed activation delay to prevent tapjacking
* CVE-2024-6606 (bmo#1902305)
Out-of-bounds read in clipboard component
* CVE-2024-6607 (bmo#1694513)
Leaving pointerlock by pressing the escape key could be
prevented
* CVE-2024-6608 (bmo#1743329)
Cursor could be moved out of the viewport using pointerlock.
* CVE-2024-6609 (bmo#1839258)
Memory corruption in NSS
* CVE-2024-6610 (bmo#1883396)
Form validation popups could block exiting full-screen mode
* CVE-2024-6600 (bmo#1888340)
Memory corruption in WebGL API
* CVE-2024-6601 (bmo#1890748)
Race condition in permission assignment
* CVE-2024-6602 (bmo#1895032)
Memory corruption in NSS
* CVE-2024-6603 (bmo#1895081)
Memory corruption in thread creation
* CVE-2024-6611 (bmo#1844827)
Incorrect handling of SameSite cookies
* CVE-2024-6612 (bmo#1880374)
CSP violation leakage when using devtools
* CVE-2024-6613 (bmo#1900523)
Incorrect listing of stack frames
* CVE-2024-6614 (bmo#1902983)
Incorrect listing of stack frames
* CVE-2024-6604 (bmo#1748105, bmo#1837550, bmo#1884266)
Memory safety bugs fixed in Firefox 128, Firefox ESR 115.13,
and Thunderbird 115.13
* CVE-2024-6615 (bmo#1892875, bmo#1894428, bmo#1898364)
Memory safety bugs fixed in Firefox 128
- remove unneeded patches mozilla-fix-aarch64-libopus.patch
mozilla-bmo1504834-part3.patch mozilla-bmo1512162.patch
mozilla-fix-top-level-asm.patch mozilla-bmo531915.patch
mozilla-partial-revert-1768632.patch
- added patches mozilla-rust-disable-future-incompat.patch
fix-sle12-build-errors.patch
- added patches mozilla-bmo1898476.patch and mozilla-bmo1907511.patch
to fix Wayland-crashes
-------------------------------------------------------------------
Wed Jul 3 07:12:36 UTC 2024 - Martin Sirringhaus <martin.sirringhaus@suse.com>
- Firefox Extended Support Release 115.13.0 ESR
Placeholder changelog-entry (bsc#1226316)
* Changed: The root certificate used to verify add-ons and
signed content has been renewed to avoid upcoming expiration.
* Fixed: Various security fixes and other quality improvements.
MFSA 2024-30 (bsc#1226316)
* CVE-2024-6600 (bmo#1888340)
Memory corruption in WebGL API
* CVE-2024-6601 (bmo#1890748)
Race condition in permission assignment
* CVE-2024-6602 (bmo#1895032)
Memory corruption in NSS
* CVE-2024-6603 (bmo#1895081)
Memory corruption in thread creation
* CVE-2024-6604 (bmo#1748105, bmo#1837550, bmo#1884266)
Memory safety bugs fixed in Firefox 128, Firefox ESR 115.13,
and Thunderbird 115.13
-------------------------------------------------------------------
Mon Jul 1 14:01:17 UTC 2024 - Martin Sirringhaus <martin.sirringhaus@suse.com>

View File

@ -1,8 +1,8 @@
#
# spec file
# spec file for package MozillaFirefox
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org>
# Copyright (c) 2006-2024 Wolfgang Rosenauer <wr@rosenauer.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -28,9 +28,9 @@
# orig_suffix b3
# major 69
# mainver %%major.99
%define major 115
%define mainver %major.13.0
%define orig_version 115.13.0
%define major 128
%define mainver %major.1.0
%define orig_version 128.1.0
%define orig_suffix esr
%define update_channel release
%define branding 1
@ -53,17 +53,9 @@
# SLE-12 doesn't have this macro
%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d}
# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms resulting from this build.
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
ExclusiveArch: aarch64 ppc64le x86_64 s390x
%else
# Firefox only supports i686
%ifarch %ix86
ExclusiveArch: i586 i686
BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif
%endif
# We don't ship i586 anywhere anymore
ExclusiveArch: aarch64 ppc64le x86_64 s390x
# Let mach set the appropriate LTO-flags for us, but correctly.
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
@ -77,7 +69,7 @@ BuildArch: i686
%define desktop_file_name %{progname}
%define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%define __provides_exclude ^lib.*\\.so.*$
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*)$
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libgk.*)$
%define localize 1
%ifarch %ix86 x86_64
%define crashreporter 1
@ -101,13 +93,14 @@ BuildRequires: dbus-1-glib-devel
BuildRequires: dejavu-fonts
BuildRequires: fdupes
BuildRequires: memory-constraints
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
BuildRequires: gcc12-c++
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
BuildRequires: gcc13
BuildRequires: gcc13-c++
%else
BuildRequires: gcc-c++
%endif
BuildRequires: rust1.69
BuildRequires: cargo1.69
BuildRequires: cargo1.78
BuildRequires: rust1.78
%if 0%{useccache} != 0
BuildRequires: ccache
%endif
@ -117,7 +110,7 @@ BuildRequires: libiw-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.90
BuildRequires: mozilla-nss-devel >= 3.101.1
BuildRequires: nasm >= 2.14
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000
BuildRequires: nodejs12 >= 12.22.12
@ -127,7 +120,7 @@ BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else
%if 0%{?sle_version} > 150000 && 0%{?sle_version} <= 150500
%if 0%{?sle_version} > 150000 && 0%{?sle_version} <= 150600
BuildRequires: nodejs12 >= 12.22.12
BuildRequires: python39
BuildRequires: python39-curses
@ -140,7 +133,7 @@ BuildRequires: python3-curses
BuildRequires: python3-devel
%endif
%endif
BuildRequires: rust-cbindgen >= 0.24.3
BuildRequires: rust-cbindgen >= 0.26
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel
@ -152,11 +145,7 @@ BuildRequires: zip
%if 0%{?suse_version} < 1550
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
%endif
%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
BuildRequires: clang6-devel
%else
BuildRequires: clang-devel >= 5
%endif
BuildRequires: clang15-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.22
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
@ -218,29 +207,29 @@ Patch1: mozilla-nongnome-proxies.patch
Patch2: mozilla-kde.patch
Patch3: mozilla-ntlm-full-path.patch
Patch4: mozilla-aarch64-startup-crash.patch
Patch5: mozilla-fix-aarch64-libopus.patch
Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch
Patch10: mozilla-bmo1504834-part1.patch
Patch11: mozilla-bmo1504834-part3.patch
Patch12: mozilla-bmo1512162.patch
Patch13: mozilla-fix-top-level-asm.patch
Patch14: mozilla-bmo849632.patch
Patch15: mozilla-bmo998749.patch
Patch17: mozilla-libavcodec58_91.patch
Patch18: mozilla-silence-no-return-type.patch
Patch19: mozilla-bmo531915.patch
Patch20: one_swizzle_to_rule_them_all.patch
Patch21: svg-rendering.patch
Patch28: mozilla-partial-revert-1768632.patch
Patch23: mozilla-rust-disable-future-incompat.patch
Patch24: mozilla-bmo1898476.patch
Patch25: mozilla-bmo1907511.patch
%if (0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000)
Patch26: fix-sle12-build-errors.patch
%endif
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): coreutils shared-mime-info desktop-file-utils
Requires(postun):shared-mime-info desktop-file-utils
Requires(postun): shared-mime-info desktop-file-utils
Requires: %{name}-branding >= 68
%requires_ge mozilla-nspr
%requires_ge mozilla-nss
@ -258,11 +247,7 @@ Obsoletes: tracker-miner-firefox < 0.15
%if 0%{?devpkg} == 0
Obsoletes: %{name}-devel < %{version}
%endif
# libproxy's mozjs pacrunner crashes FF (bnc#759123)
%if 0%{?suse_version} < 1220
Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
%endif
ExcludeArch: armv6l armv6hl
ExcludeArch: armv6l armv6hl ppc ppc64
%description
Mozilla Firefox is a standalone web browser, designed for standards
@ -390,22 +375,22 @@ export MOZ_TELEMETRY_REPORTING=1
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export CFLAGS="%{optflags}"
%if 0%{?clang_build} == 0
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
export CC=gcc-12
export CXX=g++-12
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150600
export CC=gcc-13
export CXX=g++-13
%else
export CC=gcc
export CXX=g++
%endif
%if 0%{?gcc_version:%{gcc_version}} >= 12
export CFLAGS="\$CFLAGS -fimplicit-constexpr"
%endif
%endif
%ifarch %arm %ix86
### NOTE: these sections are not required anymore. Alson --no-keep-memory + -Wl,-z,pack-relative-relocs causes
### ld to go OOM (https://sourceware.org/bugzilla/show_bug.cgi?id=30756)
# Limit RAM usage during link
export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
# export LDFLAGS="\$LDFLAGS -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--no-map-whole-files -Wl,--hash-size=31"
#
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
#export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
%endif
%if 0%{?build_hardened}
export LDFLAGS="\$LDFLAGS -fPIC -Wl,-z,relro,-z,now"
@ -453,12 +438,13 @@ ac_add_options --disable-debug-symbols
ac_add_options --enable-debug-symbols=-g1
%endif
ac_add_options --disable-install-strip
# building with elf-hack started to fail everywhere with FF73
#%%if 0%%{?suse_version} > 1549
%ifarch %arm %ix86 x86_64
# We have to disable elf-hack on SLE-12 aarch64, because the autogenerated
# code produces a "no return in non-void function"-error.
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
%ifarch aarch64
ac_add_options --disable-elf-hack
%endif
#%%endif
%endif
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
%if 0%{useccache} != 0
@ -553,11 +539,7 @@ ac_add_options --enable-official-branding
%endif
EOF
%ifarch %ix86
%define njobs 1
%else
%define njobs 0%{?jobs:%jobs}
%endif
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
sed -r '/^(ja-JP-mac|ga-IE|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \
| xargs -n 1 %{?njobs:-P %njobs} -I {} /bin/sh -c '
@ -600,8 +582,10 @@ grep amazondotcom dist/firefox/browser/omni.ja
# copy tree into RPM_BUILD_ROOT
mkdir -p %{buildroot}%{progdir}
cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
%if %localize
mkdir -p %{buildroot}%{progdir}/browser/extensions
cp -rf $RPM_BUILD_DIR/langpacks_artifacts/* %{buildroot}%{progdir}/browser/extensions/
%endif
mkdir -p %{buildroot}%{progdir}/distribution/extensions
mkdir -p %{buildroot}%{progdir}/browser/defaults/preferences/
# renaming executables (for regular vs. ESR)
@ -742,20 +726,20 @@ exit 0
%{progdir}/dependentlibs.list
%{progdir}/*.so
%{progdir}/glxtest
%if 0%{?sle_version} >= 150000 || 0%{?suse_version} == 1600
%{progdir}/vaapitest
%ifarch aarch64 riscv64 %arm
%{progdir}/v4l2test
%endif
%{progdir}/omni.ja
%{progdir}/fonts/
%{progdir}/pingsender
%{progdir}/platform.ini
%{progdir}/plugin-container
%if %crashreporter
%{progdir}/crashreporter
%{progdir}/crashreporter.ini
%{progdir}/Throbber-small.gif
#%{progdir}/crashreporter.ini
#%{progdir}/Throbber-small.gif
%{progdir}/minidump-analyzer
%{progdir}/browser/crashreporter-override.ini
#%{progdir}/browser/crashreporter-override.ini
%endif
%{_datadir}/applications/%{desktop_file_name}.desktop
%{_datadir}/mime/packages/%{progname}.xml

BIN
firefox-115.13.0esr.source.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmaF+98ACgkQ4207E/PZ
MnRX3w/9GO5IkWE3cMK2ri0xdqYQhA0tN9/Vqi+axg7qR3bZ1tzgh7Hk+kEVhWqm
Zda3+8TGkGPSFn0TlgG+PaejnPtxfIDAjzuzdTntQ3o6i/cQzb+Uw9SfAI2UzEVG
Q9uQUsBU0d0JgUabUBkx3Bm0MBDLSy8kveRnX9nsNLkoIkEvFgsUn2aYh7CXIUXE
WVzSjWfEKv2+Km0iMqn5pMbbf1WgiMHMRCmttv2X0Y7sGc8whsSvhkSInNBLIp7+
2KYbgy5zIcc7H4fFubRLoDUbeB/7vb/lACSQWk3MYO1OzOAaJmnNGVApCDBn3mXR
HS996EbUSQL+D5S9wEdTKX0WLNyw3rlQ7/y9ZGhVH2i6sZjtHBZBwTm4+R1jJzdV
xchiAR7x233dm/iB4HQzJ4zd0WVplFNF00nlKCAStOgF7r2TCOKSOiuCI0texMqJ
Kgt4bmG3bxyCwE/lgUUOoT8oXym1xog+569F7k7aA+I3Fxc0ZoJR5josVQde42YB
5HWDlTbw1RWl3OWf3sYvmnulq67td2RSZDrbBHGk/tPQpDN/mXzaoBAwqedRQ/1E
UKv+H8aUKbmXCLgRUjzQlvJWJt4c94adXcqWQIm87ZEduxCTeh+ZieQmCjn+39tD
FHUUSYNITHIAI3Q+g1ApBHbtmZa3ESIID2Jgq7/uuMd9LjRqBFw=
=aTpP
-----END PGP SIGNATURE-----

BIN
firefox-128.1.0esr.source.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmar6x4ACgkQ4207E/PZ
MnTMmQ//cw6QKvpth9q1vaMBAWW/Mb7Gk/7TvlOScT7eP1z3awzTKhJL/Uf298gH
hhhrcBS4tPbrvOuyMgOXwKbSg3e1Q0n5QitD4h7u36iMcnbf+tOyzg4JFcl6UIHM
aZ22StpBsRs9SYbxe7Q7/y29iHp825V5R4nPWxJRa+d058U/ppDXXbDJOla+75du
YqdgPJyZQJUy140vKWB4WxF/ClwIC8aVffWiLB2dUxNt3snyRMI6bTLr2826Rkwn
OBU72Kv6F8DR9ToKz6rjsr8Q/5KfJqf11Cga8S/F7r4hZR1M2MvpN5kNfrV2USVH
QxMMRUxmFubWZ6k0O6f35ZGR4ez1U4fI+Dvslvs4gn0FSgAN1meUnc2k6WsMjs9k
uvh7G669nBRTWR4LJgo0S4WSNGsEoMhNaV/m7Y4Gz1Y9tYEdYXF9qzUx0SnbMddp
ZQOVH2qKm0dWpf9a38A/+7YUVHbQ/IBfJkLXO5yIRNFrU6FT7hMTGfOMz7a1r6W2
kkCOIAw5qfY5y/tfB2pCYWLOBZ3CNrev0oJ7mE9J+ZfJDmgEo7UStFGIGXlvequU
RgJ2IvZxQlHwTlZpEjdZSDVRb9MhQq4ev6Y+qYrMl2lQ1qQHADby9Nuw+m4mr7A4
yX636jUM3jxDQZDmDJa++OjHOrnezelpSexMzeCMc/GEfrTHcHc=
=j9HX
-----END PGP SIGNATURE-----

View File

@ -10,7 +10,7 @@ so maintain a stub in here.
<name>Firefox Web Browser</name>
<project_license>MPL-2.0</project_license>
<summary>Mozilla Firefox Web Browser</summary>
<url type="homepage">http://www.mozilla.org/</url>
<url type="homepage">https://www.mozilla.org/</url>
<description>
<p>Mozilla Firefox is a standalone web browser, designed for privacy, security, standards
compliance and performance. Its functionality can be enhanced via a plethora of extensions.</p>

View File

@ -1,26 +1,35 @@
# HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
# Parent fe7e6fdd75484993420740244f21b5b41d6e0fa1
# Parent ebf6598a9309200fcea0cedb08e39161b82a73f9
Index: firefox-115.0/browser/branding/branding-common.mozbuild
===================================================================
--- firefox-115.0.orig/browser/branding/branding-common.mozbuild
+++ firefox-115.0/browser/branding/branding-common.mozbuild
@@ -30,6 +30,9 @@ def FirefoxBranding():
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
@@ -26,12 +26,15 @@ def FirefoxBranding():
"PrivateBrowsing_70.png",
"VisualElements_150.png",
"VisualElements_70.png",
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
FINAL_TARGET_FILES.chrome.icons.default += [
'default128.png',
'default16.png',
+ 'default22.png',
+ 'default24.png',
+ 'default256.png',
'default32.png',
'default48.png',
'default64.png',
Index: firefox-115.0/browser/installer/package-manifest.in
===================================================================
--- firefox-115.0.orig/browser/installer/package-manifest.in
+++ firefox-115.0/browser/installer/package-manifest.in
@@ -227,10 +227,13 @@
"default128.png",
"default16.png",
+ "default22.png",
+ "default24.png",
+ "default256.png",
"default32.png",
"default48.png",
"default64.png",
]
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -216,20 +216,23 @@
@RESPATH@/browser/chrome/browser@JAREXT@
@RESPATH@/browser/chrome/browser.manifest
@RESPATH@/chrome/pdfjs.manifest
@RESPATH@/chrome/pdfjs/*
@RESPATH@/chrome/toolkit@JAREXT@
@RESPATH@/chrome/toolkit.manifest
#ifdef MOZ_GTK
@RESPATH@/browser/chrome/icons/default/default16.png
@ -34,3 +43,8 @@ Index: firefox-115.0/browser/installer/package-manifest.in
#endif
@RESPATH@/browser/features/*
; [DevTools Startup Files]
@RESPATH@/browser/chrome/devtools-startup@JAREXT@
@RESPATH@/browser/chrome/devtools-startup.manifest
; DevTools

View File

@ -1,21 +1,40 @@
# HG changeset patch
# User msirringhaus@suse.de
# Date 1559300151 -7200
# Fri May 31 12:55:51 2019 +0200
# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
# Parent 340817025937e2c69bb1643930d7dfdf63656a7b
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martin Sirringhaus <msirringhaus@suse.de>
Date: Tue, 8 Aug 2023 16:18:24 +0300
Subject: [PATCH] Add KDE integration to Firefox
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
Bug: https://bugzilla.suse.com/show_bug.cgi?id=170055
How to apply this patch:
1. Import and apply it
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
3. Find editBookmarkPanelDoneButton
4. Replace #ifndef with #ifdef in the line above (this hanges the button order from Gnome-style to KDE-style)
5. hg qrefresh
---
browser/components/preferences/main.js | 18 +++
browser/components/shell/moz.build | 2 +
.../components/shell/nsKDEShellService.cpp | 109 ++++++++++++++++++
browser/components/shell/nsKDEShellService.h | 32 +++++
.../components/shell/nsUnixShellService.cpp | 22 ++++
browser/components/shell/nsUnixShellService.h | 15 +++
6 files changed, 198 insertions(+)
create mode 100644 browser/components/shell/nsKDEShellService.cpp
create mode 100644 browser/components/shell/nsKDEShellService.h
create mode 100644 browser/components/shell/nsUnixShellService.cpp
create mode 100644 browser/components/shell/nsUnixShellService.h
Index: firefox-115.0/browser/components/preferences/main.js
===================================================================
--- firefox-115.0.orig/browser/components/preferences/main.js
+++ firefox-115.0/browser/components/preferences/main.js
@@ -293,6 +293,13 @@ var gMainPane = {
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -292,16 +292,23 @@ var gMainPane = {
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
};
window.setTimeout(() => {
window.requestIdleCallback(pollForDefaultBrowser);
}, backoffTimes[this._backoffIndex]);
}
@ -29,10 +48,20 @@ Index: firefox-115.0/browser/components/preferences/main.js
this.initBrowserContainers();
this.buildContentProcessCountMenuList();
@@ -1762,6 +1769,17 @@ var gMainPane = {
}
this.updateDefaultPerformanceSettingsPref();
let defaultPerformancePref = Preferences.get(
"browser.preferences.defaultPerformanceSettings.enabled"
);
@@ -1753,16 +1760,27 @@ var gMainPane = {
// Disable the set default button, so that the user doesn't try to hit it again
// while awaiting on setDefaultBrowser
let setDefaultButton = document.getElementById("setDefaultButton");
setDefaultButton.disabled = true;
try {
shellSvc.setDefaultBrowser(true, false);
await shellSvc.setDefaultBrowser(false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
@ -47,11 +76,20 @@ Index: firefox-115.0/browser/components/preferences/main.js
} catch (ex) {
console.error(ex);
return;
Index: firefox-115.0/browser/components/shell/moz.build
===================================================================
--- firefox-115.0.orig/browser/components/shell/moz.build
+++ firefox-115.0/browser/components/shell/moz.build
@@ -36,6 +36,8 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gt
} finally {
// Make sure to re-enable the default button when we're finished, regardless of the outcome
setDefaultButton.disabled = false;
}
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
@@ -31,16 +31,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
XPIDL_SOURCES += [
"nsIGNOMEShellService.idl",
]
SOURCES += [
"nsGNOMEShellService.cpp",
@ -60,11 +98,16 @@ Index: firefox-115.0/browser/components/shell/moz.build
]
if CONFIG["MOZ_ENABLE_DBUS"]:
SOURCES += [
Index: firefox-115.0/browser/components/shell/nsKDEShellService.cpp
===================================================================
"nsGNOMEShellDBusHelper.cpp",
"nsGNOMEShellSearchProvider.cpp",
]
include("/ipc/chromium/chromium-config.mozbuild")
diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp
new file mode 100644
--- /dev/null
+++ firefox-115.0/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,109 @@
+++ b/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,108 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@ -120,8 +163,7 @@ Index: firefox-115.0/browser/components/shell/nsKDEShellService.cpp
+}
+
+NS_IMETHODIMP
+nsKDEShellService::SetDefaultBrowser(bool aClaimAllTypes,
+ bool aForAllUsers)
+nsKDEShellService::SetDefaultBrowser(bool aForAllUsers)
+{
+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
+ if (!command)
@ -135,7 +177,7 @@ Index: firefox-115.0/browser/components/shell/nsKDEShellService.cpp
+ cmdstr->SetData("SETDEFAULTBROWSER"_ns);
+ command->AppendElement( cmdstr );
+
+ paramstr->SetData( aClaimAllTypes ? "ALLTYPES"_ns : "NORMAL"_ns );
+ paramstr->SetData("ALLTYPES"_ns);
+ command->AppendElement( paramstr );
+
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
@ -174,10 +216,10 @@ Index: firefox-115.0/browser/components/shell/nsKDEShellService.cpp
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
Index: firefox-115.0/browser/components/shell/nsKDEShellService.h
===================================================================
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
new file mode 100644
--- /dev/null
+++ firefox-115.0/browser/components/shell/nsKDEShellService.h
+++ b/browser/components/shell/nsKDEShellService.h
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
@ -211,10 +253,10 @@ Index: firefox-115.0/browser/components/shell/nsKDEShellService.h
+};
+
+#endif // nskdeshellservice_h____
Index: firefox-115.0/browser/components/shell/nsUnixShellService.cpp
===================================================================
diff --git a/browser/components/shell/nsUnixShellService.cpp b/browser/components/shell/nsUnixShellService.cpp
new file mode 100644
--- /dev/null
+++ firefox-115.0/browser/components/shell/nsUnixShellService.cpp
+++ b/browser/components/shell/nsUnixShellService.cpp
@@ -0,0 +1,22 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
@ -238,10 +280,10 @@ Index: firefox-115.0/browser/components/shell/nsUnixShellService.cpp
+ return nsKDEShellServiceConstructor( aIID, aResult );
+ return nsGNOMEShellServiceConstructor( aIID, aResult );
+}
Index: firefox-115.0/browser/components/shell/nsUnixShellService.h
===================================================================
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
new file mode 100644
--- /dev/null
+++ firefox-115.0/browser/components/shell/nsUnixShellService.h
+++ b/browser/components/shell/nsUnixShellService.h
@@ -0,0 +1,15 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public

View File

@ -0,0 +1,13 @@
Index: firefox-124.0.1/mfbt/Assertions.h
===================================================================
--- firefox-124.0.1.orig/mfbt/Assertions.h
+++ firefox-124.0.1/mfbt/Assertions.h
@@ -230,7 +230,7 @@ MOZ_NoReturn(int aLine) {
# define MOZ_REALLY_CRASH(line) \
do { \
*((volatile int*)MOZ_CRASH_WRITE_ADDR) = line; /* NOLINT */ \
- MOZ_NOMERGE ::abort(); \
+ ::abort(); \
} while (false)
# else
# define MOZ_REALLY_CRASH(line) \

BIN
l10n-115.13.0esr.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
l10n-128.1.0esr.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -2,9 +2,10 @@
# Parent 9fcbd287056a40084b1e679f787bf683b291f323
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
Index: firefox-128.0/gfx/2d/DrawTargetSkia.cpp
===================================================================
--- firefox-128.0.orig/gfx/2d/DrawTargetSkia.cpp
+++ firefox-128.0/gfx/2d/DrawTargetSkia.cpp
@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
}
@ -15,9 +16,10 @@ diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h
Index: firefox-128.0/gfx/2d/Types.h
===================================================================
--- firefox-128.0.orig/gfx/2d/Types.h
+++ firefox-128.0/gfx/2d/Types.h
@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
// This represents the unknown format.
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
@ -40,10 +42,11 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
// The following values are OS and endian-independent synonyms.
//
diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
--- a/gfx/skia/skia/modules/skcms/skcms.cc
+++ b/gfx/skia/skia/modules/skcms/skcms.cc
@@ -30,6 +30,8 @@
Index: firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc
===================================================================
--- firefox-128.0.orig/gfx/skia/skia/modules/skcms/skcms.cc
+++ firefox-128.0/gfx/skia/skia/modules/skcms/skcms.cc
@@ -31,6 +31,8 @@
#include <avx512fintrin.h>
#include <avx512dqintrin.h>
#endif
@ -51,7 +54,7 @@ diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/
+ #define SKCMS_PORTABLE
#endif
static bool runtime_cpu_detection = true;
using namespace skcms_private;
@@ -324,20 +326,28 @@ enum {
static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be;

View File

@ -1,17 +0,0 @@
# HG changeset patch
# Parent 09cd4ac2cc607e85aa572425b824fbab386af607
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
@@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
// ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa)
+ // TODO: Check this for endian-issues!
+ // Do we need to switch 255 to the front for all of those tuples?
return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
+ d.approxMulDiv255(aa.inv());
};

View File

@ -1,35 +0,0 @@
# HG changeset patch
# Parent f9f5af4c88f2f3172a4f30d7e42bd2131bf24146
This fixes a broken build for gcc < 9 on ppc64le.
This patch can be removed for newer gcc-versions.
Index: firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
===================================================================
--- firefox-115.0.orig/js/xpconnect/src/XPCWrappedNative.cpp
+++ firefox-115.0/js/xpconnect/src/XPCWrappedNative.cpp
@@ -1061,7 +1061,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
MOZ_ALWAYS_INLINE bool GetOutParamSource(uint8_t paramIndex,
MutableHandleValue srcp) const;
- MOZ_ALWAYS_INLINE bool GatherAndConvertResults();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+ MOZ_ALWAYS_INLINE
+#endif
+ bool GatherAndConvertResults();
MOZ_ALWAYS_INLINE bool QueryInterfaceFastPath();
@@ -1108,7 +1112,11 @@ class MOZ_STACK_CLASS CallMethodHelper f
~CallMethodHelper();
- MOZ_ALWAYS_INLINE bool Call();
+#if !(__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
+// Work around a compiler bug on ppc64le (bug 1512162).
+ MOZ_ALWAYS_INLINE
+#endif
+ bool Call();
// Trace implementation so we can put our CallMethodHelper in a Rooted<T>.
void trace(JSTracer* aTrc);

401
mozilla-bmo1898476.patch Normal file
View File

@ -0,0 +1,401 @@
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1720609192 0
# Node ID f9323daf7abeb19f69ac5762a0a442c0dc15636e
# Parent 5afadee4e18fc5779d789d9371a3d2d67a29d1da
Bug 1898476 [Wayland] Move MozContainerSurfaceLock from MozContainerWayland to MozContainerSurfaceLock module r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D214883
diff --git a/widget/gtk/MozContainerSurfaceLock.cpp b/widget/gtk/MozContainerSurfaceLock.cpp
new file mode 100644
--- /dev/null
+++ b/widget/gtk/MozContainerSurfaceLock.cpp
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "MozContainerSurfaceLock.h"
+#include "MozContainer.h"
+#include "WidgetUtilsGtk.h"
+
+using namespace mozilla::widget;
+
+MozContainerSurfaceLock::MozContainerSurfaceLock(MozContainer* aContainer) {
+#ifdef MOZ_WAYLAND
+ mContainer = aContainer;
+ if (GdkIsWaylandDisplay()) {
+ // mSurface can be nullptr if we lock hidden MozContainer and
+ // that's correct, MozContainer is still locked.
+ mSurface = moz_container_wayland_surface_lock(aContainer);
+ }
+#endif
+}
+
+MozContainerSurfaceLock::~MozContainerSurfaceLock() {
+#ifdef MOZ_WAYLAND
+ if (GdkIsWaylandDisplay()) {
+ moz_container_wayland_surface_unlock(mContainer, &mSurface);
+ }
+#endif
+}
+
+struct wl_surface* MozContainerSurfaceLock::GetSurface() { return mSurface; }
diff --git a/widget/gtk/MozContainerSurfaceLock.h b/widget/gtk/MozContainerSurfaceLock.h
new file mode 100644
--- /dev/null
+++ b/widget/gtk/MozContainerSurfaceLock.h
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef widget_gtk_MozContainerSurfaceLock_h
+#define widget_gtk_MozContainerSurfaceLock_h
+
+struct wl_surface;
+struct _MozContainer;
+typedef struct _MozContainer MozContainer;
+
+class MozContainerSurfaceLock {
+ public:
+ explicit MozContainerSurfaceLock(MozContainer* aContainer);
+ ~MozContainerSurfaceLock();
+
+ // wl_surface can be nullptr if we lock hidden MozContainer.
+ struct wl_surface* GetSurface();
+
+ private:
+#ifdef MOZ_WAYLAND
+ MozContainer* mContainer = nullptr;
+#endif
+ struct wl_surface* mSurface = nullptr;
+};
+
+#endif // widget_gtk_MozContainerSurfaceLock_h
diff --git a/widget/gtk/MozContainerWayland.cpp b/widget/gtk/MozContainerWayland.cpp
--- a/widget/gtk/MozContainerWayland.cpp
+++ b/widget/gtk/MozContainerWayland.cpp
@@ -82,33 +82,16 @@ using namespace mozilla;
using namespace mozilla::widget;
static bool moz_container_wayland_surface_create_locked(
const MutexAutoLock& aProofOfLock, MozContainer* container);
static void moz_container_wayland_set_opaque_region_locked(
const MutexAutoLock& aProofOfLock, MozContainer* container,
const LayoutDeviceIntRegion&);
-// Lock mozcontainer and get wayland surface of it. You need to pair with
-// moz_container_wayland_surface_unlock() even
-// if moz_container_wayland_surface_lock() fails and returns nullptr.
-static struct wl_surface* moz_container_wayland_surface_lock(
- MozContainer* container);
-static void moz_container_wayland_surface_unlock(MozContainer* container,
- struct wl_surface** surface);
-
-MozContainerSurfaceLock::MozContainerSurfaceLock(MozContainer* aContainer) {
- mContainer = aContainer;
- mSurface = moz_container_wayland_surface_lock(aContainer);
-}
-MozContainerSurfaceLock::~MozContainerSurfaceLock() {
- moz_container_wayland_surface_unlock(mContainer, &mSurface);
-}
-struct wl_surface* MozContainerSurfaceLock::GetSurface() { return mSurface; }
-
// Invalidate gtk wl_surface to commit changes to wl_subsurface.
// wl_subsurface changes are effective when parent surface is commited.
static void moz_container_wayland_invalidate(MozContainer* container) {
LOGWAYLAND("moz_container_wayland_invalidate [%p]\n",
(void*)moz_container_get_nsWindow(container));
GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(container));
if (!window) {
diff --git a/widget/gtk/MozContainerWayland.h b/widget/gtk/MozContainerWayland.h
--- a/widget/gtk/MozContainerWayland.h
+++ b/widget/gtk/MozContainerWayland.h
@@ -8,16 +8,17 @@
#ifndef __MOZ_CONTAINER_WAYLAND_H__
#define __MOZ_CONTAINER_WAYLAND_H__
#include <gtk/gtk.h>
#include <functional>
#include <vector>
#include "mozilla/Mutex.h"
#include "WindowSurface.h"
+#include "MozContainerSurfaceLock.h"
/*
* MozContainer
*
* This class serves three purposes in the nsIWidget implementation.
*
* - It provides objects to receive signals from GTK for events on native
* windows.
@@ -56,25 +57,22 @@ struct MozContainerWayland {
mozilla::Mutex container_lock{"MozContainerWayland::container_lock"};
};
struct _MozContainer;
struct _MozContainerClass;
typedef struct _MozContainer MozContainer;
typedef struct _MozContainerClass MozContainerClass;
-class MozContainerSurfaceLock {
- MozContainer* mContainer;
- struct wl_surface* mSurface;
-
- public:
- explicit MozContainerSurfaceLock(MozContainer* aContainer);
- ~MozContainerSurfaceLock();
- struct wl_surface* GetSurface();
-};
+// Lock mozcontainer and get wayland surface of it. You need to pair with
+// moz_container_wayland_surface_unlock() even
+// if moz_container_wayland_surface_lock() fails and returns nullptr.
+struct wl_surface* moz_container_wayland_surface_lock(MozContainer* container);
+void moz_container_wayland_surface_unlock(MozContainer* container,
+ struct wl_surface** surface);
void moz_container_wayland_map(GtkWidget*);
gboolean moz_container_wayland_map_event(GtkWidget*, GdkEventAny*);
void moz_container_wayland_size_allocate(GtkWidget*, GtkAllocation*);
void moz_container_wayland_unmap(GtkWidget*);
struct wl_egl_window* moz_container_wayland_get_egl_window(
MozContainer* container, double scale);
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
@@ -28,16 +28,17 @@ if CONFIG["MOZ_WAYLAND"]:
if CONFIG["MOZ_ENABLE_VAAPI"]:
DIRS += ["vaapitest"]
if CONFIG["MOZ_ENABLE_V4L2"]:
DIRS += ["v4l2test"]
EXPORTS += [
"MozContainer.h",
+ "MozContainerSurfaceLock.h",
"nsGTKToolkit.h",
"nsGtkUtils.h",
"nsImageToPixbuf.h",
]
EXPORTS.mozilla += [
"GfxInfo.h",
"GfxInfoUtils.h",
@@ -66,16 +67,17 @@ UNIFIED_SOURCES += [
"DMABufLibWrapper.cpp",
"DMABufSurface.cpp",
"GfxInfo.cpp",
"gtk3drawing.cpp",
"GtkCompositorWidget.cpp",
"IMContextWrapper.cpp",
"InProcessGtkCompositorWidget.cpp",
"MozContainer.cpp",
+ "MozContainerSurfaceLock.cpp",
"MPRISServiceHandler.cpp",
"NativeKeyBindings.cpp",
"NativeMenuGtk.cpp",
"NativeMenuSupport.cpp",
"nsApplicationChooser.cpp",
"nsAppShell.cpp",
"nsBidiKeyboard.cpp",
"nsClipboard.cpp",
@@ -109,16 +111,17 @@ if CONFIG["MOZ_WAYLAND"]:
UNIFIED_SOURCES += [
"MozContainerWayland.cpp",
"nsClipboardWayland.cpp",
"nsWaylandDisplay.cpp",
"WaylandBuffer.cpp",
"WindowSurfaceWaylandMultiBuffer.cpp",
]
EXPORTS.mozilla.widget += [
+ "MozContainerSurfaceLock.h",
"MozContainerWayland.h",
"nsWaylandDisplay.h",
"WaylandBuffer.h",
]
if CONFIG["MOZ_X11"]:
UNIFIED_SOURCES += [
"nsClipboardX11.cpp",
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1720609193 0
# Node ID a264ff9e9f6f87ca0520a884b29c4be90001533e
# Parent f9323daf7abeb19f69ac5762a0a442c0dc15636e
Bug 1898476 [Wayland] Provide surface lock by GtkCompositorWidget r=emilio
Depends on D214883
Differential Revision: https://phabricator.services.mozilla.com/D214884
diff --git a/widget/gtk/GtkCompositorWidget.cpp b/widget/gtk/GtkCompositorWidget.cpp
--- a/widget/gtk/GtkCompositorWidget.cpp
+++ b/widget/gtk/GtkCompositorWidget.cpp
@@ -206,10 +206,14 @@ void GtkCompositorWidget::SetRenderingSu
}
#ifdef MOZ_LOGGING
bool GtkCompositorWidget::IsPopup() {
return mWidget ? mWidget->IsPopup() : false;
}
#endif
+UniquePtr<MozContainerSurfaceLock> GtkCompositorWidget::LockSurface() {
+ return mWidget->LockSurface();
+}
+
} // namespace widget
} // namespace mozilla
diff --git a/widget/gtk/GtkCompositorWidget.h b/widget/gtk/GtkCompositorWidget.h
--- a/widget/gtk/GtkCompositorWidget.h
+++ b/widget/gtk/GtkCompositorWidget.h
@@ -5,16 +5,18 @@
#ifndef widget_gtk_GtkCompositorWidget_h
#define widget_gtk_GtkCompositorWidget_h
#include "GLDefs.h"
#include "mozilla/DataMutex.h"
#include "mozilla/widget/CompositorWidget.h"
#include "WindowSurfaceProvider.h"
+#include "mozilla/UniquePtr.h"
+#include "MozContainerSurfaceLock.h"
class nsIWidget;
class nsWindow;
namespace mozilla {
namespace layers {
class NativeLayerRootWayland;
@@ -91,16 +93,18 @@ class GtkCompositorWidget : public Compo
RefPtr<mozilla::layers::NativeLayerRoot> GetNativeLayerRoot() override;
#endif
// PlatformCompositorWidgetDelegate Overrides
void NotifyClientSizeChanged(const LayoutDeviceIntSize& aClientSize) override;
GtkCompositorWidget* AsGtkCompositorWidget() override { return this; }
+ UniquePtr<MozContainerSurfaceLock> LockSurface();
+
private:
#if defined(MOZ_WAYLAND)
void ConfigureWaylandBackend();
#endif
#if defined(MOZ_X11)
void ConfigureX11Backend(Window aXWindow, bool aShaped);
#endif
#ifdef MOZ_LOGGING
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -10271,8 +10271,15 @@ void nsWindow::SetDragSource(GdkDragCont
mSourceDragContext = aSourceDragContext;
if (IsPopup() &&
(widget::GdkIsWaylandDisplay() || widget::IsXWaylandProtocol())) {
if (auto* menuPopupFrame = GetMenuPopupFrame(GetFrame())) {
menuPopupFrame->SetIsDragSource(!!aSourceDragContext);
}
}
}
+
+UniquePtr<MozContainerSurfaceLock> nsWindow::LockSurface() {
+ if (mIsDestroyed) {
+ return nullptr;
+ }
+ return MakeUnique<MozContainerSurfaceLock>(mContainer);
+}
diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h
--- a/widget/gtk/nsWindow.h
+++ b/widget/gtk/nsWindow.h
@@ -8,16 +8,17 @@
#ifndef __nsWindow_h__
#define __nsWindow_h__
#include <gdk/gdk.h>
#include <gtk/gtk.h>
#include "CompositorWidget.h"
#include "MozContainer.h"
+#include "MozContainerSurfaceLock.h"
#include "VsyncSource.h"
#include "mozilla/EventForwards.h"
#include "mozilla/Maybe.h"
#include "mozilla/RefPtr.h"
#include "mozilla/TouchEvents.h"
#include "mozilla/UniquePtr.h"
#include "mozilla/RWLock.h"
#include "mozilla/widget/WindowSurface.h"
@@ -416,16 +417,18 @@ class nsWindow final : public nsBaseWidg
static bool TitlebarUseShapeMask();
bool IsRemoteContent() { return HasRemoteContent(); }
void NativeMoveResizeWaylandPopupCallback(const GdkRectangle* aFinalSize,
bool aFlippedX, bool aFlippedY);
static bool IsToplevelWindowTransparent();
static nsWindow* GetFocusedWindow();
+ mozilla::UniquePtr<MozContainerSurfaceLock> LockSurface();
+
#ifdef MOZ_WAYLAND
// Use xdg-activation protocol to transfer focus from gFocusWindow to aWindow.
static void TransferFocusToWaylandWindow(nsWindow* aWindow);
void FocusWaylandWindow(const char* aTokenID);
bool GetCSDDecorationOffset(int* aDx, int* aDy);
bool SetEGLNativeWindowSize(const LayoutDeviceIntSize& aEGLWindowSize);
void WaylandDragWorkaround(GdkEventButton* aEvent);
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1720609193 0
# Node ID eb230ecdf8eb26a9ed340873b58fe7b71f94f8e8
# Parent a264ff9e9f6f87ca0520a884b29c4be90001533e
Bug 1898476 [Wayland] Lock Wayland surface before Swap buffers in RenderCompositorEGL r=emilio
Depends on D214884
Differential Revision: https://phabricator.services.mozilla.com/D214885
diff --git a/gfx/webrender_bindings/RenderCompositorEGL.cpp b/gfx/webrender_bindings/RenderCompositorEGL.cpp
--- a/gfx/webrender_bindings/RenderCompositorEGL.cpp
+++ b/gfx/webrender_bindings/RenderCompositorEGL.cpp
@@ -149,16 +149,26 @@ RenderedFrameId RenderCompositorEGL::End
const auto width = right - left;
const auto height = bottom - top;
bufferInvalid.OrWith(
gfx::IntRect(left, (GetBufferSize().height - bottom), width, height));
}
gl()->SetDamage(bufferInvalid);
}
+
+#ifdef MOZ_WIDGET_GTK
+ // Rendering on Wayland has to be atomic (buffer attach + commit) and
+ // wayland surface is also used by main thread so lock it before
+ // we paint at SwapBuffers().
+ UniquePtr<MozContainerSurfaceLock> lock;
+ if (auto* gtkWidget = mWidget->AsGTK()) {
+ lock = gtkWidget->LockSurface();
+ }
+#endif
gl()->SwapBuffers();
return frameId;
}
void RenderCompositorEGL::Pause() { DestroyEGLSurface(); }
bool RenderCompositorEGL::Resume() {
if (kIsAndroid) {

29
mozilla-bmo1907511.patch Normal file
View File

@ -0,0 +1,29 @@
# HG changeset patch
# User stransky <stransky@redhat.com>
# Date 1720807971 0
# Node ID d8a0164db5db7090fd7549b03dd0391f7151649c
# Parent e243955016ffa880296b8d82cf531887dfb3ac22
Bug 1907511 [Linux/X11] Check mWindow at GtkCompositorWidget::LockSurface() r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D216380
diff --git a/widget/gtk/GtkCompositorWidget.cpp b/widget/gtk/GtkCompositorWidget.cpp
--- a/widget/gtk/GtkCompositorWidget.cpp
+++ b/widget/gtk/GtkCompositorWidget.cpp
@@ -207,13 +207,13 @@ void GtkCompositorWidget::SetRenderingSu
#ifdef MOZ_LOGGING
bool GtkCompositorWidget::IsPopup() {
return mWidget ? mWidget->IsPopup() : false;
}
#endif
UniquePtr<MozContainerSurfaceLock> GtkCompositorWidget::LockSurface() {
- return mWidget->LockSurface();
+ return mWidget ? mWidget->LockSurface() : nullptr;
}
} // namespace widget
} // namespace mozilla

View File

@ -1,33 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent fa8a5832a374ccd7af5db927b992b5d9f15273ef
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
--- a/modules/fdlibm/src/math_private.h
+++ b/modules/fdlibm/src/math_private.h
@@ -25,19 +25,24 @@
#include "fdlibm.h"
/*
* Emulate FreeBSD internal double types.
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
*/
+#ifdef __i386__
+typedef long double __double_t;
+typedef long double __float_t;
+#else
typedef double __double_t;
+typedef float __float_t;
+#endif
typedef __double_t double_t;
-typedef float __float_t;
/*
* The original fdlibm code used statements like:
* n0 = ((*(int*)&one)>>29)^1; * index of high word *
* ix0 = *(n0+(int*)&x); * high word of x *
* ix1 = *((1-n0)+(int*)&x); * low word of x *
* to dig two 32 bit words out of the 64 bit IEEE floating point
* value. That is non-ANSI, and, moreover, the gcc instruction

View File

@ -1,15 +0,0 @@
# HG changeset patch
# Parent af2c24874d79cbebb444727ae96f2fefa3f22b47
diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
--- a/media/libopus/silk/arm/arm_silk_map.c
+++ b/media/libopus/silk/arm/arm_silk_map.c
@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
# include "config.h"
#endif
-#include "main_FIX.h"
+#include "../fixed/main_FIX.h"
#include "NSQ.h"
#include "SigProc_FIX.h"

View File

@ -1,66 +0,0 @@
From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Fri, 17 May 2019 14:41:35 +0200
Subject: [PATCH] Fix top-level asm issue.
---
security/sandbox/linux/moz.build | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
--- a/security/sandbox/linux/moz.build
+++ b/security/sandbox/linux/moz.build
@@ -66,32 +66,32 @@ UNIFIED_SOURCES += [
"../chromium/base/time/time_now_posix.cc",
"../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc",
"../chromium/sandbox/linux/bpf_dsl/codegen.cc",
"../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc",
"../chromium/sandbox/linux/bpf_dsl/policy.cc",
"../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc",
"../chromium/sandbox/linux/bpf_dsl/syscall_set.cc",
"../chromium/sandbox/linux/seccomp-bpf/die.cc",
- "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
"broker/SandboxBrokerCommon.cpp",
"Sandbox.cpp",
"SandboxBrokerClient.cpp",
"SandboxFilter.cpp",
"SandboxFilterUtil.cpp",
"SandboxHooks.cpp",
"SandboxInfo.cpp",
"SandboxLogging.cpp",
"SandboxOpenedFiles.cpp",
"SandboxReporterClient.cpp",
]
SOURCES += [
"../chromium/base/strings/safe_sprintf.cc",
"../chromium/base/third_party/icu/icu_utf.cc",
+ "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
"../chromium/sandbox/linux/seccomp-bpf/trap.cc",
"../chromium/sandbox/linux/services/syscall_wrappers.cc",
]
# This copy of SafeSPrintf doesn't need to avoid the Chromium logging
# dependency like the one in libxul does, but this way the behavior is
# consistent. See also the comment in SandboxLogging.h.
SOURCES["../chromium/base/strings/safe_sprintf.cc"].flags += ["-DNDEBUG"]
@@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
"-Wno-unreachable-code-return"
]
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Wno-error=stack-protector"]
SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
"-Wno-empty-body",
]
+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
+ '-fno-lto'
+ ]
# gcc lto likes to put the top level asm in syscall.cc in a different partition
# from the function using it which breaks the build. Work around that by
# forcing there to be only one partition.
for f in CONFIG["OS_CXXFLAGS"]:
if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
LDFLAGS += ["--param lto-partitions=1"]

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,12 @@
# HG changeset patch
# 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
@@ -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
Index: firefox-127.0/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
===================================================================
--- firefox-127.0.orig/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
+++ firefox-127.0/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
@@ -49,6 +49,8 @@ static const char* sLibs[] = {
"libavcodec.so.61",
"libavcodec.so.60",
"libavcodec.so.59",
+ "libavcodec.so.58.134",
@ -18,8 +14,3 @@ diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/plat
"libavcodec.so.58",
"libavcodec-ffmpeg.so.58",
"libavcodec-ffmpeg.so.57",
"libavcodec-ffmpeg.so.56",
"libavcodec.so.57",
"libavcodec.so.56",
"libavcodec.so.55",
"libavcodec.so.54",

View File

@ -1,13 +0,0 @@
Index: firefox-102.4.0/mfbt/EnumSet.h
===================================================================
--- firefox-102.4.0.orig/mfbt/EnumSet.h
+++ firefox-102.4.0/mfbt/EnumSet.h
@@ -326,7 +326,7 @@ class EnumSet {
}
}
- static constexpr size_t kMaxBits = MaxBits();
+ static constexpr size_t kMaxBits = EnumSet().MaxBits();
Serialized mBitField;

View File

@ -0,0 +1,16 @@
# HG changeset patch
# Parent 83a5e219b271976ee9dfa46b74ecc1c1c6d49f94
Index: firefox-128.0/Cargo.toml
===================================================================
--- firefox-128.0.orig/Cargo.toml
+++ firefox-128.0/Cargo.toml
@@ -236,3 +236,8 @@ mio_0_8 = { package = "mio", git = "http
# Patch `gpu-descriptor` 0.3.0 to remove unnecessary `allocator-api2` dep.:
# Still waiting for the now-merged <https://github.com/zakarumych/gpu-descriptor/pull/40> to be released.
gpu-descriptor = { git = "https://github.com/zakarumych/gpu-descriptor", rev = "7b71a4e47c81903ad75e2c53deb5ab1310f6ff4d" }
+
+# Package code v0.1.4 uses code "that will be rejected by a future version of Rust"
+# Shut up such messages for now to make the build succeed
+[future-incompat-report]
+frequency = "never"

View File

@ -1,10 +1,10 @@
# HG changeset patch
# Parent 5df550d4b5fc674268055e504f60392389eb9ea7
# Parent af0655f894a27ef60aa8438af7939a5ebc498df0
Index: firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
Index: firefox-128.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h
+++ firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
--- firefox-128.0.orig/gfx/skia/skia/include/codec/SkEncodedOrigin.h
+++ firefox-128.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
@@ -41,6 +41,7 @@ static inline SkMatrix SkEncodedOriginTo
case kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, 1, 0, -1, 0, h, 0, 0, 1);
}
@ -13,11 +13,11 @@ Index: firefox-115.0/gfx/skia/skia/include/codec/SkEncodedOrigin.h
}
/**
Index: firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
Index: firefox-128.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
+++ firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
@@ -325,6 +325,7 @@ static inline bool GrTextureTypeHasRestr
--- firefox-128.0.orig/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
+++ firefox-128.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
@@ -301,6 +301,7 @@ static inline bool GrTextureTypeHasRestr
default:
SK_ABORT("Unexpected texture type");
}
@ -25,10 +25,10 @@ Index: firefox-115.0/gfx/skia/skia/include/private/gpu/ganesh/GrTypesPriv.h
}
//////////////////////////////////////////////////////////////////////////////
Index: firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp
Index: firefox-128.0/gfx/skia/skia/src/core/SkDescriptor.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkDescriptor.cpp
+++ firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkDescriptor.cpp
+++ firefox-128.0/gfx/skia/skia/src/core/SkDescriptor.cpp
@@ -26,6 +26,7 @@ std::unique_ptr<SkDescriptor> SkDescript
void SkDescriptor::operator delete(void* p) { ::operator delete(p); }
void* SkDescriptor::operator new(size_t) {
@ -37,10 +37,10 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkDescriptor.cpp
}
void SkDescriptor::flatten(SkWriteBuffer& buffer) const {
Index: firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h
Index: firefox-128.0/gfx/skia/skia/src/core/SkGeometry.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkGeometry.h
+++ firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkGeometry.h
+++ firefox-128.0/gfx/skia/skia/src/core/SkGeometry.h
@@ -281,6 +281,7 @@ static inline bool SkCubicIsDegenerate(S
return true;
}
@ -57,11 +57,11 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkGeometry.h
}
/** Returns the cubic classification.
Index: firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp
Index: firefox-128.0/gfx/skia/skia/src/core/SkTextBlob.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkTextBlob.cpp
+++ firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp
@@ -204,6 +204,7 @@ void SkTextBlob::operator delete(void* p
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkTextBlob.cpp
+++ firefox-128.0/gfx/skia/skia/src/core/SkTextBlob.cpp
@@ -213,6 +213,7 @@ void SkTextBlob::operator delete(void* p
void* SkTextBlob::operator new(size_t) {
SK_ABORT("All blobs are created by placement new.");
@ -69,11 +69,11 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTextBlob.cpp
}
void* SkTextBlob::operator new(size_t, void* p) {
Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
Index: firefox-128.0/gfx/skia/skia/src/core/SkTypeface_remote.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/core/SkTypeface_remote.h
+++ firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
@@ -95,12 +95,14 @@ public:
--- firefox-128.0.orig/gfx/skia/skia/src/core/SkTypeface_remote.h
+++ firefox-128.0/gfx/skia/skia/src/core/SkTypeface_remote.h
@@ -108,12 +108,14 @@ public:
bool isLogging() const {return fIsLogging;}
protected:
@ -89,7 +89,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
bool onGlyphMaskNeedsCurrentColor() const override {
return fGlyphMaskNeedsCurrentColor;
@@ -108,10 +110,12 @@ protected:
@@ -121,10 +123,12 @@ protected:
int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[],
int coordinateCount) const override {
SK_ABORT("Should never be called.");
@ -102,7 +102,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
void onGetFamilyName(SkString* familyName) const override {
// Used by SkStrikeCache::DumpMemoryStatistics.
@@ -119,15 +123,19 @@ protected:
@@ -132,15 +136,19 @@ protected:
}
bool onGetPostScriptName(SkString*) const override {
SK_ABORT("Should never be called.");
@ -122,7 +122,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
std::unique_ptr<SkScalerContext> onCreateScalerContext(
const SkScalerContextEffects& effects, const SkDescriptor* desc) const override
@@ -141,20 +149,25 @@ protected:
@@ -154,20 +162,25 @@ protected:
}
void onGetFontDescriptor(SkFontDescriptor*, bool*) const override {
SK_ABORT("Should never be called.");
@ -148,7 +148,7 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
int onCountGlyphs() const override {
return this->glyphCount();
@@ -162,6 +175,7 @@ protected:
@@ -175,6 +188,7 @@ protected:
void* onGetCTFontRef() const override {
SK_ABORT("Should never be called.");
@ -156,73 +156,34 @@ Index: firefox-115.0/gfx/skia/skia/src/core/SkTypeface_remote.h
}
private:
Index: firefox-115.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
Index: firefox-128.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
+++ firefox-115.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
@@ -815,6 +815,7 @@ sk_sp<SkSpecialImage> cpu_blur(
--- firefox-128.0.orig/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
+++ firefox-128.0/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
@@ -799,6 +799,7 @@ sk_sp<SkSpecialImage> cpu_blur(const ski
return maker;
}
SK_ABORT("Sigma is out of range.");
+ SkUNREACHABLE;
};
PassMaker* makerX = makeMaker(sigma.x());
Index: firefox-115.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
PassMaker* makerX = makeMaker(sigma.width());
Index: firefox-128.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
+++ firefox-115.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
+++ firefox-128.0/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
@@ -69,6 +69,7 @@ void SkFontMgr_Indirect::onGetFamilyName
SkFontStyleSet* SkFontMgr_Indirect::onCreateStyleSet(int index) const {
sk_sp<SkFontStyleSet> SkFontMgr_Indirect::onCreateStyleSet(int index) const {
SK_ABORT("Not implemented");
+ SkUNREACHABLE;
}
SkFontStyleSet* SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const {
Index: firefox-115.0/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
sk_sp<SkFontStyleSet> SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const {
Index: firefox-128.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
+++ firefox-115.0/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
@@ -162,18 +162,22 @@ public:
protected:
int onCountFamilies() const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
void onGetFamilyName(int index, SkString* familyName) const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
SkFontStyleSet* onCreateStyleSet(int index) const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
SkFontStyleSet* onMatchFamily(const char familyName[]) const override {
SK_ABORT("Not implemented.");
+ SkUNREACHABLE;
}
SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[],
Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLCompiler.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/sksl/SkSLCompiler.cpp
+++ firefox-115.0/gfx/skia/skia/src/sksl/SkSLCompiler.cpp
@@ -277,6 +277,7 @@ std::unique_ptr<Expression> Compiler::co
}
default:
SK_ABORT("unsupported symbol type %d\n", (int) result->kind());
+ SkUNREACHABLE;
}
}
Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/sksl/SkSLOperator.cpp
+++ firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/sksl/SkSLOperator.cpp
+++ firefox-128.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
@@ -51,7 +51,7 @@ OperatorPrecedence Operator::getBinaryPr
case Kind::BITWISEXOREQ: // fall through
case Kind::BITWISEOREQ: return OperatorPrecedence::kAssignment;
@ -232,22 +193,22 @@ Index: firefox-115.0/gfx/skia/skia/src/sksl/SkSLOperator.cpp
}
}
Index: firefox-115.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
Index: firefox-128.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/sksl/ir/SkSLType.h
+++ firefox-115.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
@@ -422,6 +422,7 @@ public:
--- firefox-128.0.orig/gfx/skia/skia/src/sksl/ir/SkSLType.h
+++ firefox-128.0/gfx/skia/skia/src/sksl/ir/SkSLType.h
@@ -468,6 +468,7 @@ public:
virtual const std::vector<Field>& fields() const {
virtual SkSpan<const Field> fields() const {
SK_ABORT("Internal error: not a struct");
+ SkUNREACHABLE;
}
/**
Index: firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
Index: firefox-128.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
===================================================================
--- firefox-115.0.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp
+++ firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
--- firefox-128.0.orig/gfx/skia/skia/src/utils/SkShadowUtils.cpp
+++ firefox-128.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
@@ -140,6 +140,7 @@ struct SpotVerticesFactory {
return true;
}
@ -256,11 +217,11 @@ Index: firefox-115.0/gfx/skia/skia/src/utils/SkShadowUtils.cpp
}
sk_sp<SkVertices> makeVertices(const SkPath& path, const SkMatrix& ctm,
Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
Index: firefox-128.0/intl/icu/source/i18n/number_rounding.cpp
===================================================================
--- firefox-115.0.orig/intl/icu/source/i18n/number_rounding.cpp
+++ firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
@@ -283,6 +283,7 @@ FractionPrecision Precision::constructFr
--- firefox-128.0.orig/intl/icu/source/i18n/number_rounding.cpp
+++ firefox-128.0/intl/icu/source/i18n/number_rounding.cpp
@@ -287,6 +287,7 @@ FractionPrecision Precision::constructFr
settings.fMaxFrac = static_cast<digits_t>(maxFrac);
settings.fMinSig = -1;
settings.fMaxSig = -1;
@ -268,7 +229,7 @@ Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
PrecisionUnion union_;
union_.fracSig = settings;
return {RND_FRACTION, union_};
@@ -294,6 +295,7 @@ Precision Precision::constructSignifican
@@ -298,6 +299,7 @@ Precision Precision::constructSignifican
settings.fMaxFrac = -1;
settings.fMinSig = static_cast<digits_t>(minSig);
settings.fMaxSig = static_cast<digits_t>(maxSig);
@ -276,11 +237,11 @@ Index: firefox-115.0/intl/icu/source/i18n/number_rounding.cpp
PrecisionUnion union_;
union_.fracSig = settings;
return {RND_SIGNIFICANT, union_};
Index: firefox-115.0/js/src/irregexp/imported/regexp-parser.cc
Index: firefox-128.0/js/src/irregexp/imported/regexp-parser.cc
===================================================================
--- firefox-115.0.orig/js/src/irregexp/imported/regexp-parser.cc
+++ firefox-115.0/js/src/irregexp/imported/regexp-parser.cc
@@ -2656,6 +2656,7 @@ bool MayContainStrings(ClassSetOperandTy
--- firefox-128.0.orig/js/src/irregexp/imported/regexp-parser.cc
+++ firefox-128.0/js/src/irregexp/imported/regexp-parser.cc
@@ -2781,6 +2781,7 @@ bool MayContainStrings(ClassSetOperandTy
if (operand->IsClassRanges()) return false;
return operand->AsClassSetExpression()->may_contain_strings();
}
@ -288,10 +249,10 @@ Index: firefox-115.0/js/src/irregexp/imported/regexp-parser.cc
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc
Index: firefox-128.0/third_party/libwebrtc/api/adaptation/resource.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/adaptation/resource.cc
+++ firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc
--- firefox-128.0.orig/third_party/libwebrtc/api/adaptation/resource.cc
+++ firefox-128.0/third_party/libwebrtc/api/adaptation/resource.cc
@@ -22,6 +22,7 @@ const char* ResourceUsageStateToString(R
return "kUnderuse";
}
@ -300,11 +261,11 @@ Index: firefox-115.0/third_party/libwebrtc/api/adaptation/resource.cc
}
ResourceListener::~ResourceListener() {}
Index: firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc
Index: firefox-128.0/third_party/libwebrtc/api/rtp_parameters.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/rtp_parameters.cc
+++ firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc
@@ -32,6 +32,7 @@ const char* DegradationPreferenceToStrin
--- firefox-128.0.orig/third_party/libwebrtc/api/rtp_parameters.cc
+++ firefox-128.0/third_party/libwebrtc/api/rtp_parameters.cc
@@ -33,6 +33,7 @@ const char* DegradationPreferenceToStrin
return "balanced";
}
RTC_CHECK_NOTREACHED();
@ -312,10 +273,10 @@ Index: firefox-115.0/third_party/libwebrtc/api/rtp_parameters.cc
}
const double kDefaultBitratePriority = 1.0;
Index: firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
Index: firefox-128.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/video/video_frame_buffer.cc
+++ firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
--- firefox-128.0.orig/third_party/libwebrtc/api/video/video_frame_buffer.cc
+++ firefox-128.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
@@ -106,6 +106,8 @@ const char* VideoFrameBufferTypeToString
default:
RTC_DCHECK_NOTREACHED();
@ -325,23 +286,23 @@ Index: firefox-115.0/third_party/libwebrtc/api/video/video_frame_buffer.cc
}
int I420BufferInterface::ChromaWidth() const {
Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
Index: firefox-128.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/video_codecs/video_codec.cc
+++ firefox-115.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
@@ -118,6 +118,7 @@ const char* CodecTypeToPayloadString(Vid
return kPayloadNameGeneric;
--- firefox-128.0.orig/third_party/libwebrtc/api/video_codecs/video_codec.cc
+++ firefox-128.0/third_party/libwebrtc/api/video_codecs/video_codec.cc
@@ -162,6 +162,7 @@ const char* CodecTypeToPayloadString(Vid
return kPayloadNameH265;
}
RTC_CHECK_NOTREACHED();
+ return "";
}
VideoCodecType PayloadStringToCodecType(const std::string& name) {
Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
Index: firefox-128.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -163,6 +163,7 @@ class VideoEncoderSoftwareFallbackWrappe
--- firefox-128.0.orig/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+++ firefox-128.0/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
@@ -189,6 +189,7 @@ class VideoEncoderSoftwareFallbackWrappe
return fallback_encoder_.get();
}
RTC_CHECK_NOTREACHED();
@ -349,7 +310,7 @@ Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_softwa
}
// Updates encoder with last observed parameters, such as callbacks, rates,
@@ -343,6 +344,7 @@ int32_t VideoEncoderSoftwareFallbackWrap
@@ -382,6 +383,7 @@ int32_t VideoEncoderSoftwareFallbackWrap
return fallback_encoder_->Encode(frame, frame_types);
}
RTC_CHECK_NOTREACHED();
@ -357,11 +318,11 @@ Index: firefox-115.0/third_party/libwebrtc/api/video_codecs/video_encoder_softwa
}
int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder(
Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
Index: firefox-128.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
+++ firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
@@ -168,6 +168,7 @@ const char* Adaptation::StatusToString(A
--- firefox-128.0.orig/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
+++ firefox-128.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
@@ -169,6 +169,7 @@ const char* Adaptation::StatusToString(A
return "kRejectedByConstraint";
}
RTC_CHECK_NOTREACHED();
@ -369,7 +330,7 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
Adaptation::Adaptation(int validation_id,
@@ -390,6 +391,7 @@ VideoStreamAdapter::RestrictionsOrState
@@ -391,6 +392,7 @@ VideoStreamAdapter::RestrictionsOrState
return Adaptation::Status::kAdaptationDisabled;
}
RTC_CHECK_NOTREACHED();
@ -377,7 +338,7 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
Adaptation VideoStreamAdapter::GetAdaptationDown() {
@@ -472,6 +474,7 @@ VideoStreamAdapter::GetAdaptationDownSte
@@ -473,6 +475,7 @@ VideoStreamAdapter::GetAdaptationDownSte
return Adaptation::Status::kAdaptationDisabled;
}
RTC_CHECK_NOTREACHED();
@ -385,7 +346,7 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution(
@@ -625,6 +628,8 @@ Adaptation VideoStreamAdapter::GetAdaptD
@@ -626,6 +629,8 @@ Adaptation VideoStreamAdapter::GetAdaptD
}
}
RTC_CHECK_NOTREACHED();
@ -394,12 +355,12 @@ Index: firefox-115.0/third_party/libwebrtc/call/adaptation/video_stream_adapter.
}
VideoStreamAdapter::RestrictionsOrState
Index: firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc
Index: firefox-128.0/third_party/libwebrtc/call/rtp_payload_params.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/call/rtp_payload_params.cc
+++ firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc
@@ -407,7 +407,7 @@ absl::optional<FrameDependencyStructure>
case VideoCodecType::kVideoCodecMultiplex:
--- firefox-128.0.orig/third_party/libwebrtc/call/rtp_payload_params.cc
+++ firefox-128.0/third_party/libwebrtc/call/rtp_payload_params.cc
@@ -406,7 +406,7 @@ absl::optional<FrameDependencyStructure>
case VideoCodecType::kVideoCodecH265:
return absl::nullopt;
}
- RTC_DCHECK_NOTREACHED() << "Unsupported codec.";
@ -407,10 +368,10 @@ Index: firefox-115.0/third_party/libwebrtc/call/rtp_payload_params.cc
}
void RtpPayloadParams::GenericToGeneric(int64_t shared_frame_id,
Index: firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc
Index: firefox-128.0/third_party/libwebrtc/call/video_send_stream.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/call/video_send_stream.cc
+++ firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc
--- firefox-128.0.orig/third_party/libwebrtc/call/video_send_stream.cc
+++ firefox-128.0/third_party/libwebrtc/call/video_send_stream.cc
@@ -30,6 +30,7 @@ const char* StreamTypeToString(VideoSend
return "flexfec";
}
@ -419,10 +380,22 @@ Index: firefox-115.0/third_party/libwebrtc/call/video_send_stream.cc
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
Index: firefox-128.0/third_party/libwebrtc/media/base/codec.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
--- firefox-128.0.orig/third_party/libwebrtc/media/base/codec.cc
+++ firefox-128.0/third_party/libwebrtc/media/base/codec.cc
@@ -262,6 +262,7 @@ bool Codec::Matches(const Codec& codec)
case Type::kVideo:
return IsSameCodecSpecific(name, params, codec.name, codec.params);
}
+ return false; // unreached
};
return matches_id && matches_type_specific();
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
===================================================================
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/clipping_predictor.cc
@@ -378,7 +378,7 @@ std::unique_ptr<ClippingPredictor> Creat
config.reference_window_delay, config.clipping_threshold,
/*adaptive_step_estimation=*/false);
@ -432,10 +405,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/clippin
}
} // namespace webrtc
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/input_volume_stats_reporter.cc
@@ -48,6 +48,7 @@ constexpr absl::string_view MetricNamePr
case InputVolumeType::kRecommended:
return "WebRTC.Audio.Apm.RecommendedInputVolume.";
@ -444,11 +417,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/input_v
}
metrics::Histogram* CreateVolumeHistogram(InputVolumeType input_volume_type) {
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
@@ -59,6 +59,8 @@ rtc::FunctionView<float(float)> GetActiv
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
@@ -60,6 +60,8 @@ rtc::FunctionView<float(float)> GetActiv
case ActivationFunction::kSigmoidApproximated:
return ::rnnoise::SigmoidApproximated;
}
@ -457,11 +430,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
@@ -99,6 +99,7 @@ GainControl::Mode Agc1ConfigModeToInterf
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
@@ -101,6 +101,7 @@ GainControl::Mode Agc1ConfigModeToInterf
return GainControl::kFixedDigital;
}
RTC_CHECK_NOTREACHED();
@ -469,7 +442,7 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_proces
}
bool MinimizeProcessingForUnusedOutput() {
@@ -166,7 +167,7 @@ int AudioFormatValidityToErrorCode(Audio
@@ -168,7 +169,7 @@ int AudioFormatValidityToErrorCode(Audio
case AudioFormatValidity::kInvalidChannelCount:
return AudioProcessing::kBadNumberChannelsError;
}
@ -478,7 +451,7 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_proces
}
// Returns an AudioProcessing::Error together with the best possible option for
@@ -2421,6 +2422,7 @@ void AudioProcessingImpl::InitializeNois
@@ -2425,6 +2426,7 @@ void AudioProcessingImpl::InitializeNois
return NsConfig::SuppressionLevel::k21dB;
}
RTC_CHECK_NOTREACHED();
@ -486,10 +459,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/audio_proces
};
NsConfig cfg;
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
@@ -32,6 +32,7 @@ std::string NoiseSuppressionLevelToStrin
return "VeryHigh";
}
@ -506,10 +479,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/include/audi
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
Index: firefox-128.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
+++ firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
+++ firefox-128.0/third_party/libwebrtc/modules/audio_processing/transient/transient_suppressor_impl.cc
@@ -53,6 +53,7 @@ std::string GetVadModeLabel(TransientSup
case TransientSuppressor::VadMode::kNoVad:
return "no VAD";
@ -518,10 +491,23 @@ Index: firefox-115.0/third_party/libwebrtc/modules/audio_processing/transient/tr
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
Index: firefox-128.0/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
+++ firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+++ firefox-128.0/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
@@ -95,6 +95,8 @@ BandwidthLimitedCause GetBandwidthLimite
case LossBasedState::kDelayBasedEstimate:
return BandwidthLimitedCause::kDelayBasedLimited;
}
+ // just return something by default
+ return BandwidthLimitedCause::kLossLimitedBwe;
}
} // namespace
Index: firefox-128.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
===================================================================
--- firefox-128.0.orig/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
+++ firefox-128.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
@@ -44,6 +44,7 @@ ScreenCastPortal::CaptureSourceType Scre
case CaptureType::kAnyScreenContent:
return ScreenCastPortal::CaptureSourceType::kAnyScreenContent;
@ -530,11 +516,23 @@ Index: firefox-115.0/third_party/libwebrtc/modules/desktop_capture/linux/wayland
}
ScreenCastPortal::ScreenCastPortal(CaptureType type, PortalNotifier* notifier)
Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
Index: firefox-128.0/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
+++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
@@ -38,6 +38,7 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
--- firefox-128.0.orig/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
+++ firefox-128.0/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
@@ -84,6 +84,7 @@ bool BitrateProber::ReadyToSetActiveStat
return packet_size >=
std::min(RecommendedMinProbeSize(), config_.min_packet_size.Get());
}
+ RTC_CHECK_NOTREACHED();
}
void BitrateProber::OnIncomingPacket(DataSize packet_size) {
Index: firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
===================================================================
--- firefox-128.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
+++ firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
@@ -46,6 +46,7 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
return std::make_unique<VideoRtpDepacketizerGeneric>();
}
RTC_CHECK_NOTREACHED();
@ -542,11 +540,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_
}
} // namespace webrtc
Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
Index: firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
@@ -142,6 +142,7 @@ bool IsNonVolatile(RTPExtensionType type
--- firefox-128.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
+++ firefox-128.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
@@ -138,6 +138,7 @@ bool IsNonVolatile(RTPExtensionType type
#endif
}
RTC_CHECK_NOTREACHED();
@ -554,22 +552,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
}
bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) {
Index: firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
Index: firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ firefox-115.0/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
@@ -45,6 +45,7 @@ namespace {
return "audio_cn";
}
RTC_CHECK_NOTREACHED();
+ return "";
}
constexpr char kIncludeCaptureClockOffset[] =
Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
+++ firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
+++ firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc
@@ -110,6 +110,7 @@ size_t BufferToIndex(Vp8BufferReference
case Vp8FrameConfig::Vp8BufferReference::kNone:
RTC_CHECK_NOTREACHED();
@ -578,10 +564,10 @@ Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/defau
}
} // namespace
Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
Index: firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
--- firefox-128.0.orig/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+++ firefox-128.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
@@ -30,6 +30,7 @@ TemporalLayersChecker::CreateTemporalLay
return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
}
@ -590,11 +576,11 @@ Index: firefox-115.0/third_party/libwebrtc/modules/video_coding/codecs/vp8/tempo
}
TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers)
Index: firefox-115.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
Index: firefox-128.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
===================================================================
--- firefox-115.0.orig/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
+++ firefox-115.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
@@ -63,6 +63,7 @@ std::string ToString(VideoAdaptationReas
--- firefox-128.0.orig/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
+++ firefox-128.0/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
@@ -64,6 +64,7 @@ std::string ToString(VideoAdaptationReas
return "cpu";
}
RTC_CHECK_NOTREACHED();

View File

@ -12,8 +12,8 @@ pub rsa4096 2015-07-17 [SC]
uid [ full ] Mozilla Software Releases <release@mozilla.com>
sub rsa4096 2015-07-17 [S] [expired: 2017-07-16]
sub rsa4096 2017-06-22 [S] [expired: 2019-06-22]
sub rsa4096 2019-05-30 [S] [expires: 2021-05-29]
sub rsa4096 2021-05-17 [S] [expires: 2023-05-17]
sub rsa4096 2019-05-30 [S] [expired: 2021-05-29]
sub rsa4096 2021-05-17 [S] [expired: 2023-05-17]
sub rsa4096 2023-05-05 [S] [expires: 2025-05-04]
-----BEGIN PGP PUBLIC KEY BLOCK-----

View File

@ -1,10 +1,10 @@
PRODUCT="firefox"
CHANNEL="release"
VERSION="115.13.0"
VERSION="128.1.0"
VERSION_SUFFIX="esr"
PREV_VERSION="115.12.0"
PREV_VERSION="128.0"
PREV_VERSION_SUFFIX="esr"
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-esr115"
RELEASE_TAG="2ac22c53b238cae73c2e72915e2a423dcfa7f099"
RELEASE_TIMESTAMP="20240703222632"
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-esr128"
RELEASE_TAG="b5f945290d0a97227a9de2c841b6695e40a9f7c2"
RELEASE_TIMESTAMP="20240801161923"