- Firefox 102.0
* You can now disable automatic opening of the download panel every time a new download starts * Firefox now mitigates query parameter tracking when navigating sites in ETP strict mode * Improved security by moving audio decoding into a separate process with stricter sandboxing, thus improving process isolation * https://www.mozilla.org/en-US/firefox/102.0/releasenotes MFSA 2022-24 (bsc#1200793) * CVE-2022-34479 (bmo#1745595) A popup window could be resized in a way to overlay the address bar with web content * CVE-2022-34470 (bmo#1765951) Use-after-free in nsSHistory * CVE-2022-34468 (bmo#1768537) CSP sandbox header without `allow-scripts` can be bypassed via retargeted javascript: URI * CVE-2022-34482 (bmo#845880) Drag and drop of malicious image could have led to malicious executable and potential code execution * CVE-2022-34483 (bmo#1335845) Drag and drop of malicious image could have led to malicious executable and potential code execution * CVE-2022-34476 (bmo#1387919) ASN.1 parser could have been tricked into accepting malformed ASN.1 * CVE-2022-34481 (bmo#1483699, bmo#1497246) Potential integer overflow in ReplaceElementsAt * CVE-2022-34474 (bmo#1677138) Sandboxed iframes could redirect to external schemes * CVE-2022-34469 (bmo#1721220) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=983
This commit is contained in:
parent
f85c2ce39f
commit
a756387aa3
@ -1,3 +1,74 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 25 12:51:46 UTC 2022 - Wolfgang Rosenauer <wr@rosenauer.org>
|
||||||
|
|
||||||
|
- Firefox 102.0
|
||||||
|
* You can now disable automatic opening of the download panel
|
||||||
|
every time a new download starts
|
||||||
|
* Firefox now mitigates query parameter tracking when navigating
|
||||||
|
sites in ETP strict mode
|
||||||
|
* Improved security by moving audio decoding into a separate
|
||||||
|
process with stricter sandboxing, thus improving process isolation
|
||||||
|
* https://www.mozilla.org/en-US/firefox/102.0/releasenotes
|
||||||
|
MFSA 2022-24 (bsc#1200793)
|
||||||
|
* CVE-2022-34479 (bmo#1745595)
|
||||||
|
A popup window could be resized in a way to overlay the
|
||||||
|
address bar with web content
|
||||||
|
* CVE-2022-34470 (bmo#1765951)
|
||||||
|
Use-after-free in nsSHistory
|
||||||
|
* CVE-2022-34468 (bmo#1768537)
|
||||||
|
CSP sandbox header without `allow-scripts` can be bypassed
|
||||||
|
via retargeted javascript: URI
|
||||||
|
* CVE-2022-34482 (bmo#845880)
|
||||||
|
Drag and drop of malicious image could have led to malicious
|
||||||
|
executable and potential code execution
|
||||||
|
* CVE-2022-34483 (bmo#1335845)
|
||||||
|
Drag and drop of malicious image could have led to malicious
|
||||||
|
executable and potential code execution
|
||||||
|
* CVE-2022-34476 (bmo#1387919)
|
||||||
|
ASN.1 parser could have been tricked into accepting malformed ASN.1
|
||||||
|
* CVE-2022-34481 (bmo#1483699, bmo#1497246)
|
||||||
|
Potential integer overflow in ReplaceElementsAt
|
||||||
|
* CVE-2022-34474 (bmo#1677138)
|
||||||
|
Sandboxed iframes could redirect to external schemes
|
||||||
|
* CVE-2022-34469 (bmo#1721220)
|
||||||
|
TLS certificate errors on HSTS-protected domains could be
|
||||||
|
bypassed by the user on Firefox for Android
|
||||||
|
* CVE-2022-34471 (bmo#1766047)
|
||||||
|
Compromised server could trick a browser into an addon downgrade
|
||||||
|
* CVE-2022-34472 (bmo#1770123)
|
||||||
|
Unavailable PAC file resulted in OCSP requests being blocked
|
||||||
|
* CVE-2022-34478 (bmo#1773717)
|
||||||
|
Microsoft protocols can be attacked if a user accepts a prompt
|
||||||
|
* CVE-2022-2200 (bmo#1771381)
|
||||||
|
Undesired attributes could be set as part of prototype pollution
|
||||||
|
* CVE-2022-34480 (bmo#1454072)
|
||||||
|
Free of uninitialized pointer in lg_init
|
||||||
|
* CVE-2022-34477 (bmo#1731614)
|
||||||
|
MediaError message property leaked information on cross-
|
||||||
|
origin same-site pages
|
||||||
|
* CVE-2022-34475 (bmo#1757210)
|
||||||
|
HTML Sanitizer could have been bypassed via same-origin
|
||||||
|
script via use tags
|
||||||
|
* CVE-2022-34473 (bmo#1770888)
|
||||||
|
HTML Sanitizer could have been bypassed via use tags
|
||||||
|
* CVE-2022-34484 (bmo#1763634, bmo#1772651)
|
||||||
|
Memory safety bugs fixed in Firefox 102 and Firefox ESR 91.11
|
||||||
|
* CVE-2022-34485 (bmo#1768409, bmo#1768578)
|
||||||
|
Memory safety bugs fixed in Firefox 102
|
||||||
|
- requires
|
||||||
|
NSPR >= 4.34
|
||||||
|
NSS >= 3.79
|
||||||
|
rust = 1.60
|
||||||
|
- switch out skia-patches with webrender-patches for big endian
|
||||||
|
removed:
|
||||||
|
* mozilla-bmo1504834-part2.patch
|
||||||
|
* mozilla-bmo1504834-part4.patch
|
||||||
|
* mozilla-bmo1626236.patch
|
||||||
|
added:
|
||||||
|
* one_swizzle_to_rule_them_all.patch
|
||||||
|
* svg-rendering.patch
|
||||||
|
- add some more returns to the no-return-patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jun 10 20:45:37 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
|
Fri Jun 10 20:45:37 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
@ -28,9 +28,9 @@
|
|||||||
# orig_suffix b3
|
# orig_suffix b3
|
||||||
# major 69
|
# major 69
|
||||||
# mainver %major.99
|
# mainver %major.99
|
||||||
%define major 101
|
%define major 102
|
||||||
%define mainver %major.0.1
|
%define mainver %major.0
|
||||||
%define orig_version 101.0.1
|
%define orig_version 102.0
|
||||||
%define orig_suffix %{nil}
|
%define orig_suffix %{nil}
|
||||||
%define update_channel release
|
%define update_channel release
|
||||||
%define branding 1
|
%define branding 1
|
||||||
@ -91,19 +91,23 @@ BuildRequires: dbus-1-glib-devel
|
|||||||
BuildRequires: dejavu-fonts
|
BuildRequires: dejavu-fonts
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: memory-constraints
|
BuildRequires: memory-constraints
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?sle_version} <= 150300
|
||||||
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.57
|
BuildRequires: cargo >= 1.59
|
||||||
BuildRequires: rust >= 1.57
|
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
|
||||||
|
# minimal requirement:
|
||||||
BuildRequires: rust+cargo >= 1.59
|
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
|
||||||
@ -113,8 +117,8 @@ BuildRequires: libcurl-devel
|
|||||||
BuildRequires: libiw-devel
|
BuildRequires: libiw-devel
|
||||||
BuildRequires: libproxy-devel
|
BuildRequires: libproxy-devel
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
BuildRequires: mozilla-nspr-devel >= 4.33
|
BuildRequires: mozilla-nspr-devel >= 4.34
|
||||||
BuildRequires: mozilla-nss-devel >= 3.78.1
|
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
|
||||||
@ -178,7 +182,9 @@ Source1: MozillaFirefox.desktop
|
|||||||
Source2: MozillaFirefox-rpmlintrc
|
Source2: MozillaFirefox-rpmlintrc
|
||||||
Source3: mozilla.sh.in
|
Source3: mozilla.sh.in
|
||||||
Source4: tar_stamps
|
Source4: tar_stamps
|
||||||
|
%if %{localize}
|
||||||
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
||||||
|
%endif
|
||||||
Source8: firefox-mimeinfo.xml
|
Source8: firefox-mimeinfo.xml
|
||||||
Source9: firefox.js
|
Source9: firefox.js
|
||||||
Source11: firefox.1
|
Source11: firefox.1
|
||||||
@ -207,18 +213,17 @@ Patch8: mozilla-reduce-rust-debuginfo.patch
|
|||||||
Patch9: mozilla-bmo1005535.patch
|
Patch9: mozilla-bmo1005535.patch
|
||||||
Patch10: mozilla-bmo1568145.patch
|
Patch10: mozilla-bmo1568145.patch
|
||||||
Patch11: mozilla-bmo1504834-part1.patch
|
Patch11: mozilla-bmo1504834-part1.patch
|
||||||
Patch12: mozilla-bmo1504834-part2.patch
|
|
||||||
Patch13: mozilla-bmo1504834-part3.patch
|
Patch13: mozilla-bmo1504834-part3.patch
|
||||||
Patch14: mozilla-bmo1512162.patch
|
Patch14: mozilla-bmo1512162.patch
|
||||||
Patch15: mozilla-fix-top-level-asm.patch
|
Patch15: mozilla-fix-top-level-asm.patch
|
||||||
Patch16: mozilla-bmo1504834-part4.patch
|
|
||||||
Patch17: mozilla-bmo849632.patch
|
Patch17: mozilla-bmo849632.patch
|
||||||
Patch18: mozilla-bmo998749.patch
|
Patch18: mozilla-bmo998749.patch
|
||||||
Patch19: mozilla-bmo1626236.patch
|
|
||||||
Patch20: mozilla-s390x-skia-gradient.patch
|
Patch20: mozilla-s390x-skia-gradient.patch
|
||||||
Patch21: mozilla-libavcodec58_91.patch
|
Patch21: mozilla-libavcodec58_91.patch
|
||||||
Patch22: mozilla-silence-no-return-type.patch
|
Patch22: mozilla-silence-no-return-type.patch
|
||||||
Patch23: mozilla-bmo531915.patch
|
Patch23: mozilla-bmo531915.patch
|
||||||
|
Patch25: one_swizzle_to_rule_them_all.patch
|
||||||
|
Patch26: svg-rendering.patch
|
||||||
# Firefox/browser
|
# Firefox/browser
|
||||||
Patch101: firefox-kde.patch
|
Patch101: firefox-kde.patch
|
||||||
Patch102: firefox-branded-icons.patch
|
Patch102: firefox-branded-icons.patch
|
||||||
@ -341,22 +346,20 @@ sed -i "s/python3/python36/g" mach
|
|||||||
export PYTHON3=/usr/bin/python36
|
export PYTHON3=/usr/bin/python36
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Webrender does not support big endian yet, so we are forcing it off
|
|
||||||
# see: https://bugzilla.mozilla.org/show_bug.cgi?id=1716707
|
|
||||||
%ifarch s390x ppc64
|
|
||||||
echo 'pref("gfx.webrender.force-disabled", true);' >> %{SOURCE9}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
#
|
#
|
||||||
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
||||||
if test "$kdehelperversion" != %{kde_helper_version}; then
|
if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||||
echo fix kde helper version in the .spec file
|
echo fix kde helper version in the .spec file
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
# When doing only_print_mozconfig, this file isn't necessarily available, so skip it
|
||||||
source %{SOURCE4}
|
cp %{SOURCE4} .obsenv.sh
|
||||||
|
%else
|
||||||
|
# We need to make sure its empty
|
||||||
|
echo "" > .obsenv.sh
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
cat >> .obsenv.sh <<EOF
|
||||||
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
|
export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
|
||||||
export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
|
export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
|
||||||
export SOURCE_REPO=$RELEASE_REPO
|
export SOURCE_REPO=$RELEASE_REPO
|
||||||
@ -367,8 +370,8 @@ export MOZILLA_OFFICIAL=1
|
|||||||
export BUILD_OFFICIAL=1
|
export BUILD_OFFICIAL=1
|
||||||
export MOZ_TELEMETRY_REPORTING=1
|
export MOZ_TELEMETRY_REPORTING=1
|
||||||
export MACH_USE_SYSTEM_PYTHON=1
|
export MACH_USE_SYSTEM_PYTHON=1
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?sle_version} <= 150300
|
||||||
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
|
||||||
@ -392,27 +395,12 @@ export CFLAGS="$CFLAGS -mminimal-toc"
|
|||||||
%endif
|
%endif
|
||||||
export CXXFLAGS="$CFLAGS"
|
export CXXFLAGS="$CFLAGS"
|
||||||
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
||||||
%if %{with only_print_mozconfig}
|
EOF
|
||||||
echo "export CC=$CC"
|
# Done with env-variables.
|
||||||
echo "export CXX=$CXX"
|
source ./.obsenv.sh
|
||||||
echo "export CFLAGS=\"$CFLAGS\""
|
|
||||||
echo "export CXXFLAGS=\"$CXXFLAGS\""
|
# Generating mozconfig
|
||||||
echo "export LDFLAGS=\"$LDFLAGS\""
|
|
||||||
echo "export RUSTFLAGS=\"$RUSTFLAGS\""
|
|
||||||
echo "export CARGO_HOME=\"$CARGO_HOME\""
|
|
||||||
echo "export PATH=\"$PATH\""
|
|
||||||
echo "export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
|
|
||||||
echo "export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\""
|
|
||||||
echo "export MOZCONFIG=\"$MOZCONFIG\""
|
|
||||||
echo "export MOZILLA_OFFICIAL=1"
|
|
||||||
echo "export BUILD_OFFICIAL=1"
|
|
||||||
echo "export MOZ_TELEMETRY_REPORTING=1"
|
|
||||||
echo ""
|
|
||||||
cat << EOF
|
|
||||||
%else
|
|
||||||
%limit_build -m 2560
|
|
||||||
cat << EOF > $MOZCONFIG
|
cat << EOF > $MOZCONFIG
|
||||||
%endif
|
|
||||||
mk_add_options MOZILLA_OFFICIAL=1
|
mk_add_options MOZILLA_OFFICIAL=1
|
||||||
mk_add_options BUILD_OFFICIAL=1
|
mk_add_options BUILD_OFFICIAL=1
|
||||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||||
@ -498,7 +486,15 @@ ac_add_options MOZ_PGO=1
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
EOF
|
EOF
|
||||||
%if !%{with only_print_mozconfig}
|
|
||||||
|
%if %{with only_print_mozconfig}
|
||||||
|
cat ./.obsenv.sh
|
||||||
|
cat $MOZCONFIG
|
||||||
|
%else
|
||||||
|
%ifarch aarch64 %arm ppc64 ppc64le
|
||||||
|
%limit_build -m 2000
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{useccache} != 0
|
%if 0%{useccache} != 0
|
||||||
ccache -s
|
ccache -s
|
||||||
%endif
|
%endif
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:b4c76e8bdf81f473f3e56b2f69dbe5119bba5cab38e36ab0f3f38cf0cdc4a9c2
|
|
||||||
size 486021240
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmKhEeYACgkQ6+QekPbx
|
|
||||||
L22cCQ//Zk8f21tV5R7nx0WjxO4KyvM4ZPj5luYK4SEpwsmWhDcm4yyjr59NESCT
|
|
||||||
79ObF3LapENKK9cYnz3T5Q8UYvAQj/NtnQeNS5NrvhaYPVLpnPP70UHq4XD4JSuC
|
|
||||||
lUCce7ST55mX3F/vFVa3CWwpUiW6I5GWYmEzkgXviO5js+JWSufKINrKN7yG0/U0
|
|
||||||
Mv3AYG2+CU+poT2xZiKDrJalmekY8nIFQ5CgDhn+Vmfn0KLbw3HZ1A6HUJYNrJVa
|
|
||||||
JZ9bxomOUcgLmJsvVhmVI9uBwsWTZDIK4erZpdylGRSk/7m5dBsTvi4vN1B44rbz
|
|
||||||
6ZnbKfX58zbzYjfyk0m6ZAgCd3BAwDYOG7fBCEIaKlUA981vH1GqNqAExDPSkFaa
|
|
||||||
c9cm3bzWmNYAUmmTfNRr5irud+4L86BY60eynVlJwYV+TvIw7RsUMKHRSfILHEsY
|
|
||||||
8ibcWCwEv3dRBTiwSlpcV6mOLz0v5usidpZtOEw/vW8pSBzyZCCSP+kr/DNwid9w
|
|
||||||
5I+TCFcBh6edcZGdmu3lejG6XLf8amMfjJsznt/UVOJn9GcEqrbW4VKGs8BDcy5E
|
|
||||||
VXXbo8MGFRtV6H+mmBTXgkeUWtTewOdr3fz6qLhe0cVp+Tcb5Msu8Gas4S99hl0q
|
|
||||||
M23UX7G7iH2g/HxMy2Xoi+/t4ZzGUrdoGldvKjcIJ4PFvs8wbw4=
|
|
||||||
=Iqkr
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
firefox-102.0.source.tar.xz
Normal file
3
firefox-102.0.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:01797f04bd8d65f4c7f628d7ce832bf52a0874433886e4d0d78ef33c1ca66abf
|
||||||
|
size 482027632
|
16
firefox-102.0.source.tar.xz.asc
Normal file
16
firefox-102.0.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmK0EykACgkQ6+QekPbx
|
||||||
|
L21IKhAAlliNZ1t49JNYbvinEpFprZBGjvpQqPv9Ydl9sTgjQlD9KMzeSWOccFtR
|
||||||
|
1IY65ANkbIq53nETF0bxT3ON+KY/r8J8BZ6VkqNFx6sJE7XoLfTu8VUoTqoG7crs
|
||||||
|
XZXhBFDBdJ0dn1rOqE+K3Jv8e+yIcUSmZrBZSARk0o4wGNx9kWO93xPTCwiB2NnD
|
||||||
|
XPIQOAVHmENhQ7U0X5zHMymnCWHuFcsfjVMoqh5wtUNVt3DLwCFipaDPAAH6EhN5
|
||||||
|
jRwzhH6uusaRzi8fRpQjO++kN+aFTPHFnP0Yg6zlqFN4N0r0PtvO7kP8y1rH8OoF
|
||||||
|
+ZpJyvzO4Bpx/y1/zW5IwdKUeeTPBIYmHQLITyktR06JzLiT/lEENcL0OaFABV9L
|
||||||
|
gOsYAxVFlX9fhwEWt4posW3oQGM8qchR37bHeaI1Ssy2R8BFWcZaZR3QubcnxCUG
|
||||||
|
rfdq4htPjFMHI+s/7A3Xlc7tAcr+VwUCiBmjTOSNCdoZrKor/ahD2Wjiq6AjQfcS
|
||||||
|
2bWQBUFY7j8d0GutvHnxJGH3z33YG0lBkzzCPPIxYIcMUkp3CwMrCmlBjRzcm1p8
|
||||||
|
jXHGuV/yfWt7soEZ8VMKCD9/bjZ7RI9y/HLprzYbNphrhOl1t0aEG3htqX2n7sRP
|
||||||
|
Wtu0zhOS/7qX+ZzpeIqi2ldEQ+VjpE6bkiFmQVCi8EXC5wnhF/M=
|
||||||
|
=6YnI
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -3,7 +3,7 @@
|
|||||||
# Date 1559300151 -7200
|
# Date 1559300151 -7200
|
||||||
# Fri May 31 12:55:51 2019 +0200
|
# Fri May 31 12:55:51 2019 +0200
|
||||||
# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
|
# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
|
||||||
# Parent 23d64c5753fda6f201477fe1f2f6cf1fb1657ccc
|
# Parent c9baf1c9eb9359b7968a52157e8892cdd20f2c6d
|
||||||
How to apply this patch:
|
How to apply this patch:
|
||||||
1. Import and apply it
|
1. Import and apply it
|
||||||
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
|
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
|
||||||
@ -14,7 +14,7 @@ How to apply this patch:
|
|||||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||||
--- a/browser/components/preferences/main.js
|
--- a/browser/components/preferences/main.js
|
||||||
+++ b/browser/components/preferences/main.js
|
+++ b/browser/components/preferences/main.js
|
||||||
@@ -353,16 +353,23 @@ var gMainPane = {
|
@@ -303,16 +303,23 @@ var gMainPane = {
|
||||||
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
|
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
|
|||||||
);
|
);
|
||||||
let performanceSettingsUrl =
|
let performanceSettingsUrl =
|
||||||
Services.urlFormatter.formatURLPref("app.support.baseURL") +
|
Services.urlFormatter.formatURLPref("app.support.baseURL") +
|
||||||
@@ -1365,16 +1372,27 @@ var gMainPane = {
|
@@ -1334,16 +1341,27 @@ var gMainPane = {
|
||||||
this._backoffIndex = 0;
|
this._backoffIndex = 0;
|
||||||
|
|
||||||
let shellSvc = getShellService();
|
let shellSvc = getShellService();
|
||||||
@ -260,11 +260,11 @@ new file mode 100644
|
|||||||
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
|
+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsKDEShellService, Init)
|
||||||
+
|
+
|
||||||
+NS_IMETHODIMP
|
+NS_IMETHODIMP
|
||||||
+nsUnixShellServiceConstructor(nsISupports *aOuter, REFNSIID aIID, void **aResult)
|
+nsUnixShellServiceConstructor(REFNSIID aIID, void **aResult)
|
||||||
+{
|
+{
|
||||||
+ if( nsKDEUtils::kdeSupport())
|
+ if( nsKDEUtils::kdeSupport())
|
||||||
+ return nsKDEShellServiceConstructor( aOuter, aIID, aResult );
|
+ return nsKDEShellServiceConstructor( aIID, aResult );
|
||||||
+ return nsGNOMEShellServiceConstructor( aOuter, aIID, aResult );
|
+ return nsGNOMEShellServiceConstructor( aIID, aResult );
|
||||||
+}
|
+}
|
||||||
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
|
diff --git a/browser/components/shell/nsUnixShellService.h b/browser/components/shell/nsUnixShellService.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:afcc91cfc8920c3343deabf634d83d5d6e1517f8b3f659941959b9dbfdd84da2
|
|
||||||
size 48915416
|
|
3
l10n-102.0.tar.xz
Normal file
3
l10n-102.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1e84c860104cb0a506b39f5886be4db16c272955c6b8c4fb466a8061dc1326a6
|
||||||
|
size 49084872
|
@ -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,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 &&
|
|
@ -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 eeedc49c16aba3b50d1547315a88091a1c765904
|
# Parent edd7284c391b503b76bb5bb6321f24ab2f5f8bdf
|
||||||
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>
|
||||||
@ -165,7 +165,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
|
|||||||
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
|
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
|
||||||
@@ -1252,36 +1252,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()
|
||||||
@ -255,15 +255,15 @@ 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,17 @@
|
||||||
#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 "mozilla/Attributes.h"
|
|
||||||
#include "nsIURI.h"
|
|
||||||
+#include "nsKDEUtils.h"
|
+#include "nsKDEUtils.h"
|
||||||
|
|
||||||
using namespace mozilla;
|
using namespace mozilla;
|
||||||
@ -273,7 +273,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 +34,18 @@ class nsUnixSystemProxySettings final :
|
||||||
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
||||||
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
|
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection>
|
||||||
mSchemeProxySettings;
|
mSchemeProxySettings;
|
||||||
@ -292,7 +292,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 +381,50 @@ nsresult nsUnixSystemProxySettings::GetP
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -786,25 +786,6 @@ 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
|
||||||
@ -1825,7 +1806,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"
|
||||||
|
|
||||||
@@ -2071,20 +2072,29 @@ nsLocalFile::SetPersistentDescriptor(con
|
@@ -2097,20 +2098,29 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsLocalFile::Reveal() {
|
nsLocalFile::Reveal() {
|
||||||
@ -1857,7 +1838,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
|||||||
::CFRelease(url);
|
::CFRelease(url);
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
@@ -2096,16 +2106,23 @@ nsLocalFile::Reveal() {
|
@@ -2122,16 +2132,23 @@ nsLocalFile::Reveal() {
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsLocalFile::Launch() {
|
nsLocalFile::Launch() {
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
# HG changeset patch
|
# HG changeset patch
|
||||||
# Parent 3802b7b2b99885f3ad4d2ec3e2c157e38d04a168
|
# 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
|
||||||
@@ -31,16 +31,18 @@ static const char* sLibs[] = {
|
@@ -34,16 +34,18 @@ static const char* sLibs[] = {
|
||||||
"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.59",
|
||||||
+ "libavcodec.so.58.134",
|
+ "libavcodec.so.58.134",
|
||||||
|
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.
|
@ -1,10 +1,10 @@
|
|||||||
PRODUCT="firefox"
|
PRODUCT="firefox"
|
||||||
CHANNEL="release"
|
CHANNEL="release"
|
||||||
VERSION="101.0.1"
|
VERSION="102.0"
|
||||||
VERSION_SUFFIX=""
|
VERSION_SUFFIX=""
|
||||||
PREV_VERSION="101.0"
|
PREV_VERSION="101.0.1"
|
||||||
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/mozilla-release"
|
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
|
||||||
RELEASE_TAG="c66093146ac832a0748f0f8a31139664abf73a42"
|
RELEASE_TAG="b6b2b8930fdfb037e4a743d0ac722a1f2b1b1447"
|
||||||
RELEASE_TIMESTAMP="20220608170832"
|
RELEASE_TIMESTAMP="20220623063721"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user