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>

View File

@ -1,5 +1,5 @@
#
# spec file
# spec file for MozillaFirefox
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2006-2023 Wolfgang Rosenauer <wr@rosenauer.org>
@ -28,9 +28,9 @@
# orig_suffix b3
# major 69
# mainver %%major.99
%define major 113
%define mainver %major.0.2
%define orig_version 113.0.2
%define major 114
%define mainver %major.0.1
%define orig_version 114.0.1
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
@ -50,13 +50,17 @@
# SLE-12 doesn't have this macro
%{!?_rpmmacrodir: %global _rpmmacrodir %{_rpmconfigdir}/macros.d}
# No i586 on SLE-12, as the rpmlints are broken and can't handle the big rpms resulting from this build.
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
ExclusiveArch: aarch64 ppc64le x86_64 s390x
%else
# Firefox only supports i686
%ifarch %ix86
ExclusiveArch: i586 i686
BuildArch: i686
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic -msse2}
%endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-Werror=return-type//) }
%endif
%{expand:%%global optflags %(echo "%optflags"|sed -e s/-flto=auto//) }
# general build definitions
@ -98,19 +102,8 @@ BuildRequires: gcc11-c++
%else
BuildRequires: gcc-c++
%endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150300
BuildRequires: cargo >= 1.65
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
BuildRequires: rust1.69
BuildRequires: cargo1.69
%if 0%{useccache} != 0
BuildRequires: ccache
%endif
@ -120,12 +113,15 @@ BuildRequires: libiw-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35
BuildRequires: mozilla-nss-devel >= 3.89
BuildRequires: mozilla-nss-devel >= 3.89.1
BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 10.22.1
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
BuildRequires: libXtst-devel
BuildRequires: python-libxml2
BuildRequires: python36
BuildRequires: python39
BuildRequires: python39-curses
BuildRequires: python39-devel
%else
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} <= 150500
BuildRequires: python39
@ -219,14 +215,12 @@ Patch5: mozilla-fix-aarch64-libopus.patch
Patch6: mozilla-s390-context.patch
Patch7: mozilla-pgo.patch
Patch8: mozilla-reduce-rust-debuginfo.patch
Patch9: mozilla-bmo1005535.patch
Patch10: mozilla-bmo1504834-part1.patch
Patch11: mozilla-bmo1504834-part3.patch
Patch12: mozilla-bmo1512162.patch
Patch13: mozilla-fix-top-level-asm.patch
Patch14: mozilla-bmo849632.patch
Patch15: mozilla-bmo998749.patch
Patch16: mozilla-s390x-skia-gradient.patch
Patch17: mozilla-libavcodec58_91.patch
Patch18: mozilla-silence-no-return-type.patch
Patch19: mozilla-bmo531915.patch
@ -345,11 +339,12 @@ DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\""
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
sed -i "s/python3/python36/g" configure.in
sed -i "s/python3/python36/g" mach
export PYTHON3=/usr/bin/python36
#sed -i "s/python3/python3.9/g" configure.in
sed -i "s|/usr/bin/env python3|/usr/bin/env python3.9|" mach
sed -i "s|potential_python_binary = f\"python3.{i}\"|potential_python_binary = f\"python3.9.{i}\"|" mach
export PYTHON3=/usr/bin/python3.9
%endif
#
@ -379,6 +374,7 @@ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
export CFLAGS="%{optflags}"
%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150500
export CC=gcc-11
export CXX=g++-11
%else
%if 0%{?clang_build} == 0
export CC=gcc
@ -726,6 +722,10 @@ exit 0
%{progdir}/application.ini
%{progdir}/dependentlibs.list
%{progdir}/*.so
%{progdir}/glxtest
%if 0%{wayland_supported}
%{progdir}/vaapitest
%endif
%{progdir}/omni.ja
%{progdir}/fonts/
%{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
# Parent 37d8d8fc1d9e42887a736102ff9cdab24d7a9aa8
# Parent 9fcbd287056a40084b1e679f787bf683b291f323
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
@@ -147,18 +147,17 @@ static IntRect CalculateSurfaceBounds(co
Rect sampledBounds = inverse.TransformBounds(*aBounds);
if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds;
}
return surfaceBounds.Intersect(bounds);
@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
}
-static const int kARGBAlphaOffset =
static const int kARGBAlphaOffset =
- 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,
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
--- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h
@@ -87,25 +87,18 @@ enum class SurfaceFormat : int8_t {
Depth,
@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
// This represents the unknown format.
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
// value.
-// The following values are endian-independent synonyms. The _UINT32 suffix
-// indicates that the name reflects the layout when viewed as a uint32_t
-// value.
-#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
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
-#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.
//
// TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
// can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
OS_RGBA = A8R8G8B8_UINT32,
OS_RGBX = X8R8G8B8_UINT32
};
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>
diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
--- a/gfx/skia/skia/modules/skcms/skcms.cc
+++ b/gfx/skia/skia/modules/skcms/skcms.cc
@@ -30,6 +30,8 @@
#include <avx512fintrin.h>
#include <avx512dqintrin.h>
#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
#endif
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
// We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit.
//
// 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 bool runtime_cpu_detection = true;
@@ -324,20 +326,28 @@ enum {
static uint16_t read_big_u16(const uint8_t* ptr) {
uint16_t be;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
- return _byteswap_ushort(be);
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ return be;
+#else
#else
- return __builtin_bswap16(be);
+ #if defined(_MSC_VER)
return _byteswap_ushort(be);
-#else
+ return _byteswap_ushort(be);
+ #else
return __builtin_bswap16(be);
+ return __builtin_bswap16(be);
+ #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;
memcpy(&be, ptr, sizeof(be));
-#if defined(_MSC_VER)
- return _byteswap_ulong(be);
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
+ return be;
+#else
#else
- return __builtin_bswap32(be);
+ #if defined(_MSC_VER)
return _byteswap_ulong(be);
-#else
+ return _byteswap_ulong(be);
+ #else
return __builtin_bswap32(be);
+ return __builtin_bswap32(be);
+ #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
# 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
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
--- a/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 {
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)
@@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
// ~~~>
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
// c = 0*aa + d(1-1*aa) = d(1-aa)
+
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
+#ifdef SK_CPU_BENDIAN
+ 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
+ // TODO: Check this for endian-issues!
+ // Do we need to switch 255 to the front for all of those tuples?
return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
+ d.approxMulDiv255(aa.inv());
};
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
# Fri May 31 11:28:11 2019 +0200
# Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
# Parent 4f8492f0f4bfa17f5b4523a1cdda15a45e3d74d3
# Parent 7618e13ce3f8b52d13ec5d54acc3a986793ec8ef
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -162,10 +162,10 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
+
with Files("**"):
BUG_COMPONENT = ("Toolkit", "Downloads API")
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
@@ -1250,36 +1250,66 @@ nsUnknownContentTypeDialog.prototype = {
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs b/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs
--- a/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs
+++ b/toolkit/mozapps/downloads/HelperAppDlg.sys.mjs
@@ -1235,36 +1235,66 @@ nsUnknownContentTypeDialog.prototype = {
params.handlerApp &&
params.handlerApp.executable &&
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
--- a/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 += [
"/layout/base",

View File

@ -3,39 +3,24 @@
# Date 1558452408 -7200
# Tue May 21 17:26:48 2019 +0200
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
# Parent 6d6ebdace8a9877fe17c1bd14b80307c258c864f
# Parent 783ceb006fcdabe5ad23bd561362e721c7ed5f8c
[mq]: mozilla-s390-context.patch
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
@@ -163,16 +163,20 @@ 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])
@@ -174,6 +174,10 @@ using mozilla::DebugOnly;
# define FP_sig(p) ((p)->uc_mcontext.gregs[REG_FPRS])
# define SP_sig(p) ((p)->uc_mcontext.gregs[REG_SP])
# endif
+# if defined(__linux__) && defined(__s390x__)
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
+# endif
+# if defined(__linux__) && defined(__s390x__)
+# define GR_sig(p, x) ((p)->uc_mcontext.gregs[x])
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
+# endif
# elif defined(__NetBSD__)
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
# define ESP_sig(p) ((p)->uc_mcontext.__gregs[_REG_ESP])
# 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)
@@ -416,6 +420,10 @@ struct macos_aarch64_context {
# define FP_sig(p) RFP_sig(p)
# define SP_sig(p) R03_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 SP_sig(p) GR_sig(p, 15)
+# define FP_sig(p) GR_sig(p, 11)
# endif
static void SetContextPC(CONTEXT* context, uint8_t* pc) {
# ifdef PC_sig
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
# else
MOZ_CRASH();
# endif
# elif defined(__riscv)
# define PC_sig(p) RPC_sig(p)
# define FP_sig(p) RFP_sig(p)

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"
CHANNEL="release"
VERSION="113.0.2"
VERSION="114.0.1"
VERSION_SUFFIX=""
PREV_VERSION="113.0.1"
PREV_VERSION="114.0"
PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
RELEASE_TAG="f33c60c4ff99d5beed15c73b80250287090e2861"
RELEASE_TIMESTAMP="20230522134052"
RELEASE_TAG="e2a028ce20ea23ed89b4a371aa980c4adacd69d1"
RELEASE_TIMESTAMP="20230608214645"