1
0

Accepting request 1092022 from mozilla:Factory

OBS-URL: https://build.opensuse.org/request/show/1092022
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=400
This commit is contained in:
Dominique Leuenberger 2023-06-12 13:25:06 +00:00 committed by Git OBS Bridge
commit bbf30e466b
16 changed files with 385 additions and 2520 deletions

View File

@ -1,3 +1,86 @@
-------------------------------------------------------------------
Sat Jun 10 14:48:07 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de>
- Mozilla Firefox 114.0.1
* Fix a startup crash (bmo#1837201, boo#1212101)
-------------------------------------------------------------------
Fri Jun 9 11:05:47 UTC 2023 - Martin Sirringhaus <martin.sirringhaus@suse.com>
- Only install vaapitest for wayland-enabled builds, where it gets built
- Rebase mozilla-silence-no-return-type.patch
- Rebase s390x-patches, and remove obsolete patches:
mozilla-bmo1005535.patch mozilla-s390x-skia-gradient.patch
-------------------------------------------------------------------
Mon Jun 5 21:22:19 UTC 2023 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Firefox 114.0
MFSA 2023-20 (bsc#1211922)
* CVE-2023-34414 (bmo#1695986)
Click-jacking certificate exceptions through rendering lag
* CVE-2023-34415 (bmo#1811999)
Site-isolation bypass on sites that allow open redirects to
data: urls
* CVE-2023-34416 (bmo#1752703, bmo#1818394, bmo#1826875,
bmo#1827340, bmo#1827655, bmo#1828065, bmo#1830190,
bmo#1830206, bmo#1830795, bmo#1833339)
Memory safety bugs fixed in Firefox 114 and Firefox ESR
102.12
* CVE-2023-34417 (bmo#1746447, bmo#1820903, bmo#1832832)
Memory safety bugs fixed in Firefox 114
* New: Added UI to manage the DNS over HTTPS exception list.
(bmo#1596847)
* New: Bookmarks can now be searched from the Bookmarks menu.
The Bookmarks menu is accessible by adding the *Bookmarks
menu* button to the toolbar. (bmo#1736937)
* New: Restrict searches to your local browsing history by
selecting *Search history* from the History, Library or
Application menu buttons. (bmo#1736939)
* New: Mac users can now capture video from their cameras in
all supported native resolutions. This enables resolutions
higher than 1280x720. (bmo#1806604)
* New: It is now possible to reorder the extensions listed in
the extensions panel. (bmo#1805924)
* New: Users on macOS, Linux, and Windows 7 can now use FIDO2 /
WebAuthn authenticators over USB. Some advanced features,
such as fully passwordless logins, require a PIN to be set on
the authenticator. (bmo#1814487)
* New: Pocket Recommended content can now be seen in France,
Italy, and Spain. (bmo#None)
* Changed: DNS over HTTPS settings are now part of the
*Privacy & Security* section of the *Settings* page and allow
the user to choose from all the supported modes.
(bmo#1610741)
* HTML5: DOM: Added support for ES Modules on DedicatedWorker
and SharedWorker
* HTML5: WebTransport is now enabled by default and will be
going to release with 114. As the original Explainer notes,
it enables multiple use-cases that are hard or impossible to
handle without it, especially for Gaming and live streaming.
It covers cases that are problematic for alternative
mechanisms, such as WebSockets.
Built on top of HTTP3 (HTTP2 support will be coming later).
The current implementation in Firefox is passing 505 out of
565 Web-Platform Tests.
* HTML5: CSS: The `infinity` and `NaN` constants are now
supported inside the `calc()` function. (bmo#1830759)
* Developer: The *Copy as cURL* feature, available in the
Network panel, has been enhanced. It now supports the
-`-compressed` argument. (bmo#1776120)
* Developer: The Accessibility Inspector has been improved to
accurately recognize all the ARIA roles like `banner`,
`main`, `navigation`, and `contentinfo`, etc. This
enhancement is particularly beneficial for web developers
working with ARIA roles to improve web accessibility.
(bmo#1572512)
* Developer: Firefox now provides support for the CSS Cascading
Level 4 `supports()` syntax for `@import` rules. This allows
for the importation of other stylesheets based on support-
dependency. In addition, the Inspector panel now accurately
displays the conditions at the top of the imported rule.
- requires NSS 3.89.1
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 24 19:26:35 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de> Wed May 24 19:26:35 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de>

View File

@ -1,5 +1,5 @@
# #
# spec file # spec file for MozillaFirefox
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2023 SUSE LLC
# Copyright (c) 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org> # Copyright (c) 2006-2023 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 113 %define major 114
%define mainver %major.0.2 %define mainver %major.0.1
%define orig_version 113.0.2 %define orig_version 114.0.1
%define orig_suffix %{nil} %define orig_suffix %{nil}
%define update_channel release %define update_channel release
%define branding 1 %define branding 1
@ -50,13 +50,17 @@
# SLE-12 doesn't have this macro # SLE-12 doesn't have this macro
%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d} %{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d}
# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms resulting from this build.
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
ExclusiveArch: aarch64 ppc64le x86_64 s390x
%else
# Firefox only supports i686 # Firefox only supports i686
%ifarch %ix86 %ifarch %ix86
ExclusiveArch: i586 i686 ExclusiveArch: i586 i686
BuildArch: i686 BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2} %{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif %endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-Werror=return-type//) } %endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) } %{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
# general build definitions # general build definitions
@ -98,19 +102,8 @@ BuildRequires: gcc11-c++
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300 BuildRequires: rust1.69
BuildRequires: cargo >= 1.65 BuildRequires: cargo1.69
BuildRequires: rust >= 1.65
%else
# Newer sle/leap/tw use parallel versioned rust releases which have
# a different method for provides that we can use to request a
# specific version
# minimal requirement:
BuildRequires: rust+cargo >= 1.65
# actually used upstream:
BuildRequires: cargo1.67
BuildRequires: rust1.67
%endif
%if 0%{useccache} != 0 %if 0%{useccache} != 0
BuildRequires: ccache BuildRequires: ccache
%endif %endif
@ -120,12 +113,15 @@ BuildRequires: libiw-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35 BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.89 BuildRequires: mozilla-nss-devel >= 3.89.1
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
BuildRequires: libXtst-devel
BuildRequires: python-libxml2 BuildRequires: python-libxml2
BuildRequires: python36 BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else %else
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150500 %if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150500
BuildRequires: python39 BuildRequires: python39
@ -219,14 +215,12 @@ Patch5: mozilla-fix-aarch64-libopus.patch
Patch6: mozilla-s390-context.patch Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch Patch8: mozilla-reduce-rust-debuginfo.patch
Patch9: mozilla-bmo1005535.patch
Patch10: mozilla-bmo1504834-part1.patch Patch10: mozilla-bmo1504834-part1.patch
Patch11: mozilla-bmo1504834-part3.patch Patch11: mozilla-bmo1504834-part3.patch
Patch12: mozilla-bmo1512162.patch Patch12: mozilla-bmo1512162.patch
Patch13: mozilla-fix-top-level-asm.patch Patch13: mozilla-fix-top-level-asm.patch
Patch14: mozilla-bmo849632.patch Patch14: mozilla-bmo849632.patch
Patch15: mozilla-bmo998749.patch Patch15: mozilla-bmo998749.patch
Patch16: mozilla-s390x-skia-gradient.patch
Patch17: mozilla-libavcodec58_91.patch Patch17: mozilla-libavcodec58_91.patch
Patch18: mozilla-silence-no-return-type.patch Patch18: mozilla-silence-no-return-type.patch
Patch19: mozilla-bmo531915.patch Patch19: mozilla-bmo531915.patch
@ -345,11 +339,12 @@ DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\"" TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} + find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
# SLE-12 provides python36, but that package does not provide a python3 binary # SLE-12 provides python39, but that package does not provide a python3 binary
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 %if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
sed -i "s/python3/python36/g" configure.in #sed -i "s/python3/python3.9/g" configure.in
sed -i "s/python3/python36/g" mach sed -i "s|/usr/bin/env python3|/usr/bin/env python3.9|" mach
export PYTHON3=/usr/bin/python36 sed -i "s|potential_python_binary = f\"python3.{i}\"|potential_python_binary = f\"python3.9.{i}\"|" mach
export PYTHON3=/usr/bin/python3.9
%endif %endif
# #
@ -379,6 +374,7 @@ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500 %if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
export CC=gcc-11 export CC=gcc-11
export CXX=g++-11
%else %else
%if 0%{?clang_build} == 0 %if 0%{?clang_build} == 0
export CC=gcc export CC=gcc
@ -726,6 +722,10 @@ exit 0
%{progdir}/application.ini %{progdir}/application.ini
%{progdir}/dependentlibs.list %{progdir}/dependentlibs.list
%{progdir}/*.so %{progdir}/*.so
%{progdir}/glxtest
%if 0%{wayland_supported}
%{progdir}/vaapitest
%endif
%{progdir}/omni.ja %{progdir}/omni.ja
%{progdir}/fonts/ %{progdir}/fonts/
%{progdir}/pingsender %{progdir}/pingsender

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmRrn0kACgkQ4207E/PZ
MnSy6w//VntLKRWJDkYOGajQ8TPa01YQ8h6IZQjBSqCxdOZFQbHaDr3GJPy3jGsk
wPGt4U1dJ4LrQDlpLvYw/cUyn6TH+v49oHTIriEtZ862ON9+FtYMkSEyXK/giJpu
x+K+L2riciRLf8F9pL+MTbfgG8XtTt45v0G8kXrle8/OQMeA+Z9Iou68olqoQmdl
Bhyc39BIb8fYvV8XZeyp+CA2dxW+9wKi3Rnt2rM7ZCsdudDAHztcMCtvQuZE0OK9
/ZJ3gnW1t3uKBsMiaYGeDmtFkYoA2FTiqYd+2b8USS+37zOdG04dMJQ2vkJ090T2
4n8YxFYwKDLyEM7+FmmREmF2pft23SQA6j8CJk9I4eXy8rCqgrfMBVLlhM+qgTpC
DrEE8nUGS44YtmULkO2RC9GPmZJFGfb6kG91AL6Je97u/xcW8BslD+t4+WDyV1dK
kJ2OzyJ0+ptlA2or4p1+hk5th5HP7NTmUSFk9vg3YyMFfwOV4pttKHpnpq6QTZz5
W8qio0nTZzvsOEQkh3nD40xO7vLT+4C6GzLby/n3PodKbQ98ub7GHbTiM8v7TDUX
lFRKHXMHHcCHraTsNSIDhV10miJo9mZgVy5eaweQu0pcFPNFjHzmc0pMiDd2rn12
sAPB/PMvCcKt7wtgHo6f9qhOFA5rVlONRg9iXnK1eWvGYoVLeZw=
=tgR0
-----END PGP SIGNATURE-----

View File

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

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEErdcHlHlwDcrf3VM34207E/PZMnQFAmSCWQAACgkQ4207E/PZ
MnSZSg//YD3O0zlak9vMtFbq0z8sp1TH+T0tux3xxm8WIDavzNZU4Ij9+7Kzvbgk
QIuRXxFikTOXc+bk5CJ6jx6xVx9xITSWPEAp+21lRFjTD/5+PfVYu/LesN1Vzks/
EFToSV4Zq5nhLymI7gEsWm/Zz4t/WRqdsZL2v5YdzE6Dyoi+Ez9wKW9+fFKE+81Q
Aq7C1u+ebIEZgIQu9vfTwkqFtSoF/WbS3GYsWvlJynKHjWPYXOFexYZXipt0clD1
7YIHkNmEFlAYMjXp/W2V+7E1PnC3EX3NbWABFwRU75OKQrGbWme3j2FtiroyhzL1
hB5xxZP4EvL74NGqD25QbKhGa2+mQ8kYVrjLFT6iwj4H4hcVsOlbAkwmZOdKWUla
V/MopzaWMiEVg+fIkDC9bkqrCSPjav2cSSp7cWRVmfKnQH3ZB6qHXMF9txRknmuk
/IOyUmaLRdF04Vw84c1zniAIQejeHvaiizwe3rylljYYeebCI5N4snvxn9FUNTl8
VFWKpiPf759wKZKaeOuiwzmzHTHUaiZ5H+JegabX2WxUVFjZbq448A77CGJQcM11
QPr5EXrB2bwFuIbLoSfkwOf3kzJ0yGdGfLuwaZ+F1XPDpfhFA3nzYdzRG+fniG82
M6Oibc5kBFpB1XDdnunw8Q+wGcJ4eocno7/6FZEAJaXseOZa5q8=
=AovX
-----END PGP SIGNATURE-----

View File

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

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

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

View File

@ -1,30 +0,0 @@
# HG changeset patch
# User Steve Singer <steve@ssinger.info>
# Date 1558451540 -7200
# Tue May 21 17:12:20 2019 +0200
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
# Parent c0fdccc716e80a6d289c94f5d507ae141c62a3bf
Bug 1005535 - Get skia GPU building on big endian.
diff --git a/gfx/skia/skia/src/gpu/GrColor.h b/gfx/skia/skia/src/gpu/GrColor.h
--- a/gfx/skia/skia/src/gpu/GrColor.h
+++ b/gfx/skia/skia/src/gpu/GrColor.h
@@ -59,17 +59,17 @@ static inline GrColor GrColorPackRGBA(un
#define GrColorUnpackG(color) (((color) >> GrColor_SHIFT_G) & 0xFF)
#define GrColorUnpackB(color) (((color) >> GrColor_SHIFT_B) & 0xFF)
#define GrColorUnpackA(color) (((color) >> GrColor_SHIFT_A) & 0xFF)
/**
* Since premultiplied means that alpha >= color, we construct a color with
* each component==255 and alpha == 0 to be "illegal"
*/
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
static inline float GrNormalizeByteToFloat(uint8_t value) {
static const float ONE_OVER_255 = 1.f / 255.f;
return value * ONE_OVER_255;
}
/** Used to pick vertex attribute types. */

View File

@ -1,43 +1,34 @@
# HG changeset patch # HG changeset patch
# Parent 37d8d8fc1d9e42887a736102ff9cdab24d7a9aa8 # Parent 9fcbd287056a40084b1e679f787bf683b291f323
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp --- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp +++ b/gfx/2d/DrawTargetSkia.cpp
@@ -147,18 +147,17 @@ static IntRect CalculateSurfaceBounds(co @@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
Rect sampledBounds = inverse.TransformBounds(*aBounds);
if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds;
}
return surfaceBounds.Intersect(bounds);
} }
-static const int kARGBAlphaOffset = static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; - SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; + 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 ==
+ // SurfaceFormat::B8G8R8A8 ? 3 : 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) { const int32_t aStride, SurfaceFormat aFormat) {
if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
return true;
}
// We should've initialized the data to be opaque already
// On debug builds, verify that this is actually true.
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h --- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h +++ b/gfx/2d/Types.h
@@ -87,25 +87,18 @@ enum class SurfaceFormat : int8_t { @@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
Depth,
// This represents the unknown format. // This represents the unknown format.
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>. UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
// The following values are endian-independent synonyms. The _UINT32 suffix -// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t -// indicates that the name reflects the layout when viewed as a uint32_t
// value. -// value.
-#if MOZ_LITTLE_ENDIAN() -#if MOZ_LITTLE_ENDIAN()
+ // The following values are endian-independent synonyms. The _UINT32 suffix
+ // indicates that the name reflects the layout when viewed as a uint32_t
+ // value.
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN() -#elif MOZ_BIG_ENDIAN()
@ -49,20 +40,10 @@ diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
// The following values are OS and endian-independent synonyms. // The following values are OS and endian-independent synonyms.
// //
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms. --- a/gfx/skia/skia/modules/skcms/skcms.cc
OS_RGBA = A8R8G8B8_UINT32, +++ b/gfx/skia/skia/modules/skcms/skcms.cc
OS_RGBX = X8R8G8B8_UINT32 @@ -30,6 +30,8 @@
};
diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_party/skcms/skcms.cc
--- a/gfx/skia/skia/third_party/skcms/skcms.cc
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
@@ -25,16 +25,18 @@
// it'd be a lot slower. But we want all those headers included so we
// can use their features after runtime checks later.
#include <smmintrin.h>
#include <avxintrin.h>
#include <avx2intrin.h>
#include <avx512fintrin.h> #include <avx512fintrin.h>
#include <avx512dqintrin.h> #include <avx512dqintrin.h>
#endif #endif
@ -70,30 +51,21 @@ diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_part
+ #define SKCMS_PORTABLE + #define SKCMS_PORTABLE
#endif #endif
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others. static bool runtime_cpu_detection = true;
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit. @@ -324,20 +326,28 @@ enum {
//
// Please do not use sizeof() directly, and size_t only when required.
// (We have no way of enforcing these requests...)
#define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
@@ -275,30 +277,38 @@ enum {
skcms_Signature_sf32 = 0x73663332,
// XYZ is also a PCS signature, so it's defined in skcms.h
// skcms_Signature_XYZ = 0x58595A20,
};
static uint16_t read_big_u16(const uint8_t* ptr) { static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be; uint16_t be;
memcpy(&be, ptr, sizeof(be)); memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER) -#if defined(_MSC_VER)
- return _byteswap_ushort(be);
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return be; + return be;
+#else #else
- return __builtin_bswap16(be);
+ #if defined(_MSC_VER) + #if defined(_MSC_VER)
return _byteswap_ushort(be); + return _byteswap_ushort(be);
-#else
+ #else + #else
return __builtin_bswap16(be); + return __builtin_bswap16(be);
+ #endif + #endif
#endif #endif
} }
@ -102,20 +74,16 @@ diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_part
uint32_t be; uint32_t be;
memcpy(&be, ptr, sizeof(be)); memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER) -#if defined(_MSC_VER)
- return _byteswap_ulong(be);
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__ +#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+ return be; + return be;
+#else #else
- return __builtin_bswap32(be);
+ #if defined(_MSC_VER) + #if defined(_MSC_VER)
return _byteswap_ulong(be); + return _byteswap_ulong(be);
-#else
+ #else + #else
return __builtin_bswap32(be); + return __builtin_bswap32(be);
+ #endif + #endif
#endif #endif
} }
static int32_t read_big_i32(const uint8_t* ptr) {
return (int32_t)read_big_u32(ptr);
}
static float read_big_fixed(const uint8_t* ptr) {

View File

@ -1,64 +1,17 @@
# HG changeset patch # HG changeset patch
# Parent d1d66f7e4d0e7fd45e91e4fcee07555e72046d48 # Parent 09cd4ac2cc607e85aa572425b824fbab386af607
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white). right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
diff --git a/gfx/skia/skia/include/private/SkNx.h b/gfx/skia/skia/include/private/SkNx.h
--- a/gfx/skia/skia/include/private/SkNx.h
+++ b/gfx/skia/skia/include/private/SkNx.h
@@ -233,17 +233,28 @@ struct SkNx<1,T> {
AI SkNx operator<<(int bits) const { return fVal << bits; }
AI SkNx operator>>(int bits) const { return fVal >> bits; }
AI SkNx operator+(const SkNx& y) const { return fVal + y.fVal; }
AI SkNx operator-(const SkNx& y) const { return fVal - y.fVal; }
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
+ // On Big endian the commented out variant doesn't work,
+ // and honestly, I have no idea why it exists in the first place.
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
+ // cutting off the wrong half again.
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
+#ifdef SK_CPU_BENDIAN
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
+#else
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
+#endif
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
AI SkNx operator==(const SkNx& y) const { return FromBits(fVal == y.fVal ? ~0 : 0); }
AI SkNx operator!=(const SkNx& y) const { return FromBits(fVal != y.fVal ? ~0 : 0); }
AI SkNx operator<=(const SkNx& y) const { return FromBits(fVal <= y.fVal ? ~0 : 0); }
AI SkNx operator>=(const SkNx& y) const { return FromBits(fVal >= y.fVal ? ~0 : 0); }
AI SkNx operator< (const SkNx& y) const { return FromBits(fVal < y.fVal ? ~0 : 0); }
diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h --- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h +++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
@@ -198,17 +198,23 @@ namespace SK_OPTS_NS { @@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
const SkAlpha* mask, size_t maskRB,
int w, int h) {
auto fn = [](const Sk4px& d, const Sk4px& aa) {
// = (s + d(1-sa))aa + d(1-aa)
// = s*aa + d(1-sa*aa)
// ~~~> // ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa) // a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa) // c = 0*aa + d(1-1*aa) = d(1-aa)
+ + // TODO: Check this for endian-issues!
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0 + // Do we need to switch 255 to the front for all of those tuples?
+#ifdef SK_CPU_BENDIAN return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
+#else
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
+#endif
+ d.approxMulDiv255(aa.inv()); + d.approxMulDiv255(aa.inv());
}; };
while (h --> 0) {
Sk4px::MapDstAlpha(w, dst, mask, fn);
dst += dstRB / sizeof(*dst);
mask += maskRB / sizeof(*mask);
}
}

View File

@ -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 4f8492f0f4bfa17f5b4523a1cdda15a45e3d74d3 # Parent 7618e13ce3f8b52d13ec5d54acc3a986793ec8ef
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>
@ -162,10 +162,10 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
+ +
with Files("**"): with Files("**"):
BUG_COMPONENT = ("Toolkit", "Downloads API") BUG_COMPONENT = ("Toolkit", "Downloads API")
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm diff --git a/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs b/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm --- a/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm +++ b/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs
@@ -1250,36 +1250,66 @@ nsUnknownContentTypeDialog.prototype = { @@ -1235,36 +1235,66 @@ nsUnknownContentTypeDialog.prototype = {
params.handlerApp && params.handlerApp &&
params.handlerApp.executable && params.handlerApp.executable &&
params.handlerApp.executable.isFile() params.handlerApp.executable.isFile()
@ -1247,7 +1247,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build 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
@@ -142,16 +142,17 @@ FINAL_LIBRARY = "xul" @@ -144,16 +144,17 @@ FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [ LOCAL_INCLUDES += [
"/layout/base", "/layout/base",

View File

@ -3,39 +3,24 @@
# 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 6d6ebdace8a9877fe17c1bd14b80307c258c864f # Parent 783ceb006fcdabe5ad23bd561362e721c7ed5f8c
[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
@@ -163,16 +163,20 @@ using mozilla::DebugOnly; @@ -174,6 +174,10 @@ using mozilla::DebugOnly;
# define R03_sig(p) ((p)->uc_mcontext.__gregs[3])
# define RFP_sig(p) ((p)->uc_mcontext.__gregs[22])
# endif
# if defined(__sun__) && defined(__sparc__)
# define PC_sig(p) ((p)->uc_mcontext.gregs[REG_PC])
# define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS]) # define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
# define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP]) # define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
# 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]) @@ -416,6 +420,10 @@ struct macos_aarch64_context {
# define RIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RIP])
# define RSP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RSP])
# define RBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_RBP])
# define R11_sig(p) ((p)->uc_mcontext.__gregs[_REG_R11])
@@ -405,16 +409,20 @@ struct macos_aarch64_context {
# define PC_sig(p) R32_sig(p)
# define SP_sig(p) R01_sig(p)
# define FP_sig(p) R01_sig(p)
# elif defined(__loongarch__)
# define PC_sig(p) EPC_sig(p)
# define FP_sig(p) RFP_sig(p) # define FP_sig(p) RFP_sig(p)
# define SP_sig(p) R03_sig(p) # define SP_sig(p) R03_sig(p)
# define LR_sig(p) RRA_sig(p) # define LR_sig(p) RRA_sig(p)
@ -43,11 +28,6 @@ diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers
+# 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 # elif defined(__riscv)
# define PC_sig(p) RPC_sig(p)
static void SetContextPC(CONTEXT* context, uint8_t* pc) { # define FP_sig(p) RFP_sig(p)
# ifdef PC_sig
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
# else
MOZ_CRASH();
# endif

View File

@ -1,51 +0,0 @@
# HG changeset patch
# Parent acf59ea86dd1d878b43920832093f082dcfc61c0
diff -r acf59ea86dd1 gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp
--- a/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Mon Mar 09 08:26:10 2020 +0100
+++ b/gfx/skia/skia/src/shaders/gradients/Sk4fLinearGradient.cpp Fri Mar 27 13:30:28 2020 +0100
@@ -7,7 +7,7 @@
#include "include/core/SkPaint.h"
#include "src/shaders/gradients/Sk4fLinearGradient.h"
-
+#include "src/core/SkEndian.h"
#include <cmath>
#include <utility>
@@ -28,6 +28,9 @@
while (n >= 4) {
DstTraits<premul>::store4x(c0, c1, c2, c3, dst, bias0, bias1);
+#ifdef SK_CPU_BENDIAN
+ SkEndianSwap32s(dst, 4);
+#endif
dst += 4;
c0 = c0 + dc4;
@@ -37,12 +40,23 @@
n -= 4;
}
if (n & 2) {
- DstTraits<premul>::store(c0, dst++, bias0);
- DstTraits<premul>::store(c1, dst++, bias1);
+ DstTraits<premul>::store(c0, dst, bias0);
+#ifdef SK_CPU_BENDIAN
+ *dst = SkEndianSwap32(*dst);
+#endif
+ ++dst;
+ DstTraits<premul>::store(c1, dst, bias1);
+#ifdef SK_CPU_BENDIAN
+ *dst = SkEndianSwap32(*dst);
+#endif
+ ++dst;
c0 = c0 + dc2;
}
if (n & 1) {
DstTraits<premul>::store(c0, dst, bias0);
+#ifdef SK_CPU_BENDIAN
+ *dst = SkEndianSwap32(*dst);
+#endif
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
PRODUCT="firefox" PRODUCT="firefox"
CHANNEL="release" CHANNEL="release"
VERSION="113.0.2" VERSION="114.0.1"
VERSION_SUFFIX="" VERSION_SUFFIX=""
PREV_VERSION="113.0.1" PREV_VERSION="114.0"
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="f33c60c4ff99d5beed15c73b80250287090e2861" RELEASE_TAG="e2a028ce20ea23ed89b4a371aa980c4adacd69d1"
RELEASE_TIMESTAMP="20230522134052" RELEASE_TIMESTAMP="20230608214645"