mozilla-bmo1504834-part4.patch
    mozilla-bmo849632.patch
  to fix broken tab-titles on big endian machines
- reactivate webRTC for all architectures

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/firefox-esr?expand=0&rev=16
This commit is contained in:
Wolfgang Rosenauer 2019-11-19 09:21:36 +00:00 committed by Git OBS Bridge
parent 3617f1c97f
commit 9c9885ff77
4 changed files with 66 additions and 3 deletions

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Tue Nov 19 09:19:29 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
- added
mozilla-bmo1504834-part4.patch
mozilla-bmo849632.patch
to fix broken tab-titles on big endian machines
- reactivate webRTC for all architectures
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Nov 16 07:47:06 UTC 2019 - Manfred Hollstein <manfred.h@gmx.net> Sat Nov 16 07:47:06 UTC 2019 - Manfred Hollstein <manfred.h@gmx.net>

View File

@ -209,6 +209,7 @@ Patch12: mozilla-reduce-rust-debuginfo.patch
Patch13: mozilla-ppc-altivec_static_inline.patch Patch13: mozilla-ppc-altivec_static_inline.patch
Patch14: mozilla-bmo1005535.patch Patch14: mozilla-bmo1005535.patch
Patch15: mozilla-bmo1568145.patch Patch15: mozilla-bmo1568145.patch
Patch16: mozilla-bmo849632.patch
Patch17: mozilla-bmo1504834-part1.patch Patch17: mozilla-bmo1504834-part1.patch
Patch18: mozilla-bmo1504834-part2.patch Patch18: mozilla-bmo1504834-part2.patch
Patch19: mozilla-bmo1504834-part3.patch Patch19: mozilla-bmo1504834-part3.patch
@ -217,6 +218,7 @@ Patch21: mozilla-bmo1554971.patch
Patch22: mozilla-nestegg-big-endian.patch Patch22: mozilla-nestegg-big-endian.patch
Patch24: mozilla-fix-top-level-asm.patch Patch24: mozilla-fix-top-level-asm.patch
Patch25: mozilla-sle12-lower-python-requirement.patch Patch25: mozilla-sle12-lower-python-requirement.patch
Patch26: mozilla-bmo1504834-part4.patch
# Firefox/browser # Firefox/browser
Patch101: firefox-kde.patch Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch Patch102: firefox-branded-icons.patch
@ -347,6 +349,7 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
%patch13 -p1 %patch13 -p1
%patch14 -p1 %patch14 -p1
%patch15 -p1 %patch15 -p1
%patch16 -p1
%patch17 -p1 %patch17 -p1
%patch18 -p1 %patch18 -p1
%patch19 -p1 %patch19 -p1
@ -355,6 +358,7 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
%patch22 -p1 %patch22 -p1
%patch24 -p1 %patch24 -p1
%patch25 -p1 %patch25 -p1
%patch26 -p1
# Firefox # Firefox
%patch101 -p1 %patch101 -p1
%patch102 -p1 %patch102 -p1
@ -477,9 +481,6 @@ ac_add_options --with-arch=armv6
ac_add_options --with-arch=armv7-a ac_add_options --with-arch=armv7-a
%endif %endif
%endif %endif
%ifarch aarch64 %arm s390x
ac_add_options --disable-webrtc
%endif
# mitigation/workaround for bmo#1512162 # mitigation/workaround for bmo#1512162
%ifarch s390x %ifarch s390x
ac_add_options --enable-optimize="-O1" ac_add_options --enable-optimize="-O1"

View File

@ -0,0 +1,30 @@
# HG changeset patch
# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec
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 -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
@@ -1861,6 +1861,14 @@
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);

23
mozilla-bmo849632.patch Normal file
View File

@ -0,0 +1,23 @@
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
knows how to deal with little endian.
So we swizzle the output of webgl after reading it from readpixels()
Note: This does not fix all webGL sites, but is a step in the right direction
diff -r 6b017d3e9733 gfx/gl/GLContext.h
--- a/gfx/gl/GLContext.h Mon Sep 09 10:04:05 2019 +0200
+++ b/gfx/gl/GLContext.h Wed Nov 13 17:13:04 2019 +0100
@@ -1551,6 +1551,13 @@
BEFORE_GL_CALL;
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
OnSyncCall();
+#if MOZ_BIG_ENDIAN
+ uint8_t* itr = (uint8_t*)pixels;
+ for (GLsizei i = 0; i < width * height; i++) {
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
+ itr += 4;
+ }
+#endif
AFTER_GL_CALL;
mHeavyGLCallsSinceLastFlush = true;
}