forked from pool/MozillaThunderbird
Accepting request 992051 from mozilla:Factory
- Mozilla Thunderbird 102.1.0 * https://www.thunderbird.net/en-US/thunderbird/102.1.0/releasenotes MFSA 2022-32 (bsc#1201758) * CVE-2022-36319 (bmo#1737722) Mouse Position spoofing with CSS transforms * CVE-2022-36318 (bmo#1771774) Directory indexes for bundled resources reflected URL parameters * CVE-2022-36314 (bmo#1773894) Opening local <code>.lnk</code> files could cause unexpected network loads * CVE-2022-2505 (bmo#1769739, bmo#1772824) Memory safety bugs fixed in Thunderbird 102.1 - added mozilla-newer-cbindgen.patch to fix build with rust-cbindgen >= 0.24 (and also require that for build) - added mozilla-pgo.patch to fix LTO builds with gcc - Mozilla Thunderbird 102.0.3 Bugfixes as in * https://www.thunderbird.net/en-US/thunderbird/102.0.3/releasenotes/ - Mozilla Thunderbird 102.0.2 * https://www.thunderbird.net/en-US/thunderbird/102.0/releasenotes/ - removed obsolete patches mozilla-bmo1504834-part2.patch mozilla-bmo1504834-part4.patch mozilla-bmo1602730.patch mozilla-bmo1626236.patch mozilla-bmo1724679.patch mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch mozilla-sandbox-fips.patch OBS-URL: https://build.opensuse.org/request/show/992051 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=283
This commit is contained in:
commit
8400e239db
@ -1,3 +1,53 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 26 09:03:40 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
|
||||||
|
- Mozilla Thunderbird 102.1.0
|
||||||
|
* https://www.thunderbird.net/en-US/thunderbird/102.1.0/releasenotes
|
||||||
|
MFSA 2022-32 (bsc#1201758)
|
||||||
|
* CVE-2022-36319 (bmo#1737722)
|
||||||
|
Mouse Position spoofing with CSS transforms
|
||||||
|
* CVE-2022-36318 (bmo#1771774)
|
||||||
|
Directory indexes for bundled resources reflected URL parameters
|
||||||
|
* CVE-2022-36314 (bmo#1773894)
|
||||||
|
Opening local <code>.lnk</code> files could cause unexpected
|
||||||
|
network loads
|
||||||
|
* CVE-2022-2505 (bmo#1769739, bmo#1772824)
|
||||||
|
Memory safety bugs fixed in Thunderbird 102.1
|
||||||
|
- added mozilla-newer-cbindgen.patch to fix build with
|
||||||
|
rust-cbindgen >= 0.24 (and also require that for build)
|
||||||
|
- added mozilla-pgo.patch to fix LTO builds with gcc
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 19 07:31:52 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
|
||||||
|
- Mozilla Thunderbird 102.0.3
|
||||||
|
Bugfixes as in
|
||||||
|
* https://www.thunderbird.net/en-US/thunderbird/102.0.3/releasenotes/
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jul 9 21:53:27 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
|
||||||
|
- Mozilla Thunderbird 102.0.2
|
||||||
|
* https://www.thunderbird.net/en-US/thunderbird/102.0/releasenotes/
|
||||||
|
- removed obsolete patches
|
||||||
|
mozilla-bmo1504834-part2.patch
|
||||||
|
mozilla-bmo1504834-part4.patch
|
||||||
|
mozilla-bmo1602730.patch
|
||||||
|
mozilla-bmo1626236.patch
|
||||||
|
mozilla-bmo1724679.patch
|
||||||
|
mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
|
||||||
|
mozilla-sandbox-fips.patch
|
||||||
|
- added patches inherited from FF 102
|
||||||
|
one_swizzle_to_rule_them_all.patch
|
||||||
|
svg-rendering.patch
|
||||||
|
- fix KDE detection (boo#1200987) in mozilla-kde.patch
|
||||||
|
- requires
|
||||||
|
rust = 1.60
|
||||||
|
NSPR >= 4.34
|
||||||
|
NSS >= 3.79
|
||||||
|
rust-cbindgen >= 0.23.0
|
||||||
|
- remove special breakpad debug symbol creation
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jun 26 08:53:26 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
Sun Jun 26 08:53:26 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@
|
|||||||
# orig_suffix b3
|
# orig_suffix b3
|
||||||
# major 69
|
# major 69
|
||||||
# mainver %major.99
|
# mainver %major.99
|
||||||
%define major 91
|
%define major 102
|
||||||
%define mainver %major.11.0
|
%define mainver %major.1.0
|
||||||
%define orig_version 91.11.0
|
%define orig_version 102.1.0
|
||||||
%define orig_suffix %{nil}
|
%define orig_suffix %{nil}
|
||||||
%define update_channel release
|
%define update_channel release
|
||||||
%define source_prefix thunderbird-%{orig_version}
|
%define source_prefix thunderbird-%{orig_version}
|
||||||
@ -66,7 +66,7 @@ BuildArch: i686
|
|||||||
%define gnome_dir %{_prefix}
|
%define gnome_dir %{_prefix}
|
||||||
%define desktop_file_name %{progname}
|
%define desktop_file_name %{progname}
|
||||||
%define __provides_exclude ^lib.*\\.so.*$
|
%define __provides_exclude ^lib.*\\.so.*$
|
||||||
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*)$
|
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*|libldap.*|libldif.*|libprldap.*|librnp.*)$
|
||||||
%define localize 1
|
%define localize 1
|
||||||
%define crashreporter 0
|
%define crashreporter 0
|
||||||
%define with_pipewire0_3 1
|
%define with_pipewire0_3 1
|
||||||
@ -85,27 +85,31 @@ BuildRequires: autoconf213
|
|||||||
BuildRequires: dbus-1-glib-devel
|
BuildRequires: dbus-1-glib-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: memory-constraints
|
BuildRequires: memory-constraints
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
|
||||||
BuildRequires: gcc9-c++
|
BuildRequires: gcc11-c++
|
||||||
%else
|
%else
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
%endif
|
%endif
|
||||||
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
|
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
|
||||||
BuildRequires: cargo >= 1.51
|
BuildRequires: cargo >= 1.59
|
||||||
BuildRequires: rust >= 1.51
|
BuildRequires: rust >= 1.59
|
||||||
%else
|
%else
|
||||||
# Newer sle/leap/tw use parallel versioned rust releases which have
|
# Newer sle/leap/tw use parallel versioned rust releases which have
|
||||||
# a different method for provides that we can use to request a
|
# a different method for provides that we can use to request a
|
||||||
# specific version
|
# specific version
|
||||||
BuildRequires: rust+cargo >= 1.51
|
# minimal requirement:
|
||||||
|
BuildRequires: rust+cargo >= 1.59
|
||||||
|
# actually used upstream:
|
||||||
|
BuildRequires: cargo1.60
|
||||||
|
BuildRequires: rust1.60
|
||||||
%endif
|
%endif
|
||||||
%if 0%{useccache} != 0
|
%if 0%{useccache} != 0
|
||||||
BuildRequires: ccache
|
BuildRequires: ccache
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: libXcomposite-devel
|
BuildRequires: libXcomposite-devel
|
||||||
BuildRequires: libcurl-devel
|
BuildRequires: libcurl-devel
|
||||||
BuildRequires: mozilla-nspr-devel >= 4.32
|
BuildRequires: mozilla-nspr-devel >= 4.34
|
||||||
BuildRequires: mozilla-nss-devel >= 3.68.4
|
BuildRequires: mozilla-nss-devel >= 3.79
|
||||||
BuildRequires: nasm >= 2.14
|
BuildRequires: nasm >= 2.14
|
||||||
BuildRequires: nodejs >= 10.22.1
|
BuildRequires: nodejs >= 10.22.1
|
||||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
|
||||||
@ -115,14 +119,13 @@ BuildRequires: python36
|
|||||||
BuildRequires: python3 >= 3.5
|
BuildRequires: python3 >= 3.5
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: rust-cbindgen >= 0.19.0
|
BuildRequires: rust-cbindgen >= 0.24.0
|
||||||
BuildRequires: unzip
|
BuildRequires: unzip
|
||||||
BuildRequires: update-desktop-files
|
BuildRequires: update-desktop-files
|
||||||
BuildRequires: xorg-x11-libXt-devel
|
BuildRequires: xorg-x11-libXt-devel
|
||||||
%if 0%{?do_profiling}
|
%if 0%{?do_profiling}
|
||||||
BuildRequires: xvfb-run
|
BuildRequires: xvfb-run
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: xz
|
|
||||||
BuildRequires: yasm
|
BuildRequires: yasm
|
||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
%if 0%{?suse_version} < 1550
|
%if 0%{?suse_version} < 1550
|
||||||
@ -185,28 +188,25 @@ Patch1: mozilla-nongnome-proxies.patch
|
|||||||
Patch2: mozilla-kde.patch
|
Patch2: mozilla-kde.patch
|
||||||
Patch3: mozilla-ntlm-full-path.patch
|
Patch3: mozilla-ntlm-full-path.patch
|
||||||
Patch4: mozilla-aarch64-startup-crash.patch
|
Patch4: mozilla-aarch64-startup-crash.patch
|
||||||
Patch6: mozilla-sandbox-fips.patch
|
Patch5: mozilla-fix-aarch64-libopus.patch
|
||||||
Patch7: mozilla-fix-aarch64-libopus.patch
|
Patch6: mozilla-s390-context.patch
|
||||||
Patch8: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
|
Patch7: mozilla-pgo.patch
|
||||||
Patch9: mozilla-s390-context.patch
|
Patch8: mozilla-reduce-rust-debuginfo.patch
|
||||||
Patch11: mozilla-reduce-rust-debuginfo.patch
|
Patch9: mozilla-bmo1005535.patch
|
||||||
Patch13: mozilla-bmo1005535.patch
|
Patch10: mozilla-bmo1568145.patch
|
||||||
Patch14: mozilla-bmo1568145.patch
|
Patch11: mozilla-bmo1504834-part1.patch
|
||||||
Patch15: mozilla-bmo1504834-part1.patch
|
Patch12: mozilla-bmo1504834-part3.patch
|
||||||
Patch16: mozilla-bmo1504834-part2.patch
|
Patch13: mozilla-bmo1512162.patch
|
||||||
Patch17: mozilla-bmo1504834-part3.patch
|
Patch14: mozilla-fix-top-level-asm.patch
|
||||||
Patch19: mozilla-bmo1512162.patch
|
Patch15: mozilla-bmo849632.patch
|
||||||
Patch20: mozilla-fix-top-level-asm.patch
|
Patch16: mozilla-bmo998749.patch
|
||||||
Patch21: mozilla-bmo1504834-part4.patch
|
Patch17: mozilla-s390x-skia-gradient.patch
|
||||||
Patch22: mozilla-bmo849632.patch
|
Patch18: mozilla-libavcodec58_91.patch
|
||||||
Patch24: mozilla-bmo1602730.patch
|
Patch19: mozilla-silence-no-return-type.patch
|
||||||
Patch25: mozilla-bmo998749.patch
|
Patch20: mozilla-bmo531915.patch
|
||||||
Patch26: mozilla-bmo1626236.patch
|
Patch21: one_swizzle_to_rule_them_all.patch
|
||||||
Patch27: mozilla-s390x-skia-gradient.patch
|
Patch22: svg-rendering.patch
|
||||||
Patch28: mozilla-libavcodec58_91.patch
|
Patch23: mozilla-newer-cbindgen.patch
|
||||||
Patch29: mozilla-silence-no-return-type.patch
|
|
||||||
Patch30: mozilla-bmo531915.patch
|
|
||||||
Patch31: mozilla-bmo1724679.patch
|
|
||||||
%endif
|
%endif
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
PreReq: /bin/sh
|
PreReq: /bin/sh
|
||||||
@ -255,16 +255,6 @@ This package contains rarely used languages for the user interface
|
|||||||
of %{appname}.
|
of %{appname}.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %crashreporter
|
|
||||||
%package buildsymbols
|
|
||||||
Summary: Breakpad buildsymbols for %{appname}
|
|
||||||
Group: Development/Debug
|
|
||||||
|
|
||||||
%description buildsymbols
|
|
||||||
This subpackage contains the Breakpad created and compatible debugging
|
|
||||||
symbols meant for upload to Mozilla's crash collector database.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if !%{with only_print_mozconfig}
|
%if !%{with only_print_mozconfig}
|
||||||
%prep
|
%prep
|
||||||
%if %localize
|
%if %localize
|
||||||
@ -287,28 +277,25 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
#%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
|
%patch10 -p1
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
|
%patch12 -p1
|
||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch16 -p1
|
%patch16 -p1
|
||||||
%patch17 -p1
|
%patch17 -p1
|
||||||
|
%patch18 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
%patch20 -p1
|
%patch20 -p1
|
||||||
%patch21 -p1
|
%patch21 -p1
|
||||||
%patch22 -p1
|
%patch22 -p1
|
||||||
%patch24 -p1
|
%patch23 -p1
|
||||||
%patch25 -p1
|
|
||||||
%patch26 -p1
|
|
||||||
%patch27 -p1
|
|
||||||
%patch28 -p1
|
|
||||||
%patch29 -p1
|
|
||||||
%patch30 -p1
|
|
||||||
%patch31 -p1
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -349,8 +336,8 @@ export BUILD_OFFICIAL=1
|
|||||||
export MOZ_TELEMETRY_REPORTING=1
|
export MOZ_TELEMETRY_REPORTING=1
|
||||||
export MOZ_REQUIRE_SIGNING=
|
export MOZ_REQUIRE_SIGNING=
|
||||||
export MACH_USE_SYSTEM_PYTHON=1
|
export MACH_USE_SYSTEM_PYTHON=1
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150400
|
||||||
export CC=gcc-9
|
export CC=gcc-11
|
||||||
%else
|
%else
|
||||||
%if 0%{?clang_build} == 0
|
%if 0%{?clang_build} == 0
|
||||||
export CC=gcc
|
export CC=gcc
|
||||||
@ -363,6 +350,8 @@ export CFLAGS="$CFLAGS -fimplicit-constexpr"
|
|||||||
%ifarch %arm %ix86
|
%ifarch %arm %ix86
|
||||||
# Limit RAM usage during link
|
# 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"
|
||||||
|
# A lie to prevent -Wl,--gc-sections being set which requires more memory than 32bit can offer
|
||||||
|
export GC_SECTIONS_BREAKS_DEBUG_RANGES=yes
|
||||||
%endif
|
%endif
|
||||||
export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
|
export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
|
||||||
%ifarch ppc64 ppc64le
|
%ifarch ppc64 ppc64le
|
||||||
@ -419,8 +408,9 @@ ac_add_options --enable-default-toolkit=cairo-gtk3
|
|||||||
%ifarch %ix86 %arm
|
%ifarch %ix86 %arm
|
||||||
ac_add_options --disable-debug-symbols
|
ac_add_options --disable-debug-symbols
|
||||||
%else
|
%else
|
||||||
ac_add_options --enable-debug-symbols
|
ac_add_options --enable-debug-symbols=-g1
|
||||||
%endif
|
%endif
|
||||||
|
ac_add_options --disable-install-strip
|
||||||
# building with elf-hack started to fail everywhere with FF73
|
# building with elf-hack started to fail everywhere with FF73
|
||||||
#%if 0%{?suse_version} > 1549
|
#%if 0%{?suse_version} > 1549
|
||||||
%ifnarch aarch64 ppc64 ppc64le s390x
|
%ifnarch aarch64 ppc64 ppc64le s390x
|
||||||
@ -441,6 +431,11 @@ ac_add_options --disable-necko-wifi
|
|||||||
ac_add_options --enable-update-channel=%{update_channel}
|
ac_add_options --enable-update-channel=%{update_channel}
|
||||||
ac_add_options --with-unsigned-addon-scopes=app
|
ac_add_options --with-unsigned-addon-scopes=app
|
||||||
ac_add_options --allow-addon-sideload
|
ac_add_options --allow-addon-sideload
|
||||||
|
# at least temporary until the "wasi-sysroot" issue is solved
|
||||||
|
ac_add_options --without-wasm-sandboxed-libraries
|
||||||
|
%ifarch x86_64 aarch64
|
||||||
|
ac_add_options --enable-rust-simd
|
||||||
|
%endif
|
||||||
ac_add_options --enable-official-branding
|
ac_add_options --enable-official-branding
|
||||||
%if ! %crashreporter
|
%if ! %crashreporter
|
||||||
ac_add_options --disable-crashreporter
|
ac_add_options --disable-crashreporter
|
||||||
@ -498,6 +493,7 @@ ac_add_options --enable-application=comm/mail
|
|||||||
ac_add_options --prefix=%{_prefix}
|
ac_add_options --prefix=%{_prefix}
|
||||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
|
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
|
||||||
ac_add_options --disable-updater
|
ac_add_options --disable-updater
|
||||||
|
ac_add_options --without-wasm-sandboxed-libraries
|
||||||
ac_add_options --enable-official-branding
|
ac_add_options --enable-official-branding
|
||||||
EOF
|
EOF
|
||||||
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
|
mkdir -p $RPM_BUILD_DIR/langpacks_artifacts/
|
||||||
@ -510,19 +506,15 @@ sed -r '/^(ja-JP-mac|en-US|$)/d;s/ .*$//' $RPM_BUILD_DIR/%{source_prefix}/comm/m
|
|||||||
export MOZCONFIG=${MOZCONFIG}_$locale
|
export MOZCONFIG=${MOZCONFIG}_$locale
|
||||||
# nsinstall is needed for langpack-build. It is already built by `./mach build`, but building it again is very fast
|
# nsinstall is needed for langpack-build. It is already built by `./mach build`, but building it again is very fast
|
||||||
./mach build config/nsinstall langpack-$locale
|
./mach build config/nsinstall langpack-$locale
|
||||||
cp -rL ../obj_$locale/dist/xpi-stage/locale-$locale \
|
cp -L ../obj_$locale/dist/linux-*/xpi/thunderbird-%{orig_version}.$locale.langpack.xpi \
|
||||||
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$locale@thunderbird.mozilla.org
|
$RPM_BUILD_DIR/langpacks_artifacts/langpack-$locale@thunderbird.mozilla.org.xpi
|
||||||
rm -rf $RPM_BUILD_DIR/langpacks_artifacts/langpack-$locale@thunderbird.mozilla.org/defaults
|
|
||||||
rm -rf $RPM_BUILD_DIR/langpacks_artifacts/langpack-$locale@thunderbird.mozilla.org/hyphenation
|
|
||||||
# Build systems like to run out of disc-space, so we delete the build-dir here (we copied already all relevant files)
|
|
||||||
rm -rf ../obj_$locale/
|
|
||||||
# check against the fixed common list and sort into the right filelist
|
# check against the fixed common list and sort into the right filelist
|
||||||
_matched=0
|
_matched=0
|
||||||
for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
|
for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
|
||||||
[ "$_match" = "$locale" ] && _matched=1
|
[ "$_match" = "$locale" ] && _matched=1
|
||||||
done
|
done
|
||||||
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
|
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
|
||||||
echo %{progdir}/extensions/langpack-$locale@thunderbird.mozilla.org \
|
echo %{progdir}/extensions/langpack-$locale@thunderbird.mozilla.org.xpi \
|
||||||
>> %{_tmppath}/translations.$_l10ntarget
|
>> %{_tmppath}/translations.$_l10ntarget
|
||||||
' -- {}
|
' -- {}
|
||||||
%endif
|
%endif
|
||||||
@ -608,24 +600,6 @@ rm -f %{buildroot}%{progdir}/nspr-config
|
|||||||
%fdupes %{buildroot}%{progdir}
|
%fdupes %{buildroot}%{progdir}
|
||||||
%fdupes %{buildroot}%{_libdir}/mozilla
|
%fdupes %{buildroot}%{_libdir}/mozilla
|
||||||
%fdupes %{buildroot}%{_datadir}
|
%fdupes %{buildroot}%{_datadir}
|
||||||
# create breakpad debugsymbols
|
|
||||||
%if %crashreporter
|
|
||||||
SYMBOLS_NAME="thunderbird-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
|
|
||||||
make buildsymbols \
|
|
||||||
SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
|
|
||||||
SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
|
|
||||||
SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
|
|
||||||
if [ -e dist/*symbols.zip ]; then
|
|
||||||
mkdir -p %{buildroot}%{_datadir}/mozilla/
|
|
||||||
cp dist/*symbols.zip %{buildroot}%{_datadir}/mozilla/
|
|
||||||
fi
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf %{buildroot}
|
|
||||||
%if %localize
|
|
||||||
rm -rf %{_tmppath}/translations.*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%desktop_database_post
|
%desktop_database_post
|
||||||
@ -649,6 +623,8 @@ exit 0
|
|||||||
%{progdir}/pingsender
|
%{progdir}/pingsender
|
||||||
%{progdir}/platform.ini
|
%{progdir}/platform.ini
|
||||||
%{progdir}/plugin-container
|
%{progdir}/plugin-container
|
||||||
|
%{progdir}/rnp-cli
|
||||||
|
%{progdir}/rnpkeys
|
||||||
%{progdir}/thunderbird-bin
|
%{progdir}/thunderbird-bin
|
||||||
# crashreporter files
|
# crashreporter files
|
||||||
%if %crashreporter
|
%if %crashreporter
|
||||||
@ -677,10 +653,4 @@ exit 0
|
|||||||
%dir %{progdir}/extensions/
|
%dir %{progdir}/extensions/
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %crashreporter
|
|
||||||
%files buildsymbols
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_datadir}/mozilla/
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
3
l10n-102.1.0.tar.xz
Normal file
3
l10n-102.1.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d55006f607d469bcb0761e6975e503c6d5bdefcbfa3c70042862d5e1901bc2b4
|
||||||
|
size 29285312
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:485a8e58506f1fdf016dc6655b3546ab5561c1ab418b6e9df690de80f6c70b46
|
|
||||||
size 28946816
|
|
@ -1,112 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent 9319844dca3133fa8bd7107079f1d1ddc5c0bf70
|
|
||||||
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
|
|
||||||
has no interest in maintaining big endian.
|
|
||||||
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
|
|
||||||
out again, we transform back to BE.
|
|
||||||
|
|
||||||
diff --git a/gfx/2d/ConvolutionFilter.cpp b/gfx/2d/ConvolutionFilter.cpp
|
|
||||||
--- a/gfx/2d/ConvolutionFilter.cpp
|
|
||||||
+++ b/gfx/2d/ConvolutionFilter.cpp
|
|
||||||
@@ -29,32 +29,79 @@ bool ConvolutionFilter::GetFilterOffsetA
|
|
||||||
int32_t* aResultLength) {
|
|
||||||
if (aRowIndex >= mFilter->numValues()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
mFilter->FilterForValue(aRowIndex, aResultOffset, aResultLength);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
|
||||||
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
|
|
||||||
+ for (int pxl = 0; pxl < size; ++pxl) {
|
|
||||||
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
|
|
||||||
+ uint32_t rgba = array[pxl];
|
|
||||||
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
|
|
||||||
bool aHasAlpha) {
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ int outputSize = mFilter->numValues();
|
|
||||||
+
|
|
||||||
+ // Input size isn't handed in, so we have to calculate it quickly
|
|
||||||
+ int inputSize = 0;
|
|
||||||
+ for (int xx = 0; xx < outputSize; ++xx) {
|
|
||||||
+ // Get the filter that determines the current output pixel.
|
|
||||||
+ int filterOffset, filterLength;
|
|
||||||
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
|
|
||||||
+ inputSize = std::max(inputSize, filterOffset + filterLength);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
|
|
||||||
+
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
|
||||||
+ ByteSwapArray(aDst, outputSize);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
|
|
||||||
int32_t aRowIndex, int32_t aRowSize,
|
|
||||||
bool aHasAlpha) {
|
|
||||||
MOZ_ASSERT(aRowIndex < mFilter->numValues());
|
|
||||||
|
|
||||||
int32_t filterOffset;
|
|
||||||
int32_t filterLength;
|
|
||||||
auto filterValues =
|
|
||||||
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
|
|
||||||
+
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
|
||||||
+ // Skia only knows LE, so we have to swizzle the input
|
|
||||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
|
|
||||||
aHasAlpha);
|
|
||||||
+
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ // After skia is finished, we swizzle back to BE, in case
|
|
||||||
+ // the input is used again somewhere else
|
|
||||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
|
||||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
|
||||||
+ }
|
|
||||||
+ // The destination array as well
|
|
||||||
+ ByteSwapArray(aDst, aRowSize);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
|
|
||||||
* SkBitmapScaler/SkResizeFilter::computeFactors. It is governed by Skia's
|
|
||||||
* BSD-style license (see gfx/skia/LICENSE) and the following copyright:
|
|
||||||
* Copyright (c) 2015 Google Inc.
|
|
||||||
*/
|
|
||||||
bool ConvolutionFilter::ComputeResizeFilter(ResizeMethod aResizeMethod,
|
|
||||||
diff --git a/gfx/skia/skia/include/core/SkPreConfig.h b/gfx/skia/skia/include/core/SkPreConfig.h
|
|
||||||
--- a/gfx/skia/skia/include/core/SkPreConfig.h
|
|
||||||
+++ b/gfx/skia/skia/include/core/SkPreConfig.h
|
|
||||||
@@ -68,17 +68,17 @@
|
|
||||||
#define SK_CPU_BENDIAN
|
|
||||||
#elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
|
|
||||||
#define SK_CPU_LENDIAN
|
|
||||||
#elif defined(__sparc) || defined(__sparc__) || \
|
|
||||||
defined(_POWER) || defined(__powerpc__) || \
|
|
||||||
defined(__ppc__) || defined(__hppa) || \
|
|
||||||
defined(__PPC__) || defined(__PPC64__) || \
|
|
||||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
|
||||||
- defined(__s390__) || \
|
|
||||||
+ defined(__s390__) || defined(__s390x__) || \
|
|
||||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
|
||||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
|
||||||
#define SK_CPU_BENDIAN
|
|
||||||
#else
|
|
||||||
#define SK_CPU_LENDIAN
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent 883d2c7fec80b9714ccfefa461a02f5b09e3ee09
|
|
||||||
Problem description: Tab-titles that are too long to fit into a tab get faded out.
|
|
||||||
On big endian this is broken and instead of fading out, the
|
|
||||||
tab gets white and the font transparent, leading to an unreadable
|
|
||||||
tab-title
|
|
||||||
Solution: This is not a real solution, but a hack. The real solution would have been
|
|
||||||
to byte-swap the correct buffer, but I could not find it.
|
|
||||||
So the next best thing is to deactivate the fading-effect. Now all tab-titles
|
|
||||||
are readable, albeit not as pretty to look at as they could be.
|
|
||||||
Side-effects: I have not yet found an unwanted side-effect.
|
|
||||||
|
|
||||||
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
|
||||||
--- a/gfx/2d/DrawTargetSkia.cpp
|
|
||||||
+++ b/gfx/2d/DrawTargetSkia.cpp
|
|
||||||
@@ -1856,16 +1856,24 @@ void DrawTargetSkia::PushLayerWithBlend(
|
|
||||||
}
|
|
||||||
|
|
||||||
SkCanvas::SaveLayerRec saveRec(
|
|
||||||
aBounds.IsEmpty() ? nullptr : &bounds, &paint, nullptr, clipImage.get(),
|
|
||||||
&clipMatrix,
|
|
||||||
SkCanvas::kPreserveLCDText_SaveLayerFlag |
|
|
||||||
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
|
|
||||||
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ // Pushing a layer where an aMask is defined produces wrong output.
|
|
||||||
+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
|
|
||||||
+ // Therefore I deactivate those layers in the meantime.
|
|
||||||
+ // The result is: Tab-titles that are longer than the available space should be faded out.
|
|
||||||
+ // The fading doesn't work, so we deactivate the fading-effect here.
|
|
||||||
+ if (!aMask)
|
|
||||||
+#endif
|
|
||||||
mCanvas->saveLayer(saveRec);
|
|
||||||
|
|
||||||
SetPermitSubpixelAA(aOpaque);
|
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_COCOA
|
|
||||||
CGContextRelease(mCG);
|
|
||||||
mCG = nullptr;
|
|
||||||
#endif
|
|
@ -1,25 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User msirringhaus@suse.de
|
|
||||||
# Date 1582805890 -3600
|
|
||||||
# Thu Feb 27 13:18:10 2020 +0100
|
|
||||||
# Node ID 457cbe5705f2a3759d3da36a05c0ed66ec61ea12
|
|
||||||
# Parent 7440f4b6bab85068ca2f84e9c48e0706d04330e8
|
|
||||||
imported patch mozilla-bmo1602730-FF73.patch
|
|
||||||
|
|
||||||
diff -r 7440f4b6bab8 gfx/layers/composite/CompositableHost.cpp
|
|
||||||
--- a/gfx/layers/composite/CompositableHost.cpp Thu Feb 27 13:17:56 2020 +0100
|
|
||||||
+++ b/gfx/layers/composite/CompositableHost.cpp Wed Jun 17 15:33:32 2020 +0200
|
|
||||||
@@ -92,9 +92,13 @@
|
|
||||||
}
|
|
||||||
MOZ_ASSERT(source);
|
|
||||||
|
|
||||||
+ // Setting an alpha-mask here breaks the URL-bar on big endian (s390x)
|
|
||||||
+ // if the typed URL is too long for the textbox (automatic scrolling needed)
|
|
||||||
+#if MOZ_LITTLE_ENDIAN()
|
|
||||||
RefPtr<EffectMask> effect =
|
|
||||||
new EffectMask(source, source->GetSize(), aTransform);
|
|
||||||
aEffects.mSecondaryEffects[EffectTypes::MASK] = effect;
|
|
||||||
+#endif
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# User msirringhaus@suse.de
|
|
||||||
# Date 1582805876 -3600
|
|
||||||
# Thu Feb 27 13:17:56 2020 +0100
|
|
||||||
# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
|
|
||||||
# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
|
|
||||||
imported patch decoder_workaround.patch
|
|
||||||
|
|
||||||
diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
|
|
||||||
--- a/image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100
|
|
||||||
+++ b/image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100
|
|
||||||
@@ -422,6 +422,9 @@
|
|
||||||
MOZ_ASSERT(mSwizzleFn);
|
|
||||||
uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
|
|
||||||
mSwizzleFn(data, data, aColors);
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
|
|
||||||
diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
|
|
||||||
--- a/image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
|
||||||
+++ b/image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
|
||||||
@@ -263,6 +263,9 @@
|
|
||||||
case JCS_YCbCr:
|
|
||||||
// By default, we will output directly to BGRA. If we need to apply
|
|
||||||
// special color transforms, this may change.
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
|
|
||||||
+#else
|
|
||||||
switch (SurfaceFormat::OS_RGBX) {
|
|
||||||
case SurfaceFormat::B8G8R8X8:
|
|
||||||
mInfo.out_color_space = JCS_EXT_BGRX;
|
|
||||||
@@ -277,6 +280,7 @@
|
|
||||||
mState = JPEG_ERROR;
|
|
||||||
return Transition::TerminateFailure();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
break;
|
|
||||||
case JCS_CMYK:
|
|
||||||
case JCS_YCCK:
|
|
||||||
diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
|
|
||||||
--- a/image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
|
||||||
+++ b/image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
|
||||||
@@ -361,7 +361,7 @@
|
|
||||||
IResumable* aOnResume) {
|
|
||||||
MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
|
|
||||||
|
|
||||||
- return mLexer.Lex(aIterator, aOnResume,
|
|
||||||
+ LexerResult res = mLexer.Lex(aIterator, aOnResume,
|
|
||||||
[=](State aState, const char* aData, size_t aLength) {
|
|
||||||
switch (aState) {
|
|
||||||
case State::PNG_DATA:
|
|
||||||
@@ -371,6 +371,14 @@
|
|
||||||
}
|
|
||||||
MOZ_CRASH("Unknown State");
|
|
||||||
});
|
|
||||||
+
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
|
|
||||||
+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
|
|
||||||
diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
|
|
||||||
--- a/image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
|
|
||||||
+++ b/image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
|
|
||||||
@@ -237,7 +237,12 @@
|
|
||||||
// WebP doesn't guarantee that the alpha generated matches the hint in the
|
|
||||||
// header, so we always need to claim the input is BGRA. If the output is
|
|
||||||
// BGRX, swizzling will mask off the alpha channel.
|
|
||||||
+#if MOZ_BIG_ENDIAN()
|
|
||||||
+ mBuffer.colorspace = MODE_ARGB;
|
|
||||||
+ SurfaceFormat inFormat = mFormat;
|
|
||||||
+#else
|
|
||||||
SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
SurfacePipeFlags pipeFlags = SurfacePipeFlags();
|
|
||||||
if (mFormat == SurfaceFormat::OS_RGBA &&
|
|
@ -1,51 +0,0 @@
|
|||||||
diff --git a/toolkit/components/remote/nsRemoteService.cpp b/toolkit/components/remote/nsRemoteService.cpp
|
|
||||||
--- a/toolkit/components/remote/nsRemoteService.cpp
|
|
||||||
+++ b/toolkit/components/remote/nsRemoteService.cpp
|
|
||||||
@@ -107,7 +107,8 @@
|
|
||||||
bool useX11Remote = mozilla::widget::GdkIsX11Display();
|
|
||||||
|
|
||||||
# if defined(MOZ_ENABLE_DBUS)
|
|
||||||
- if (!useX11Remote || getenv(DBUS_REMOTE_ENV)) {
|
|
||||||
+ const char* dbusRemoteEnv = getenv(DBUS_REMOTE_ENV);
|
|
||||||
+ if (!useX11Remote || (dbusRemoteEnv && *dbusRemoteEnv == '1')) {
|
|
||||||
client = MakeUnique<nsDBusRemoteClient>();
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
|
||||||
--- a/toolkit/xre/nsAppRunner.cpp
|
|
||||||
+++ b/toolkit/xre/nsAppRunner.cpp
|
|
||||||
@@ -4125,7 +4125,7 @@
|
|
||||||
const char* x11Display = PR_GetEnv("DISPLAY");
|
|
||||||
// MOZ_ENABLE_WAYLAND is our primary Wayland on/off switch.
|
|
||||||
const char* waylandPref = PR_GetEnv("MOZ_ENABLE_WAYLAND");
|
|
||||||
- bool enableWayland = !x11Display || (waylandPref && *waylandPref);
|
|
||||||
+ bool enableWayland = !x11Display || (waylandPref && *waylandPref == '1');
|
|
||||||
if (!enableWayland) {
|
|
||||||
const char* backendPref = PR_GetEnv("GDK_BACKEND");
|
|
||||||
enableWayland = (backendPref && strncmp(backendPref, "wayland", 7) == 0);
|
|
||||||
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|
||||||
--- a/widget/gtk/nsFilePicker.cpp
|
|
||||||
+++ b/widget/gtk/nsFilePicker.cpp
|
|
||||||
@@ -616,7 +616,7 @@
|
|
||||||
if (mUseNativeFileChooser && sGtkNativeDialogShowPtr != nullptr) {
|
|
||||||
const char* portalEnvString = g_getenv("GTK_USE_PORTAL");
|
|
||||||
bool setPortalEnv =
|
|
||||||
- (portalEnvString && atoi(portalEnvString) == 0) || !portalEnvString;
|
|
||||||
+ (portalEnvString && *portalEnvString == '0') || !portalEnvString;
|
|
||||||
if (setPortalEnv) {
|
|
||||||
setenv("GTK_USE_PORTAL", "1", true);
|
|
||||||
}
|
|
||||||
diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
|
|
||||||
--- a/widget/gtk/nsWindow.cpp
|
|
||||||
+++ b/widget/gtk/nsWindow.cpp
|
|
||||||
@@ -8835,7 +8835,7 @@
|
|
||||||
// decorations does not work with CSD.
|
|
||||||
// We check GTK_CSD as well as gtk_window_should_use_csd() does.
|
|
||||||
const char* csdOverride = getenv("GTK_CSD");
|
|
||||||
- if (csdOverride && atoi(csdOverride)) {
|
|
||||||
+ if (csdOverride && *csdOverride == '1') {
|
|
||||||
sGtkWindowDecoration = GTK_DECORATION_CLIENT;
|
|
||||||
return sGtkWindowDecoration;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
# HG changeset patch
|
|
||||||
# Parent 9bc02ee6567ae3f1dad1f8578e650c0a1faa0179
|
|
||||||
|
|
||||||
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
|
||||||
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
|
||||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
|
||||||
@@ -240,17 +240,17 @@ using mozilla::DebugOnly;
|
|
||||||
// Those definitions are however not present in the headers of every Linux
|
|
||||||
// distro - Raspbian is known to be a problem, for example. However those
|
|
||||||
// distros are tier-3 platforms.
|
|
||||||
//
|
|
||||||
// If you run into compile problems on a tier-3 platform, you can disable the
|
|
||||||
// emulation here.
|
|
||||||
|
|
||||||
#if defined(__linux__) && defined(__arm__)
|
|
||||||
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
|
||||||
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
|
||||||
# include <sys/user.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(ANDROID)
|
|
||||||
// Not all versions of the Android NDK define ucontext_t or mcontext_t.
|
|
@ -49,7 +49,7 @@ diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
|
|||||||
]
|
]
|
||||||
|
|
||||||
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
||||||
CXXFLAGS += ["-Wno-shadow", "-Wno-error=stack-protector"]
|
CXXFLAGS += ["-Wno-error=stack-protector"]
|
||||||
SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
|
SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
|
||||||
"-Wno-empty-body",
|
"-Wno-empty-body",
|
||||||
]
|
]
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# Date 1559294891 -7200
|
# Date 1559294891 -7200
|
||||||
# Fri May 31 11:28:11 2019 +0200
|
# Fri May 31 11:28:11 2019 +0200
|
||||||
# Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
|
# Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
|
||||||
# Parent c8bc6be5267f16016d506973a2d6a7c58a1cd441
|
# Parent 64d0c9c59c2e7f31722466406a4c13cdf5c39a6b
|
||||||
Description: Add KDE integration to Firefox (toolkit parts)
|
Description: Add KDE integration to Firefox (toolkit parts)
|
||||||
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
|
||||||
Author: Lubos Lunak <lunak@suse.com>
|
Author: Lubos Lunak <lunak@suse.com>
|
||||||
@ -13,12 +13,12 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
|
|||||||
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
||||||
--- a/modules/libpref/Preferences.cpp
|
--- a/modules/libpref/Preferences.cpp
|
||||||
+++ b/modules/libpref/Preferences.cpp
|
+++ b/modules/libpref/Preferences.cpp
|
||||||
@@ -84,16 +84,17 @@
|
@@ -88,16 +88,17 @@
|
||||||
#include "plbase64.h"
|
|
||||||
#include "PLDHashTable.h"
|
#include "PLDHashTable.h"
|
||||||
#include "plstr.h"
|
#include "plstr.h"
|
||||||
#include "prlink.h"
|
#include "prlink.h"
|
||||||
#include "xpcpublic.h"
|
#include "xpcpublic.h"
|
||||||
|
#include "js/RootingAPI.h"
|
||||||
#ifdef MOZ_BACKGROUNDTASKS
|
#ifdef MOZ_BACKGROUNDTASKS
|
||||||
# include "mozilla/BackgroundTasks.h"
|
# include "mozilla/BackgroundTasks.h"
|
||||||
#endif
|
#endif
|
||||||
@ -31,22 +31,12 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
#ifdef MOZ_MEMORY
|
#ifdef MOZ_MEMORY
|
||||||
# include "mozmemory.h"
|
# include "mozmemory.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -4635,25 +4636,37 @@ nsresult Preferences::InitInitialObjects
|
@@ -4767,16 +4768,27 @@ nsresult Preferences::InitInitialObjects
|
||||||
// application pref files for backwards compatibility.
|
|
||||||
static const char* specialFiles[] = {
|
|
||||||
#if defined(XP_MACOSX)
|
|
||||||
"macprefs.js"
|
|
||||||
#elif defined(XP_WIN)
|
|
||||||
"winpref.js"
|
|
||||||
#elif defined(XP_UNIX)
|
|
||||||
"unix.js"
|
"unix.js"
|
||||||
+ , "" // placeholder for KDE (empty is otherwise harmless)
|
|
||||||
# if defined(_AIX)
|
# if defined(_AIX)
|
||||||
,
|
,
|
||||||
"aix.js"
|
"aix.js"
|
||||||
# endif
|
# endif
|
||||||
#elif defined(XP_BEOS)
|
|
||||||
"beos.js"
|
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -69,7 +59,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
|
|
||||||
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
// Load jar:$app/omni.jar!/defaults/preferences/*.js
|
||||||
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
|
||||||
@@ -4718,17 +4731,17 @@ nsresult Preferences::InitInitialObjects
|
@@ -4841,17 +4853,17 @@ nsresult Preferences::InitInitialObjects
|
||||||
}
|
}
|
||||||
|
|
||||||
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
|
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
|
||||||
@ -91,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
|
|||||||
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
|
||||||
--- a/modules/libpref/moz.build
|
--- a/modules/libpref/moz.build
|
||||||
+++ b/modules/libpref/moz.build
|
+++ b/modules/libpref/moz.build
|
||||||
@@ -117,16 +117,20 @@ EXPORTS.mozilla += [
|
@@ -120,16 +120,20 @@ EXPORTS.mozilla += [
|
||||||
]
|
]
|
||||||
EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
|
EXPORTS.mozilla += sorted(["!" + g for g in gen_h])
|
||||||
|
|
||||||
@ -157,7 +147,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
|
|||||||
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
|
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
|
||||||
--- a/toolkit/components/downloads/moz.build
|
--- a/toolkit/components/downloads/moz.build
|
||||||
+++ b/toolkit/components/downloads/moz.build
|
+++ b/toolkit/components/downloads/moz.build
|
||||||
@@ -45,10 +45,14 @@ XPCOM_MANIFESTS += [
|
@@ -46,10 +46,14 @@ XPCOM_MANIFESTS += [
|
||||||
|
|
||||||
if CONFIG["MOZ_PLACES"]:
|
if CONFIG["MOZ_PLACES"]:
|
||||||
EXTRA_JS_MODULES += [
|
EXTRA_JS_MODULES += [
|
||||||
@ -175,7 +165,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
|||||||
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||||
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||||
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
||||||
@@ -1231,36 +1231,66 @@ nsUnknownContentTypeDialog.prototype = {
|
@@ -1254,36 +1254,66 @@ nsUnknownContentTypeDialog.prototype = {
|
||||||
params.handlerApp &&
|
params.handlerApp &&
|
||||||
params.handlerApp.executable &&
|
params.handlerApp.executable &&
|
||||||
params.handlerApp.executable.isFile()
|
params.handlerApp.executable.isFile()
|
||||||
@ -265,15 +255,16 @@ diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downlo
|
|||||||
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||||
@@ -13,16 +13,17 @@
|
@@ -10,16 +10,18 @@
|
||||||
#include "nsPrintfCString.h"
|
#include "prnetdb.h"
|
||||||
#include "nsNetCID.h"
|
#include "prenv.h"
|
||||||
|
#include "nsInterfaceHashtable.h"
|
||||||
|
#include "nsHashtablesFwd.h"
|
||||||
|
#include "nsHashKeys.h"
|
||||||
#include "nsNetUtil.h"
|
#include "nsNetUtil.h"
|
||||||
#include "nsISupportsPrimitives.h"
|
#include "nsISupportsPrimitives.h"
|
||||||
#include "nsIGSettingsService.h"
|
#include "nsIGSettingsService.h"
|
||||||
#include "nsInterfaceHashtable.h"
|
+#include "nsPrintfCString.h"
|
||||||
#include "mozilla/Attributes.h"
|
|
||||||
#include "nsIURI.h"
|
|
||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
|
|
||||||
using namespace mozilla;
|
using namespace mozilla;
|
||||||
@ -283,7 +274,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
NS_DECL_ISUPPORTS
|
NS_DECL_ISUPPORTS
|
||||||
NS_DECL_NSISYSTEMPROXYSETTINGS
|
NS_DECL_NSISYSTEMPROXYSETTINGS
|
||||||
|
|
||||||
@@ -36,16 +37,18 @@ class nsUnixSystemProxySettings final :
|
@@ -33,16 +35,18 @@ class nsUnixSystemProxySettings final :
|
||||||
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
||||||
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
|
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
|
||||||
mSchemeProxySettings;
|
mSchemeProxySettings;
|
||||||
@ -302,7 +293,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
|
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
|
||||||
// dbus prevents us from being threadsafe, but this routine should not block
|
// dbus prevents us from being threadsafe, but this routine should not block
|
||||||
// anyhow
|
// anyhow
|
||||||
@@ -381,21 +384,50 @@ nsresult nsUnixSystemProxySettings::GetP
|
@@ -378,21 +382,50 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,7 +347,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
|||||||
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
||||||
--- a/toolkit/xre/moz.build
|
--- a/toolkit/xre/moz.build
|
||||||
+++ b/toolkit/xre/moz.build
|
+++ b/toolkit/xre/moz.build
|
||||||
@@ -93,17 +93,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
|
@@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
|
||||||
"../components/printingui",
|
"../components/printingui",
|
||||||
]
|
]
|
||||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
|
||||||
@ -370,17 +361,17 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
|
|||||||
+ "nsKDEUtils.cpp",
|
+ "nsKDEUtils.cpp",
|
||||||
"nsNativeAppSupportUnix.cpp",
|
"nsNativeAppSupportUnix.cpp",
|
||||||
]
|
]
|
||||||
|
CXXFLAGS += CONFIG["MOZ_X11_SM_CFLAGS"]
|
||||||
else:
|
else:
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
"nsNativeAppSupportDefault.cpp",
|
"nsNativeAppSupportDefault.cpp",
|
||||||
]
|
]
|
||||||
|
|
||||||
if CONFIG["MOZ_HAS_REMOTE"]:
|
|
||||||
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
|
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/toolkit/xre/nsKDEUtils.cpp
|
+++ b/toolkit/xre/nsKDEUtils.cpp
|
||||||
@@ -0,0 +1,344 @@
|
@@ -0,0 +1,321 @@
|
||||||
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
+/* 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
|
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -420,36 +411,13 @@ new file mode 100644
|
|||||||
+#define MAKE_STR( n ) MAKE_STR2( n )
|
+#define MAKE_STR( n ) MAKE_STR2( n )
|
||||||
+
|
+
|
||||||
+static bool getKdeSession()
|
+static bool getKdeSession()
|
||||||
|
+{
|
||||||
|
+ if (PR_GetEnv("KDE_FULL_SESSION"))
|
||||||
+ {
|
+ {
|
||||||
+ Display* dpy = XOpenDisplay( NULL );
|
+ return true;
|
||||||
+ if( dpy == NULL )
|
|
||||||
+ return false;
|
|
||||||
+ Atom kde_full_session = XInternAtom( dpy, "KDE_FULL_SESSION", true );
|
|
||||||
+ bool kde = false;
|
|
||||||
+ if( kde_full_session != None )
|
|
||||||
+ {
|
|
||||||
+ int cnt;
|
|
||||||
+ if( Atom* props = XListProperties( dpy, DefaultRootWindow( dpy ), &cnt ))
|
|
||||||
+ {
|
|
||||||
+ for( int i = 0;
|
|
||||||
+ i < cnt;
|
|
||||||
+ ++i )
|
|
||||||
+ {
|
|
||||||
+ if( props[ i ] == kde_full_session )
|
|
||||||
+ {
|
|
||||||
+ kde = true;
|
|
||||||
+#ifdef DEBUG_KDE
|
|
||||||
+ fprintf( stderr, "KDE SESSION %d\n", kde );
|
|
||||||
+#endif
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ XFree( props );
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ XCloseDisplay( dpy );
|
|
||||||
+ return kde;
|
|
||||||
+ }
|
+ }
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
+
|
+
|
||||||
+static bool getKdeSupport()
|
+static bool getKdeSupport()
|
||||||
+ {
|
+ {
|
||||||
@ -819,34 +787,15 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if a handler exists for the provided protocol. Check the datastore
|
* Check if a handler exists for the provided protocol. Check the datastore
|
||||||
@@ -328,17 +328,17 @@ mozilla::ipc::IPCResult HandlerServicePa
|
|
||||||
nsCOMPtr<nsIExternalProtocolService> protoSvc =
|
|
||||||
do_GetService(NS_EXTERNALPROTOCOLSERVICE_CONTRACTID, &rv);
|
|
||||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
*aHandlerExists = false;
|
|
||||||
return IPC_OK();
|
|
||||||
}
|
|
||||||
rv = protoSvc->ExternalProtocolHandlerExists(aProtocolScheme.get(),
|
|
||||||
aHandlerExists);
|
|
||||||
-
|
|
||||||
+##
|
|
||||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
||||||
*aHandlerExists = false;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
MOZ_RELEASE_ASSERT(false, "No implementation on this platform.");
|
|
||||||
*aHandlerExists = false;
|
|
||||||
#endif
|
|
||||||
return IPC_OK();
|
|
||||||
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
||||||
--- a/uriloader/exthandler/moz.build
|
--- a/uriloader/exthandler/moz.build
|
||||||
+++ b/uriloader/exthandler/moz.build
|
+++ b/uriloader/exthandler/moz.build
|
||||||
@@ -80,17 +80,19 @@ else:
|
@@ -78,17 +78,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "ui
|
||||||
|
else:
|
||||||
|
# These files can't be built in unified mode because they redefine LOG.
|
||||||
SOURCES += [
|
SOURCES += [
|
||||||
osdir + "/nsOSHelperAppService.cpp",
|
osdir + "/nsOSHelperAppService.cpp",
|
||||||
]
|
]
|
||||||
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
|
|
||||||
CXXFLAGS += ["-Wno-error=shadow"]
|
|
||||||
|
|
||||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
@ -861,7 +810,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
|||||||
]
|
]
|
||||||
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
|
||||||
UNIFIED_SOURCES += [
|
UNIFIED_SOURCES += [
|
||||||
@@ -128,16 +130,17 @@ include("/ipc/chromium/chromium-config.m
|
@@ -130,16 +132,17 @@ include("/ipc/chromium/chromium-config.m
|
||||||
FINAL_LIBRARY = "xul"
|
FINAL_LIBRARY = "xul"
|
||||||
|
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
@ -874,11 +823,11 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
|
|||||||
]
|
]
|
||||||
|
|
||||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||||
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
|
||||||
CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
|
CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
|
||||||
|
|
||||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||||
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
||||||
|
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
|
||||||
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
|
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
@ -974,12 +923,13 @@ diff --git a/uriloader/exthandler/unix/nsKDERegistry.cpp b/uriloader/exthandler/
|
|||||||
new file mode 100644
|
new file mode 100644
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
|
+++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
|
||||||
@@ -0,0 +1,86 @@
|
@@ -0,0 +1,89 @@
|
||||||
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
+/* -*- 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
|
+/* 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
|
+ * 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/. */
|
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
+
|
+
|
||||||
|
+#include "mozilla/StaticPrefs_browser.h"
|
||||||
+#include "nsKDERegistry.h"
|
+#include "nsKDERegistry.h"
|
||||||
+#include "prlink.h"
|
+#include "prlink.h"
|
||||||
+#include "prmem.h"
|
+#include "prmem.h"
|
||||||
@ -1055,8 +1005,10 @@ new file mode 100644
|
|||||||
+ nsCString description = output[ 1 ];
|
+ nsCString description = output[ 1 ];
|
||||||
+ mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description));
|
+ mimeInfo->SetDescription(NS_ConvertUTF8toUTF16(description));
|
||||||
+ nsCString handlerAppName = output[ 2 ];
|
+ nsCString handlerAppName = output[ 2 ];
|
||||||
|
+ mozilla::StaticPrefs::browser_download_improvements_to_download_panel()
|
||||||
|
+ ? mimeInfo->SetPreferredAction(nsIMIMEInfo::saveToDisk)
|
||||||
|
+ : mimeInfo->SetPreferredAction(nsIMIMEInfo::useSystemDefault);
|
||||||
+ mimeInfo->SetDefaultDescription(NS_ConvertUTF8toUTF16(handlerAppName));
|
+ mimeInfo->SetDefaultDescription(NS_ConvertUTF8toUTF16(handlerAppName));
|
||||||
+ mimeInfo->SetPreferredAction(nsIMIMEInfo::useSystemDefault);
|
|
||||||
+ return mimeInfo.forget();
|
+ return mimeInfo.forget();
|
||||||
+ }
|
+ }
|
||||||
+ return nullptr;
|
+ return nullptr;
|
||||||
@ -1214,7 +1166,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
#include "nsISupports.h"
|
#include "nsISupports.h"
|
||||||
#include "nsString.h"
|
#include "nsString.h"
|
||||||
#include "nsReadableUtils.h"
|
#include "nsReadableUtils.h"
|
||||||
@@ -1024,17 +1024,17 @@ nsresult nsOSHelperAppService::GetHandle
|
@@ -1025,17 +1025,17 @@ nsresult nsOSHelperAppService::GetHandle
|
||||||
|
|
||||||
nsresult nsOSHelperAppService::OSProtocolHandlerExists(
|
nsresult nsOSHelperAppService::OSProtocolHandlerExists(
|
||||||
const char* aProtocolScheme, bool* aHandlerExists) {
|
const char* aProtocolScheme, bool* aHandlerExists) {
|
||||||
@ -1233,7 +1185,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
nsCOMPtr<nsIHandlerService> handlerSvc =
|
nsCOMPtr<nsIHandlerService> handlerSvc =
|
||||||
do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
|
do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
|
||||||
if (NS_SUCCEEDED(rv) && handlerSvc) {
|
if (NS_SUCCEEDED(rv) && handlerSvc) {
|
||||||
@@ -1044,17 +1044,17 @@ nsresult nsOSHelperAppService::OSProtoco
|
@@ -1045,17 +1045,17 @@ nsresult nsOSHelperAppService::OSProtoco
|
||||||
}
|
}
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
@ -1252,7 +1204,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
|
|
||||||
NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol(
|
NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol(
|
||||||
const nsACString& aScheme, bool* _retval) {
|
const nsACString& aScheme, bool* _retval) {
|
||||||
@@ -1147,17 +1147,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
|
@@ -1148,17 +1148,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
|
||||||
nsresult rv =
|
nsresult rv =
|
||||||
LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
|
LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
|
||||||
minorType, mime_types_description, true);
|
minorType, mime_types_description, true);
|
||||||
@ -1271,7 +1223,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
|
|
||||||
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
|
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
|
||||||
minorType, mime_types_description, false);
|
minorType, mime_types_description, false);
|
||||||
@@ -1258,17 +1258,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
|
@@ -1261,17 +1261,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
|
||||||
|
|
||||||
// Now look up our extensions
|
// Now look up our extensions
|
||||||
nsAutoString extensions, mime_types_description;
|
nsAutoString extensions, mime_types_description;
|
||||||
@ -1293,7 +1245,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
|||||||
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
||||||
--- a/widget/gtk/moz.build
|
--- a/widget/gtk/moz.build
|
||||||
+++ b/widget/gtk/moz.build
|
+++ b/widget/gtk/moz.build
|
||||||
@@ -136,16 +136,17 @@ FINAL_LIBRARY = "xul"
|
@@ -154,16 +154,17 @@ FINAL_LIBRARY = "xul"
|
||||||
|
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
"/layout/base",
|
"/layout/base",
|
||||||
@ -1307,7 +1259,7 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
|
|||||||
"/widget/headless",
|
"/widget/headless",
|
||||||
]
|
]
|
||||||
|
|
||||||
if CONFIG["MOZ_X11"]:
|
if CONFIG["MOZ_X11"] or CONFIG["MOZ_WAYLAND"]:
|
||||||
LOCAL_INCLUDES += [
|
LOCAL_INCLUDES += [
|
||||||
"/widget/x11",
|
"/widget/x11",
|
||||||
]
|
]
|
||||||
@ -1350,7 +1302,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
# include "Units.h"
|
# include "Units.h"
|
||||||
extern mozilla::LazyLogModule gWidgetLog;
|
extern mozilla::LazyLogModule gWidgetLog;
|
||||||
# define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args)
|
# define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args)
|
||||||
@@ -242,17 +245,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
@@ -236,17 +239,19 @@ nsFilePicker::AppendFilters(int32_t aFil
|
||||||
mAllowURLs = !!(aFilterMask & filterAllowURLs);
|
mAllowURLs = !!(aFilterMask & filterAllowURLs);
|
||||||
return nsBaseFilePicker::AppendFilters(aFilterMask);
|
return nsBaseFilePicker::AppendFilters(aFilterMask);
|
||||||
}
|
}
|
||||||
@ -1371,7 +1323,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
|
|
||||||
mFilters.AppendElement(filter);
|
mFilters.AppendElement(filter);
|
||||||
mFilterNames.AppendElement(name);
|
mFilterNames.AppendElement(name);
|
||||||
@@ -352,16 +357,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
|
@@ -346,16 +351,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1411,7 +1363,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
|
|||||||
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
|
||||||
|
|
||||||
const gchar* accept_button;
|
const gchar* accept_button;
|
||||||
@@ -581,16 +609,244 @@ void nsFilePicker::Done(void* file_choos
|
@@ -575,16 +603,244 @@ void nsFilePicker::Done(void* file_choos
|
||||||
mCallback->Done(result);
|
mCallback->Done(result);
|
||||||
mCallback = nullptr;
|
mCallback = nullptr;
|
||||||
} else {
|
} else {
|
||||||
@ -1829,7 +1781,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
|||||||
]
|
]
|
||||||
|
|
||||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||||
CXXFLAGS += CONFIG["TK_CFLAGS"]
|
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
||||||
if CONFIG["MOZ_ENABLE_DBUS"]:
|
if CONFIG["MOZ_ENABLE_DBUS"]:
|
||||||
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
|
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
|
||||||
|
|
||||||
@ -1837,7 +1789,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
|
|||||||
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
--- a/xpcom/io/nsLocalFileUnix.cpp
|
--- a/xpcom/io/nsLocalFileUnix.cpp
|
||||||
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
+++ b/xpcom/io/nsLocalFileUnix.cpp
|
||||||
@@ -53,16 +53,17 @@
|
@@ -54,16 +54,17 @@
|
||||||
#include "prproces.h"
|
#include "prproces.h"
|
||||||
#include "nsIDirectoryEnumerator.h"
|
#include "nsIDirectoryEnumerator.h"
|
||||||
#include "nsSimpleEnumerator.h"
|
#include "nsSimpleEnumerator.h"
|
||||||
@ -1855,7 +1807,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
# include "prmem.h"
|
# include "prmem.h"
|
||||||
# include "plbase64.h"
|
# include "plbase64.h"
|
||||||
|
|
||||||
@@ -2021,62 +2022,77 @@ nsLocalFile::SetPersistentDescriptor(con
|
@@ -2097,20 +2098,29 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsLocalFile::Reveal() {
|
nsLocalFile::Reveal() {
|
||||||
@ -1864,47 +1816,10 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
- nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
|
||||||
- if (!giovfs) {
|
|
||||||
- return NS_ERROR_FAILURE;
|
|
||||||
- }
|
|
||||||
+ nsAutoCString url;
|
+ nsAutoCString url;
|
||||||
|
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
bool isDirectory;
|
- if (!giovfs) {
|
||||||
if (NS_FAILED(IsDirectory(&isDirectory))) {
|
+ url = mPath;
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
|
||||||
if (isDirectory) {
|
|
||||||
- return giovfs->ShowURIForInput(mPath);
|
|
||||||
+ url = mPath;
|
|
||||||
}
|
|
||||||
if (NS_SUCCEEDED(giovfs->OrgFreedesktopFileManager1ShowItems(mPath))) {
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
nsCOMPtr<nsIFile> parentDir;
|
|
||||||
nsAutoCString dirPath;
|
|
||||||
if (NS_FAILED(GetParent(getter_AddRefs(parentDir)))) {
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
if (NS_FAILED(parentDir->GetNativePath(dirPath))) {
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
- return giovfs->ShowURIForInput(dirPath);
|
|
||||||
+ url = dirPath;
|
|
||||||
#elif defined(MOZ_WIDGET_COCOA)
|
|
||||||
CFURLRef url;
|
|
||||||
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
|
||||||
nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
|
|
||||||
::CFRelease(url);
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
#else
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
#endif
|
|
||||||
+ if(nsKDEUtils::kdeSupport()) {
|
+ if(nsKDEUtils::kdeSupport()) {
|
||||||
+ nsTArray<nsCString> command;
|
+ nsTArray<nsCString> command;
|
||||||
+ command.AppendElement( "REVEAL"_ns );
|
+ command.AppendElement( "REVEAL"_ns );
|
||||||
@ -1913,10 +1828,18 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (!giovfs)
|
+ if (!giovfs)
|
||||||
+ return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
- }
|
||||||
+
|
+
|
||||||
+ return giovfs->ShowURIForInput(url);
|
return giovfs->RevealFile(this);
|
||||||
}
|
#elif defined(MOZ_WIDGET_COCOA)
|
||||||
|
CFURLRef url;
|
||||||
|
if (NS_SUCCEEDED(GetCFURL(&url))) {
|
||||||
|
nsresult rv = CocoaFileUtils::RevealFileInFinder(url);
|
||||||
|
::CFRelease(url);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
@@ -2122,16 +2132,23 @@ nsLocalFile::Reveal() {
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsLocalFile::Launch() {
|
nsLocalFile::Launch() {
|
||||||
@ -1931,11 +1854,12 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
+ command.AppendElement( mPath );
|
+ command.AppendElement( mPath );
|
||||||
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
|
||||||
+ }
|
+ }
|
||||||
|
+
|
||||||
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||||
if (!giovfs) {
|
if (!giovfs) {
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return giovfs->ShowURIForInput(mPath);
|
return giovfs->LaunchFile(mPath);
|
||||||
#elif defined(MOZ_WIDGET_ANDROID)
|
#elif defined(MOZ_WIDGET_ANDROID)
|
||||||
// Not supported on GeckoView
|
// Not supported on GeckoView
|
||||||
|
@ -1,27 +1,18 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent e4abeadbbb7a0c63c17177f1d14ea04c77c6128e
|
# Parent 63747fd31719c6e4f7810512a3c57e75a02b8bfd
|
||||||
|
|
||||||
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
diff --git a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||||
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
--- a/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||||
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
+++ b/dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp
|
||||||
@@ -22,23 +22,27 @@ class FFmpegDecoderModule {
|
@@ -34,16 +34,18 @@ static const char* sLibs[] = {
|
||||||
static already_AddRefed<PlatformDecoderModule> Create(FFmpegLibWrapper*);
|
|
||||||
};
|
|
||||||
|
|
||||||
static FFmpegLibWrapper sLibAV;
|
|
||||||
|
|
||||||
static const char* sLibs[] = {
|
|
||||||
// clang-format off
|
|
||||||
#if defined(XP_DARWIN)
|
|
||||||
+ "libavcodec.58.134.dylib",
|
|
||||||
+ "libavcodec.58.91.dylib",
|
|
||||||
"libavcodec.58.dylib",
|
|
||||||
"libavcodec.57.dylib",
|
|
||||||
"libavcodec.56.dylib",
|
|
||||||
"libavcodec.55.dylib",
|
"libavcodec.55.dylib",
|
||||||
"libavcodec.54.dylib",
|
"libavcodec.54.dylib",
|
||||||
"libavcodec.53.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
|
#else
|
||||||
|
"libavcodec.so.59",
|
||||||
+ "libavcodec.so.58.134",
|
+ "libavcodec.so.58.134",
|
||||||
+ "libavcodec.so.58.91",
|
+ "libavcodec.so.58.91",
|
||||||
"libavcodec.so.58",
|
"libavcodec.so.58",
|
||||||
|
18
mozilla-newer-cbindgen.patch
Normal file
18
mozilla-newer-cbindgen.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24), and causing build failures because it is defined in several places.
|
||||||
|
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
|
||||||
|
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
|
||||||
|
Forwarded: not-needed
|
||||||
|
|
||||||
|
diff --git a/gfx/webrender_bindings/webrender_ffi.h b/gfx/webrender_bindings/webrender_ffi.h
|
||||||
|
index b1d67b1..eb79974 100644
|
||||||
|
--- a/gfx/webrender_bindings/webrender_ffi.h
|
||||||
|
+++ b/gfx/webrender_bindings/webrender_ffi.h
|
||||||
|
@@ -73,8 +73,6 @@ struct WrPipelineInfo;
|
||||||
|
struct WrPipelineIdAndEpoch;
|
||||||
|
using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
|
||||||
|
|
||||||
|
-const uint64_t ROOT_CLIP_CHAIN = ~0;
|
||||||
|
-
|
||||||
|
} // namespace wr
|
||||||
|
} // namespace mozilla
|
||||||
|
|
190
mozilla-pgo.patch
Normal file
190
mozilla-pgo.patch
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
# Parent 02ffee15578fd4dc2dd5ade32e7dab907d633b0d
|
||||||
|
|
||||||
|
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||||||
|
--- a/build/moz.configure/lto-pgo.configure
|
||||||
|
+++ b/build/moz.configure/lto-pgo.configure
|
||||||
|
@@ -242,34 +242,34 @@ def lto(
|
||||||
|
"configure."
|
||||||
|
)
|
||||||
|
|
||||||
|
if c_compiler.type == "clang":
|
||||||
|
if value == "full":
|
||||||
|
cflags.append("-flto")
|
||||||
|
ldflags.append("-flto")
|
||||||
|
else:
|
||||||
|
- cflags.append("-flto=thin")
|
||||||
|
- ldflags.append("-flto=thin")
|
||||||
|
+ cflags.append("-flto")
|
||||||
|
+ ldflags.append("-flto")
|
||||||
|
|
||||||
|
if target.os == "Android" and value == "cross":
|
||||||
|
# Work around https://github.com/rust-lang/rust/issues/90088
|
||||||
|
# by enabling the highest level of SSE the rust targets default
|
||||||
|
# to.
|
||||||
|
# https://github.com/rust-lang/rust/blob/bdfcb88e8b6203ccb46a2fb6649979b773efc8ac/compiler/rustc_target/src/spec/i686_linux_android.rs#L13
|
||||||
|
# https://github.com/rust-lang/rust/blob/8d1083e319841624f64400e1524805a40d725439/compiler/rustc_target/src/spec/x86_64_linux_android.rs#L7
|
||||||
|
if target.cpu == "x86":
|
||||||
|
ldflags.append("-Wl,-plugin-opt=-mattr=+ssse3")
|
||||||
|
elif target.cpu == "x86_64":
|
||||||
|
ldflags.append("-Wl,-plugin-opt=-mattr=+sse4.2")
|
||||||
|
elif c_compiler.type == "clang-cl":
|
||||||
|
if value == "full":
|
||||||
|
cflags.append("-flto")
|
||||||
|
else:
|
||||||
|
- cflags.append("-flto=thin")
|
||||||
|
+ cflags.append("-flto")
|
||||||
|
# With clang-cl, -flto can only be used with -c or -fuse-ld=lld.
|
||||||
|
# AC_TRY_LINKs during configure don't have -c, so pass -fuse-ld=lld.
|
||||||
|
cflags.append("-fuse-ld=lld")
|
||||||
|
|
||||||
|
# Explicitly set the CPU to optimize for so the linker doesn't
|
||||||
|
# choose a poor default. Rust compilation by default uses the
|
||||||
|
# pentium4 CPU on x86:
|
||||||
|
#
|
||||||
|
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
|
||||||
|
--- a/build/pgo/profileserver.py
|
||||||
|
+++ b/build/pgo/profileserver.py
|
||||||
|
@@ -6,17 +6,17 @@
|
||||||
|
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import glob
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
import mozcrash
|
||||||
|
-from mozbuild.base import MozbuildObject, BinaryNotFoundException
|
||||||
|
+from mozbuild.base import MozbuildObject, BinaryNotFoundException, BuildEnvironmentNotFoundException
|
||||||
|
from mozfile import TemporaryDirectory
|
||||||
|
from mozhttpd import MozHttpd
|
||||||
|
from mozprofile import FirefoxProfile, Preferences
|
||||||
|
from mozprofile.permissions import ServerLocations
|
||||||
|
from mozrunner import FirefoxRunner, CLI
|
||||||
|
from six import string_types
|
||||||
|
|
||||||
|
PORT = 8888
|
||||||
|
@@ -82,19 +82,32 @@ if __name__ == "__main__":
|
||||||
|
docroot=os.path.join(build.topsrcdir, "build", "pgo"),
|
||||||
|
path_mappings=path_mappings,
|
||||||
|
)
|
||||||
|
httpd.start(block=False)
|
||||||
|
|
||||||
|
locations = ServerLocations()
|
||||||
|
locations.add_host(host="127.0.0.1", port=PORT, options="primary,privileged")
|
||||||
|
|
||||||
|
- old_profraw_files = glob.glob("*.profraw")
|
||||||
|
- for f in old_profraw_files:
|
||||||
|
- os.remove(f)
|
||||||
|
+ using_gcc = False
|
||||||
|
+ try:
|
||||||
|
+ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
|
||||||
|
+ using_gcc = True
|
||||||
|
+ except BuildEnvironmentNotFoundException:
|
||||||
|
+ pass
|
||||||
|
+
|
||||||
|
+ if using_gcc:
|
||||||
|
+ for dirpath, _, filenames in os.walk('.'):
|
||||||
|
+ for f in filenames:
|
||||||
|
+ if f.endswith('.gcda'):
|
||||||
|
+ os.remove(os.path.join(dirpath, f))
|
||||||
|
+ else:
|
||||||
|
+ old_profraw_files = glob.glob('*.profraw')
|
||||||
|
+ for f in old_profraw_files:
|
||||||
|
+ os.remove(f)
|
||||||
|
|
||||||
|
with TemporaryDirectory() as profilePath:
|
||||||
|
# TODO: refactor this into mozprofile
|
||||||
|
profile_data_dir = os.path.join(build.topsrcdir, "testing", "profiles")
|
||||||
|
with open(os.path.join(profile_data_dir, "profiles.json"), "r") as fh:
|
||||||
|
base_profiles = json.load(fh)["profileserver"]
|
||||||
|
|
||||||
|
prefpaths = [
|
||||||
|
@@ -207,16 +220,20 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
|
# Try to move the crash reports to the artifacts even if Firefox appears
|
||||||
|
# to exit successfully, in case there's a crash that doesn't set the
|
||||||
|
# return code to non-zero for some reason.
|
||||||
|
if get_crashreports(profilePath, name="Firefox exited successfully?") != 0:
|
||||||
|
print("Firefox exited successfully, but produced a crashreport")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
+ print('Copying profile data....')
|
||||||
|
+ os.system('pwd');
|
||||||
|
+ os.system('tar cf profdata.tar.gz `find . -name "*.gcda"`; cd ..; tar xf instrumented/profdata.tar.gz;');
|
||||||
|
+
|
||||||
|
llvm_profdata = env.get("LLVM_PROFDATA")
|
||||||
|
if llvm_profdata:
|
||||||
|
profraw_files = glob.glob("*.profraw")
|
||||||
|
if not profraw_files:
|
||||||
|
print(
|
||||||
|
"Could not find profraw files in the current directory: %s"
|
||||||
|
% os.getcwd()
|
||||||
|
)
|
||||||
|
diff --git a/build/unix/mozconfig.unix b/build/unix/mozconfig.unix
|
||||||
|
--- a/build/unix/mozconfig.unix
|
||||||
|
+++ b/build/unix/mozconfig.unix
|
||||||
|
@@ -1,14 +1,23 @@
|
||||||
|
. "$topsrcdir/build/mozconfig.common"
|
||||||
|
|
||||||
|
if [ -n "$FORCE_GCC" ]; then
|
||||||
|
CC="$MOZ_FETCHES_DIR/gcc/bin/gcc"
|
||||||
|
CXX="$MOZ_FETCHES_DIR/gcc/bin/g++"
|
||||||
|
|
||||||
|
+ if [ -n "$MOZ_PGO" ]; then
|
||||||
|
+ if [ -z "$USE_ARTIFACT" ]; then
|
||||||
|
+ ac_add_options --enable-lto
|
||||||
|
+ fi
|
||||||
|
+ export AR="$topsrcdir/gcc/bin/gcc-ar"
|
||||||
|
+ export NM="$topsrcdir/gcc/bin/gcc-nm"
|
||||||
|
+ export RANLIB="$topsrcdir/gcc/bin/gcc-ranlib"
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
# We want to make sure we use binutils and other binaries in the tooltool
|
||||||
|
# package.
|
||||||
|
mk_add_options "export PATH=$MOZ_FETCHES_DIR/gcc/bin:$PATH"
|
||||||
|
else
|
||||||
|
# For some builds we don't want to have Clang based static-analysis activated
|
||||||
|
if [ -z "$DISABLE_CLANG_PLUGIN" ]; then
|
||||||
|
export ENABLE_CLANG_PLUGIN=1
|
||||||
|
fi
|
||||||
|
diff --git a/extensions/spellcheck/src/moz.build b/extensions/spellcheck/src/moz.build
|
||||||
|
--- a/extensions/spellcheck/src/moz.build
|
||||||
|
+++ b/extensions/spellcheck/src/moz.build
|
||||||
|
@@ -23,8 +23,10 @@ LOCAL_INCLUDES += [
|
||||||
|
"../hunspell/glue",
|
||||||
|
"../hunspell/src",
|
||||||
|
"/dom/base",
|
||||||
|
]
|
||||||
|
EXPORTS.mozilla += [
|
||||||
|
"mozInlineSpellChecker.h",
|
||||||
|
"mozSpellChecker.h",
|
||||||
|
]
|
||||||
|
+
|
||||||
|
+CXXFLAGS += ['-fno-devirtualize']
|
||||||
|
diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp
|
||||||
|
--- a/toolkit/components/terminator/nsTerminator.cpp
|
||||||
|
+++ b/toolkit/components/terminator/nsTerminator.cpp
|
||||||
|
@@ -461,16 +461,21 @@ void nsTerminator::StartWatchdog() {
|
||||||
|
// Defend against overflow
|
||||||
|
crashAfterMS = INT32_MAX;
|
||||||
|
} else {
|
||||||
|
crashAfterMS *= scaleUp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ // Disable watchdog for PGO train builds - writting profile information at
|
||||||
|
+ // exit may take time and it is better to make build hang rather than
|
||||||
|
+ // silently produce poorly performing binary.
|
||||||
|
+ crashAfterMS = INT32_MAX;
|
||||||
|
+
|
||||||
|
UniquePtr<Options> options(new Options());
|
||||||
|
// crashAfterTicks is guaranteed to be > 0 as
|
||||||
|
// crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >> HEARTBEAT_INTERVAL_MS
|
||||||
|
options->crashAfterTicks = crashAfterMS / HEARTBEAT_INTERVAL_MS;
|
||||||
|
|
||||||
|
DebugOnly<PRThread*> watchdogThread =
|
||||||
|
CreateSystemThread(RunWatchdog, options.release());
|
||||||
|
MOZ_ASSERT(watchdogThread);
|
@ -1,28 +1,11 @@
|
|||||||
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
|
--- firefox-96.0.3.orig/build/moz.configure/rust.configure
|
||||||
--- a/build/moz.configure/rust.configure
|
+++ firefox-96.0.3/build/moz.configure/rust.configure
|
||||||
+++ b/build/moz.configure/rust.configure
|
@@ -641,7 +643,7 @@ def rust_compile_flags(
|
||||||
@@ -610,6 +610,7 @@ set_config("CARGO_PROFILE_DEV_OPT_LEVEL"
|
debug_assertions = False
|
||||||
"--enable-frame-pointers",
|
|
||||||
path_remapping,
|
|
||||||
path_remappings,
|
|
||||||
+ host
|
|
||||||
)
|
|
||||||
def rust_compile_flags(
|
|
||||||
opt_level,
|
|
||||||
@@ -619,6 +620,7 @@ def rust_compile_flags(
|
|
||||||
frame_pointers,
|
|
||||||
path_remapping,
|
|
||||||
path_remappings,
|
|
||||||
+ host
|
|
||||||
):
|
|
||||||
# Cargo currently supports only two interesting profiles for building:
|
|
||||||
# development and release. Those map (roughly) to --enable-debug and
|
|
||||||
@@ -642,6 +644,8 @@ def rust_compile_flags(
|
|
||||||
|
|
||||||
if debug_symbols:
|
if debug_symbols:
|
||||||
debug_info = "2"
|
- debug_info = "2"
|
||||||
+ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64' or host.cpu == 's390x':
|
+ debug_info = '1'
|
||||||
+ debug_info = '1'
|
|
||||||
|
|
||||||
opts = []
|
opts = []
|
||||||
|
|
||||||
|
@ -3,54 +3,51 @@
|
|||||||
# Date 1558452408 -7200
|
# Date 1558452408 -7200
|
||||||
# Tue May 21 17:26:48 2019 +0200
|
# Tue May 21 17:26:48 2019 +0200
|
||||||
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
|
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
|
||||||
# Parent cb0089687ab899846b8229c3741261d50101340e
|
# Parent 136e1f2c44a3099b3e49a576fa62c8ad77aa431e
|
||||||
[mq]: mozilla-s390-context.patch
|
[mq]: mozilla-s390-context.patch
|
||||||
|
|
||||||
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
||||||
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
||||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
||||||
@@ -150,16 +150,20 @@ using mozilla::DebugOnly;
|
@@ -157,16 +157,20 @@ using mozilla::DebugOnly;
|
||||||
# define FP_sig(p) ((p)->uc_mcontext.mc_fp)
|
# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
|
||||||
# define SP_sig(p) ((p)->uc_mcontext.mc_i7)
|
# endif
|
||||||
# endif
|
# if defined(__linux__) && defined(__loongarch__)
|
||||||
# if defined(__linux__) && (defined(__ppc64__) || defined(__PPC64__) || \
|
# define EPC_sig(p) ((p)->uc_mcontext.pc)
|
||||||
defined(__ppc64le__) || defined(__PPC64LE__))
|
# define RRA_sig(p) ((p)->uc_mcontext.gregs[1])
|
||||||
# define R01_sig(p) ((p)->uc_mcontext.gp_regs[1])
|
# define RSP_sig(p) ((p)->uc_mcontext.gregs[3])
|
||||||
# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
|
# define RFP_sig(p) ((p)->uc_mcontext.gregs[22])
|
||||||
# endif
|
# endif
|
||||||
+# if defined(__linux__) && defined(__s390x__)
|
+# if defined(__linux__) && defined(__s390x__)
|
||||||
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
|
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
|
||||||
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
|
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
|
||||||
+# endif
|
+# endif
|
||||||
#elif defined(__NetBSD__)
|
# elif defined(__NetBSD__)
|
||||||
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
|
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
|
||||||
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
|
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
|
||||||
# define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
|
# define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
|
||||||
# define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
|
# define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
|
||||||
# define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
|
# define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
|
||||||
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
|
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
|
||||||
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
|
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
|
||||||
@@ -381,18 +385,23 @@ struct macos_arm_context {
|
@@ -399,16 +403,20 @@ struct macos_aarch64_context {
|
||||||
# define FP_sig(p) RFP_sig(p)
|
# define PC_sig(p) R32_sig(p)
|
||||||
# define SP_sig(p) RSP_sig(p)
|
# define SP_sig(p) R01_sig(p)
|
||||||
# define LR_sig(p) R31_sig(p)
|
# define FP_sig(p) R01_sig(p)
|
||||||
#elif defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
|
# elif defined(__loongarch__)
|
||||||
defined(__PPC64LE__)
|
# define PC_sig(p) EPC_sig(p)
|
||||||
# define PC_sig(p) R32_sig(p)
|
# define FP_sig(p) RFP_sig(p)
|
||||||
# define SP_sig(p) R01_sig(p)
|
# define SP_sig(p) RSP_sig(p)
|
||||||
# define FP_sig(p) R01_sig(p)
|
# define LR_sig(p) RRA_sig(p)
|
||||||
+#elif defined(__s390x__)
|
+# elif defined(__s390x__)
|
||||||
+# define PC_sig(p) PSWa_sig(p)
|
+# define PC_sig(p) PSWa_sig(p)
|
||||||
+# define SP_sig(p) GR_sig(p, 15)
|
+# define SP_sig(p) GR_sig(p, 15)
|
||||||
+# define FP_sig(p) GR_sig(p, 11)
|
+# define FP_sig(p) GR_sig(p, 11)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
+
|
|
||||||
static void SetContextPC(CONTEXT* context, uint8_t* pc) {
|
static void SetContextPC(CONTEXT* context, uint8_t* pc) {
|
||||||
#ifdef PC_sig
|
# ifdef PC_sig
|
||||||
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
|
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
|
||||||
#else
|
# else
|
||||||
MOZ_CRASH();
|
MOZ_CRASH();
|
||||||
#endif
|
# endif
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
From: meissner@suse.com, cgrobertson@suse.com
|
|
||||||
Subject: allow Firefox to access addtional process information
|
|
||||||
References:
|
|
||||||
http://bugzilla.suse.com/show_bug.cgi?id=1167132
|
|
||||||
bsc#1174284 - Firefox tab just crashed in FIPS mode
|
|
||||||
|
|
||||||
diff --git a/security/sandbox/linux/Sandbox.cpp b/security/sandbox/linux/Sandbox.cpp
|
|
||||||
--- a/security/sandbox/linux/Sandbox.cpp
|
|
||||||
+++ b/security/sandbox/linux/Sandbox.cpp
|
|
||||||
@@ -650,16 +650,17 @@ void SetMediaPluginSandbox(const char* a
|
|
||||||
SANDBOX_LOG_ERROR("failed to open plugin file %s: %s", aFilePath,
|
|
||||||
strerror(errno));
|
|
||||||
MOZ_CRASH("failed while trying to open the plugin file ");
|
|
||||||
}
|
|
||||||
|
|
||||||
auto files = new SandboxOpenedFiles();
|
|
||||||
files->Add(std::move(plugin));
|
|
||||||
files->Add("/dev/urandom", SandboxOpenedFile::Dup::YES);
|
|
||||||
+ files->Add("/dev/random", SandboxOpenedFile::Dup::YES);
|
|
||||||
files->Add("/etc/ld.so.cache"); // Needed for NSS in clearkey.
|
|
||||||
files->Add("/sys/devices/system/cpu/cpu0/tsc_freq_khz");
|
|
||||||
files->Add("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq");
|
|
||||||
files->Add("/proc/cpuinfo"); // Info also available via CPUID instruction.
|
|
||||||
files->Add("/proc/sys/crypto/fips_enabled"); // Needed for NSS in clearkey.
|
|
||||||
#ifdef __i386__
|
|
||||||
files->Add("/proc/self/auxv"); // Info also in process's address space.
|
|
||||||
#endif
|
|
||||||
diff --git a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
|
||||||
--- a/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
|
||||||
+++ b/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
|
|
||||||
@@ -315,16 +315,18 @@ void SandboxBrokerPolicyFactory::InitCon
|
|
||||||
policy->AddDir(rdwr, "/dev/dri");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Bug 1575985: WASM library sandbox needs RW access to /dev/null
|
|
||||||
policy->AddPath(rdwr, "/dev/null");
|
|
||||||
|
|
||||||
// Read permissions
|
|
||||||
policy->AddPath(rdonly, "/dev/urandom");
|
|
||||||
+ policy->AddPath(rdonly, "/dev/random");
|
|
||||||
+ policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled");
|
|
||||||
policy->AddPath(rdonly, "/proc/cpuinfo");
|
|
||||||
policy->AddPath(rdonly, "/proc/meminfo");
|
|
||||||
policy->AddDir(rdonly, "/sys/devices/cpu");
|
|
||||||
policy->AddDir(rdonly, "/sys/devices/system/cpu");
|
|
||||||
policy->AddDir(rdonly, "/lib");
|
|
||||||
policy->AddDir(rdonly, "/lib64");
|
|
||||||
policy->AddDir(rdonly, "/usr/lib");
|
|
||||||
policy->AddDir(rdonly, "/usr/lib32");
|
|
File diff suppressed because it is too large
Load Diff
34
one_swizzle_to_rule_them_all.patch
Normal file
34
one_swizzle_to_rule_them_all.patch
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||||
|
# Date 1645518286 -3600
|
||||||
|
# Tue Feb 22 09:24:46 2022 +0100
|
||||||
|
# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b
|
||||||
|
# Parent 81832d035e101471dcf52dd91de287268add7a91
|
||||||
|
imported patch one_swizzle_to_rule_them_all.patch
|
||||||
|
|
||||||
|
Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||||
|
===================================================================
|
||||||
|
--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||||
|
+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||||
|
@@ -7,6 +7,7 @@
|
||||||
|
#include "RenderCompositorSWGL.h"
|
||||||
|
|
||||||
|
#include "mozilla/gfx/Logging.h"
|
||||||
|
+#include "mozilla/gfx/Swizzle.h"
|
||||||
|
#include "mozilla/widget/CompositorWidget.h"
|
||||||
|
|
||||||
|
#ifdef MOZ_WIDGET_GTK
|
||||||
|
@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
|
||||||
|
}
|
||||||
|
mDT->Flush();
|
||||||
|
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+ // One swizzle to rule them all.
|
||||||
|
+ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
|
||||||
|
+ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
|
||||||
|
+ mDT->GetSize());
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
// Done with the DT. Hand it back to the widget and clear out any trace of it.
|
||||||
|
mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);
|
||||||
|
mDirtyRegion.SetEmpty();
|
29
svg-rendering.patch
Normal file
29
svg-rendering.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||||
|
# Date 1645518286 -3600
|
||||||
|
# Tue Feb 22 09:24:46 2022 +0100
|
||||||
|
# Node ID 81832d035e101471dcf52dd91de287268add7a91
|
||||||
|
# Parent 66f7ce16eb4965108687280e5443edd610631efb
|
||||||
|
imported patch svg-rendering.patch
|
||||||
|
|
||||||
|
diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp
|
||||||
|
--- a/image/imgFrame.cpp
|
||||||
|
+++ b/image/imgFrame.cpp
|
||||||
|
@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD
|
||||||
|
return NS_ERROR_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
|
||||||
|
+ // SKIA is lying about what format it returns on big endian
|
||||||
|
+ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
|
||||||
|
+ uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
|
||||||
|
+ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF );
|
||||||
|
+ vals[ii] = (val << 16) | (val >> 16);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
if (!canUseDataSurface) {
|
||||||
|
// We used an offscreen surface, which is an "optimized" surface from
|
||||||
|
// imgFrame's perspective.
|
12
tar_stamps
12
tar_stamps
@ -1,10 +1,10 @@
|
|||||||
PRODUCT="thunderbird"
|
PRODUCT="thunderbird"
|
||||||
CHANNEL="esr91"
|
CHANNEL="esr102"
|
||||||
VERSION="91.11.0"
|
VERSION="102.1.0"
|
||||||
VERSION_SUFFIX=""
|
VERSION_SUFFIX=""
|
||||||
PREV_VERSION="91.10.0"
|
PREV_VERSION="102.0.3"
|
||||||
PREV_VERSION_SUFFIX=""
|
PREV_VERSION_SUFFIX=""
|
||||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||||
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr91"
|
RELEASE_REPO="https://hg.mozilla.org/releases/comm-esr102"
|
||||||
RELEASE_TAG="da48e7ecf800ec7761a3b6e0ca81e0c90adc30f7"
|
RELEASE_TAG="7fc691fc18b8cddcf185d1b72ebc403e8983ada9"
|
||||||
RELEASE_TIMESTAMP="20220628000715"
|
RELEASE_TIMESTAMP="20220725200630"
|
||||||
|
3
thunderbird-102.1.0.source.tar.xz
Normal file
3
thunderbird-102.1.0.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:59195f813c9f43ff1c0eb2ac20e14f6f309f7c61c030010fde5010f036fcee74
|
||||||
|
size 502081292
|
16
thunderbird-102.1.0.source.tar.xz.asc
Normal file
16
thunderbird-102.1.0.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmLfN+UACgkQ6+QekPbx
|
||||||
|
L22F3g/+ILLVYYT/AEr4mJtXqjuT0EwJBLRapCdqAv2Q0FWZU0NxtGB6eDVOChcx
|
||||||
|
vFL8/Hb1Jx5V6QTzxcyVu+pnAhQC1WMBbBdyAY0FNE9mzN7Hyud2UbRKXpIfnTkL
|
||||||
|
LF0HuvxhWx2WV1WQUkNXfKlJrCeSoefD0iFIX/f6y1Otvc4tYuBDdvNvpk9fAF9+
|
||||||
|
GphtPoUv/xF9XbRl5WiQo8zHeVzizSTisE3aagNGbTTpJupwu8ECTVlriyI0/T4k
|
||||||
|
kpJlShj0MoyRg4OAQyqlXK8Cd9pmWar1gjDO5bhOSWAIs3pOW7E9hrrKi900H98c
|
||||||
|
NkJWFyMm+7NTLDcpj30bpFRh7Yb0Ej5YTdFYvkDG9XqpcLKZY2Y1pCARRi3PbUtD
|
||||||
|
r2/xczrUn5QufzmYG1HvkA6RVylIrzSEqWvhojbhUrrX00i3aPo7QCMK9lFwkjOb
|
||||||
|
kYMvaqhdez+bVpnDo028Fe5f6lh34kXAA3DxxqrC/SpLCeMPI3/wwL/L2BRGZQUO
|
||||||
|
BnSRlU63UwsmwTafSMlocNFcZ57olwrT0vdRdiaWG4eGaIvdYhKcGwuhM7xZ7LVY
|
||||||
|
65fkPmVKbWYi2+OWNzAygR5KA2bzpEq6w2bMDGIBnnDnjfPu6AIId83K0WFDofaz
|
||||||
|
KHtp2Pv7YIbH9PuLqigX5mgDEY5at+CcajkxeOb838ZvxU1W8R8=
|
||||||
|
=AU7Y
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:318e6d80eecf2d6f8af5c58e99333b8c4822a720a6193dc38848ff9a1e9e6dc8
|
|
||||||
size 408098564
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmK6axsACgkQ6+QekPbx
|
|
||||||
L20wwQ/+Ls0P1VcNs9vitUgHjtss7r7rmZQ3jiXFaX/D9719uJfa/YcXHHgFNdXP
|
|
||||||
uVT9jjQFgIZgBN5SpIcaC7zygrh0nhbBw1Bg/4FWFyC8gHujvGMgF9hML+ltQx9x
|
|
||||||
sKZo6N5utcDfBdEU0kvCE9bgLGq00FCnke0jfut+jxv+sN0s85lPMcRR35PEjFS2
|
|
||||||
oEDqsauTbS+BJtA+oBF6D8IaLuZh9WA6zOgcqsNWmxxfCesUfVjYMihmicwFSvFQ
|
|
||||||
SZmrQrvNd5bdB84GsLhf67uhWdu7UwjUjuALWIiTXNug8zdUgT7R4VDWpbcYXf8T
|
|
||||||
VkA7HzmF6sABKkev4JX2DOxtVJwHGJteLFRNJYZnHwzz5o6qncs5I91j15SCc0AF
|
|
||||||
u4Oriy7yis6EPRR3PLgYg9omdFQmB8E8QPgNkldfUpV9S8W2/tbKpNKCk1uMY8DL
|
|
||||||
GkZNkPQY/Wx3CnPOy6bd1ACS9GwUdavacVvaiCLnVRRW+oWeGZ2C74CST8sXnodh
|
|
||||||
hiZ1GFwshhdOowP4E3XthW+ZVDy7aEnTNaBLWT9s0jOsqeGwMK+XYEihstLPAdhN
|
|
||||||
8Dq71zrmmQvnXPUlektykssVg2jox6F9xMCuM4z628/ajFoqApeJjvMYGiaQHJ8p
|
|
||||||
BnxFDuZvB7mPlWzbtIGCCqxPRVlFq8VR9ySG3i+PDMfApOkZAjE=
|
|
||||||
=eETF
|
|
||||||
-----END PGP SIGNATURE-----
|
|
Loading…
Reference in New Issue
Block a user