Firefox 71.0b11
authorWolfgang Rosenauer <wr@rosenauer.org>
Mon, 25 Nov 2019 08:26:42 +0100
changeset 1114 572ec48f3fe8
parent 1113 8e9195853a32
child 1115 ed3548a16248
Firefox 71.0b11
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
MozillaFirefox/mozilla-bmo1504834-part4.patch
MozillaFirefox/mozilla-bmo1511604.patch
MozillaFirefox/mozilla-bmo849632.patch
MozillaFirefox/mozilla-openaes-decl.patch
MozillaFirefox/source-stamp.txt
MozillaFirefox/tar_stamps
firefox-branded-icons.patch
mozilla-bmo1504834-part4.patch
mozilla-bmo1511604.patch
mozilla-bmo849632.patch
mozilla-openaes-decl.patch
series
--- a/MozillaFirefox/MozillaFirefox.changes	Tue Nov 19 22:54:22 2019 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes	Mon Nov 25 08:26:42 2019 +0100
@@ -1,4 +1,29 @@
 -------------------------------------------------------------------
+Tue Nov 19 09:30:19 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 71.0b11
+- requires
+  NSPR >= 4.23
+  NSS >= 3.47.1
+  rust/cargo >= 1.37
+- reactivate webrtc for platforms where it was disabled
+- updated create-tar.sh to cover buildid and origin repo information
+  -> removed obsolete source-stamp.txt
+- removed obsolete patches
+  mozilla-bmo1511604.patch
+  mozilla-openaes-decl.patch
+
+-------------------------------------------------------------------
+Fri Nov  1 14:16:39 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 70.0.1
+  * Fix for an issue that caused some websites or page elements using
+    dynamic JavaScript to fail to load. (bmo#1592136)
+  * Title bar no longer shows in full screen view (bmo#1588747)
+- added mozilla-bmo1504834-part4.patch to fix some visual issues on
+  big endian platforms
+
+-------------------------------------------------------------------
 Sun Oct 20 20:19:31 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
 
 - Mozilla Firefox 70.0
--- a/MozillaFirefox/MozillaFirefox.spec	Tue Nov 19 22:54:22 2019 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec	Mon Nov 25 08:26:42 2019 +0100
@@ -19,13 +19,12 @@
 
 # changed with every update
 %define major          70
-%define mainver        %major.0
-%define orig_version   70.0
-%define orig_suffix    %{nil}
+%define mainver        %major.99
+%define orig_version   71.0
+%define orig_suffix    b11
 %define update_channel beta
 %define branding       1
 %define devpkg         1
-%define releasedate    20191016161957
 
 # always build with GCC as SUSE Security Team requires that
 %define clang_build 0
@@ -73,7 +72,7 @@
 %else
 BuildRequires:  gcc-c++
 %endif
-BuildRequires:  cargo >= 1.36
+BuildRequires:  cargo >= 1.37
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libidl-devel
@@ -81,14 +80,14 @@
 BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
-BuildRequires:  mozilla-nspr-devel >= 4.22
-BuildRequires:  mozilla-nss-devel >= 3.46.1
+BuildRequires:  mozilla-nspr-devel >= 4.23
+BuildRequires:  mozilla-nss-devel >= 3.47.1
 BuildRequires:  nasm >= 2.13
 BuildRequires:  nodejs8 >= 8.11
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
 BuildRequires:  python3 >= 3.5
-BuildRequires:  rust >= 1.36
+BuildRequires:  rust >= 1.37
 BuildRequires:  rust-cbindgen >= 0.9.1
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
@@ -145,7 +144,6 @@
 Source2:        MozillaFirefox-rpmlintrc
 Source3:        mozilla.sh.in
 Source4:        tar_stamps
-Source5:        source-stamp.txt
 Source7:        l10n-%{orig_version}%{orig_suffix}.tar.xz
 Source8:        firefox-mimeinfo.xml
 Source9:        firefox.js
@@ -153,7 +151,7 @@
 Source11:       firefox.1
 Source12:       mozilla-get-app-id
 Source13:       spellcheck.js
-Source14:       https://github.com/openSUSE/firefox-scripts/raw/master/create-tar.sh
+Source14:       https://github.com/openSUSE/firefox-scripts/raw/04d38e104a6ecdea33442755282688e8090ffa66/create-tar.sh
 Source15:       firefox-appdata.xml
 Source16:       %{name}.changes
 # Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
@@ -167,25 +165,25 @@
 Patch1:         mozilla-nongnome-proxies.patch
 Patch2:         mozilla-kde.patch
 Patch3:         mozilla-ntlm-full-path.patch
-Patch4:         mozilla-openaes-decl.patch
-Patch5:         mozilla-aarch64-startup-crash.patch
-Patch6:         mozilla-bmo1463035.patch
-Patch7:         mozilla-cubeb-noreturn.patch
-Patch8:         mozilla-fix-aarch64-libopus.patch
-Patch9:         mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
-Patch10:        mozilla-s390-context.patch
-Patch11:        mozilla-s390-bigendian.patch
-Patch12:        mozilla-reduce-rust-debuginfo.patch
-Patch13:        mozilla-ppc-altivec_static_inline.patch
-Patch14:        mozilla-bmo1005535.patch
-Patch15:        mozilla-bmo1568145.patch
-Patch16:        mozilla-bmo1504834-part1.patch
-Patch17:        mozilla-bmo1504834-part2.patch
-Patch18:        mozilla-bmo1504834-part3.patch
-Patch19:        mozilla-bmo1511604.patch
-Patch20:        mozilla-bmo1554971.patch
-Patch21:        mozilla-bmo1512162.patch
-Patch22:        mozilla-fix-top-level-asm.patch
+Patch4:         mozilla-aarch64-startup-crash.patch
+Patch5:         mozilla-bmo1463035.patch
+Patch6:         mozilla-cubeb-noreturn.patch
+Patch7:         mozilla-fix-aarch64-libopus.patch
+Patch8:         mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
+Patch9:         mozilla-s390-context.patch
+Patch10:        mozilla-s390-bigendian.patch
+Patch11:        mozilla-reduce-rust-debuginfo.patch
+Patch12:        mozilla-ppc-altivec_static_inline.patch
+Patch13:        mozilla-bmo1005535.patch
+Patch14:        mozilla-bmo1568145.patch
+Patch15:        mozilla-bmo1504834-part1.patch
+Patch16:        mozilla-bmo1504834-part2.patch
+Patch17:        mozilla-bmo1504834-part3.patch
+Patch18:        mozilla-bmo1554971.patch
+Patch19:        mozilla-bmo1512162.patch
+Patch20:        mozilla-fix-top-level-asm.patch
+Patch21:        mozilla-bmo1504834-part4.patch
+Patch22:        mozilla-bmo849632.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -306,10 +304,10 @@
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%ifarch s390x ppc64
 %patch10 -p1
-%ifarch s390x ppc64
+%endif
 %patch11 -p1
-%endif
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
@@ -339,15 +337,15 @@
   echo fix kde helper version in the .spec file
   exit 1
 fi
-source %{SOURCE5}
+source %{SOURCE4}
 %endif # only_print_mozconfig
 
 export CARGO_HOME=${RPM_BUILD_DIR}/%{srcname}-%{orig_version}/.cargo
-export MOZ_SOURCE_CHANGESET=$REV
-export SOURCE_REPO=$REPO
-export source_repo=$REPO
-export MOZ_SOURCE_REPO=$REPO
-export MOZ_BUILD_DATE=%{releasedate}
+export MOZ_SOURCE_CHANGESET=$RELEASE_TAG
+export SOURCE_REPO=$RELEASE_REPO
+export source_repo=$RELEASE_REPO
+export MOZ_SOURCE_REPO=$RELEASE_REPO
+export MOZ_BUILD_DATE=$RELEASE_TIMESTAMP
 export MOZILLA_OFFICIAL=1
 export BUILD_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
@@ -444,9 +442,6 @@
 ac_add_options --with-arch=armv7-a
 %endif
 %endif
-%ifarch aarch64 %arm s390x
-ac_add_options --disable-webrtc
-%endif
 # mitigation/workaround for bmo#1512162
 %ifarch s390x
 ac_add_options --enable-optimize="-O1"
--- a/MozillaFirefox/create-tar.sh	Tue Nov 19 22:54:22 2019 +0100
+++ b/MozillaFirefox/create-tar.sh	Mon Nov 25 08:26:42 2019 +0100
@@ -25,7 +25,8 @@
 fi
 
 # Sourcing the given tar_stamps-file to have the variables available
-source "$1" || print_usage_and_exit
+TAR_STAMP="$1"
+source "$TAR_STAMP" || print_usage_and_exit
 
 # Internal variables
 BRANCH="releases/mozilla-$CHANNEL"
@@ -37,12 +38,18 @@
 
 SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
 FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source"
+FTP_CANDIDATES_BASE_URL="https://ftp.mozilla.org/pub/$PRODUCT/candidates"
 # Make first letter of PRODCUT upper case
 PRODUCT_CAP="${PRODUCT^}"
 LOCALES_URL="https://product-details.mozilla.org/1.0/l10n/$PRODUCT_CAP"
 # Exit script on CTRL+C
 trap "exit" INT
 
+function get_ftp_candidates_url() {
+  VERSION_WITH_SUFFIX="$1"
+  echo "$FTP_CANDIDATES_BASE_URL/$VERSION_WITH_SUFFIX-candidates"
+}
+
 function check_tarball_source () {
   TARBALL=$1
   # Print out what is going to be done:
@@ -73,27 +80,56 @@
   fi
 }
 
-function locales_get() {
-  TMP_VERSION="$1"
-  URL_TO_CHECK="${LOCALES_URL}-${TMP_VERSION}"
+function get_source_stamp() {
+  BUILD_ID="$1"
+  FTP_CANDIDATES_BASE_URL=$(get_ftp_candidates_url $VERSION$VERSION_SUFFIX)
+  FTP_CANDIDATES_JSON_SUFFIX="${BUILD_ID}/linux-x86_64/en-US/firefox-$VERSION$VERSION_SUFFIX.json"
+  BUILD_JSON=$(curl --silent --fail "$FTP_CANDIDATES_BASE_URL/$FTP_CANDIDATES_JSON_SUFFIX") || return 1;
+  REV=$(echo "$BUILD_JSON" | jq .moz_source_stamp)
+  SOURCE_REPO=$(echo "$BUILD_JSON" | jq .moz_source_repo)
+  TIMESTAMP=$(echo "$BUILD_JSON" | jq .buildid)
+  echo "Extending $TAR_STAMP with:"
+  echo "RELEASE_REPO=${SOURCE_REPO}"
+  echo "RELEASE_TAG=${REV}"
+  echo "RELEASE_TIMESTAMP=${TIMESTAMP}"
+  # We "remove and add" instead of "replace" in case the entries are not there yet
+  # Removing the old RELEASE_-tags
+  sed -i "/RELEASE_\(TAG\|REPO\|TIMESTAMP\)=.*/d" "$TAR_STAMP"
+  # Appending the new 
+  echo "RELEASE_REPO=$SOURCE_REPO" >> "$TAR_STAMP"
+  echo "RELEASE_TAG=$REV" >> "$TAR_STAMP"
+  echo "RELEASE_TIMESTAMP=$TIMESTAMP" >> "$TAR_STAMP"
+}
 
+function get_build_number() {
   LAST_FOUND=""
+  VERSION_WITH_SUFFIX="$1"
+  FTP_CANDIDATES_BASE_URL=$(get_ftp_candidates_url $VERSION_WITH_SUFFIX)
   # Unfortunately, locales-files are not associated to releases, but to builds.
-  # And since we don't know which build was the final build, we go from 9 downwards
-  # try to find the latest one that exists (assuming there are no more than 9 builds).
+  # And since we don't know which build was the final build, we grep them all from
+  # the candidates-page, sort them and take the last one which should be the oldest
   # Error only if not even the first one exists
-  for BUILD_ID in $(seq 9 -1 0); do
-    FINAL_URL="${URL_TO_CHECK}-build${BUILD_ID}.json"
-    if wget --quiet --spider "$FINAL_URL"; then
-      LAST_FOUND="$FINAL_URL"
-      break
-    fi
-  done
+  LAST_FOUND=$(curl --silent --fail "$FTP_CANDIDATES_BASE_URL/" | grep -o "build[0-9]*/" | sort | uniq | tail -n 1 | cut -d "/" -f 1)
 
   if [ "$LAST_FOUND" != "" ]; then
     echo "$LAST_FOUND"
     return 0
   else
+    echo "Error: Could not find build-number for Firefox $VERSION_WITH_SUFFIX !"  1>&2
+    return 1
+  fi
+}
+
+
+function locales_get() {
+  TMP_VERSION="$1"
+  BUILD_ID="$2"
+  URL_TO_CHECK="${LOCALES_URL}-${TMP_VERSION}"
+  FINAL_URL="${URL_TO_CHECK}-${BUILD_ID}.json"
+  if wget --quiet --spider "$FINAL_URL"; then
+    echo "$FINAL_URL"
+    return 0
+  else
     echo "Error: Could not find locales-file (json) for Firefox $TMP_VERSION !"  1>&2
     return 1
   fi
@@ -107,9 +143,11 @@
 }
 
 function locales_unchanged() {
+  BUILD_ID="$1"
+  PREV_BUILD_ID=$(get_build_number "$PREV_VERSION$PREV_VERSION_SUFFIX")
   # If no json-file for one of the versions can be found, we say "they changed"
-  prev_url=$(locales_get "$PREV_VERSION$PREV_VERSION_SUFFIX") || return 1
-  curr_url=$(locales_get "$VERSION$VERSION_SUFFIX")      || return 1
+  prev_url=$(locales_get "$PREV_VERSION$PREV_VERSION_SUFFIX" "$PREV_BUILD_ID") || return 1
+  curr_url=$(locales_get "$VERSION$VERSION_SUFFIX" "$BUILD_ID")           || return 1
 
   prev_content=$(locales_parse "$prev_url") || exit 1
   curr_content=$(locales_parse "$curr_url") || exit 1
@@ -129,11 +167,14 @@
   compression='-Ipixz'
 fi
 
+# Get ID 
+BUILD_ID=$(get_build_number "$VERSION$VERSION_SUFFIX")
+
 if [ -z ${SKIP_LOCALES+x} ]; then
   # TODO: Thunderbird has usually "default" as locale entry. 
   # There we probably need to double-check Firefox-locals
   # For now, just download every time for Thunderbird
-  if [ "$PRODUCT" = "firefox" ] && [ "$PREV_VERSION" != "" ] && locales_unchanged; then
+  if [ "$PRODUCT" = "firefox" ] && [ "$PREV_VERSION" != "" ] && locales_unchanged "$BUILD_ID"; then
     printf "%-40s: Did not change. Skipping.\n" "locales"
     LOCALES_CHANGED=0
   else
@@ -167,6 +208,7 @@
     echo "extract locale changesets"
     tar -xf $SOURCE_TARBALL $LOCALE_FILE
   fi
+  get_source_stamp "$BUILD_ID"
 else
   # We are working on a version that is not yet published on the mozilla mirror
   # so we have to actually check out the repo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-bmo1504834-part4.patch	Mon Nov 25 08:26:42 2019 +0100
@@ -0,0 +1,1 @@
+../mozilla-bmo1504834-part4.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-bmo1511604.patch	Tue Nov 19 22:54:22 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-bmo1511604.patch
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-bmo849632.patch	Mon Nov 25 08:26:42 2019 +0100
@@ -0,0 +1,1 @@
+../mozilla-bmo849632.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-openaes-decl.patch	Tue Nov 19 22:54:22 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-openaes-decl.patch
\ No newline at end of file
--- a/MozillaFirefox/source-stamp.txt	Tue Nov 19 22:54:22 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-REV=990d9f90f0f5c02b8af12d784dc76ab40ea84781
-REPO=http://hg.mozilla.org/releases/mozilla-release
--- a/MozillaFirefox/tar_stamps	Tue Nov 19 22:54:22 2019 +0100
+++ b/MozillaFirefox/tar_stamps	Mon Nov 25 08:26:42 2019 +0100
@@ -1,9 +1,11 @@
 PRODUCT="firefox"
-CHANNEL="release"
-VERSION="70.0"
-VERSION_SUFFIX=""
-RELEASE_TAG="990d9f90f0f5c02b8af12d784dc76ab40ea84781"
-PREV_VERSION=""
+CHANNEL="beta"
+VERSION="71.0"
+VERSION_SUFFIX="b11"
+PREV_VERSION="70.0.1"
 PREV_VERSION_SUFFIX=""
 #SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
 
+RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-beta"
+RELEASE_TAG="5c921325dd03885c3392512722c7cede4ed9e00e"
+RELEASE_TIMESTAMP="20191118154140"
--- a/firefox-branded-icons.patch	Tue Nov 19 22:54:22 2019 +0100
+++ b/firefox-branded-icons.patch	Mon Nov 25 08:26:42 2019 +0100
@@ -1,6 +1,6 @@
 # HG changeset patch
 # Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
-# Parent  b75f4c79d0757cd16065811d34a563bdb5cfb15e
+# Parent  127964dc93cc35715852bc811dcc67016d918628
 
 diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
 --- a/browser/branding/branding-common.mozbuild
@@ -43,8 +43,8 @@
  #endif
  @RESPATH@/browser/features/*
  
- ; [Webide Files]
- @RESPATH@/browser/chrome/webide@JAREXT@
- @RESPATH@/browser/chrome/webide.manifest
+ ; [DevTools Startup Files]
+ @RESPATH@/browser/chrome/devtools-startup@JAREXT@
+ @RESPATH@/browser/chrome/devtools-startup.manifest
  
- ; [DevTools Startup Files]
+ ; DevTools
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-bmo1504834-part4.patch	Mon Nov 25 08:26:42 2019 +0100
@@ -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);
--- a/mozilla-bmo1511604.patch	Tue Nov 19 22:54:22 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-# HG changeset patch
-# User A. Wilcox <AWilcox@Wilcox-Tech.com>
-# Date 1543674229 0
-#      Sat Dec 01 14:23:49 2018 +0000
-# Node ID 0309ff19e46b126c527e633518d7de8570442114
-# Parent  ba2c9b0542c95cc5ee26c264e8338fc9ba94c958
-Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines
-Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1511604
-
-This is very closely related to mozilla-bmo1504834
-
-Again, input for skia is swizzled to LE, as skia only understands LE.
-
-diff --git a/gfx/ycbcr/YCbCrUtils.cpp b/gfx/ycbcr/YCbCrUtils.cpp
---- a/gfx/ycbcr/YCbCrUtils.cpp
-+++ b/gfx/ycbcr/YCbCrUtils.cpp
-@@ -1,14 +1,16 @@
- /* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-  * This Source Code Form is subject to the terms of the Mozilla Public
-  * License, v. 2.0. If a copy of the MPL was not distributed with this
-  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- 
-+#include "mozilla/EndianUtils.h"
- #include "gfx2DGlue.h"
-+#include "mozilla/gfx/Swizzle.h"
- 
- #include "YCbCrUtils.h"
- #include "yuv_convert.h"
- #include "ycbcr_to_rgb565.h"
- 
- namespace mozilla {
- namespace gfx {
- 
-@@ -231,16 +233,23 @@ ConvertYCbCrToRGB(const layers::PlanarYC
-                           srcData.mPicSize.width,
-                           srcData.mPicSize.height,
-                           srcData.mYStride,
-                           srcData.mCbCrStride,
-                           aStride,
-                           yuvtype,
-                           srcData.mYUVColorSpace);
-   }
-+#if MOZ_BIG_ENDIAN
-+  // libyuv makes endian-correct result, which needs to be swapped to BGRX
-+  if (aDestFormat != SurfaceFormat::R5G6B5_UINT16)
-+    gfx::SwizzleData(aDestBuffer, aStride, gfx::SurfaceFormat::X8R8G8B8,
-+                     aDestBuffer, aStride, gfx::SurfaceFormat::B8G8R8X8,
-+                     srcData.mPicSize);
-+#endif
- }
- 
- void
- ConvertYCbCrAToARGB(const uint8_t* aSrcY,
-                     const uint8_t* aSrcU,
-                     const uint8_t* aSrcV,
-                     const uint8_t* aSrcA,
-                     int aSrcStrideYA, int aSrcStrideUV,
-@@ -252,12 +261,18 @@ ConvertYCbCrAToARGB(const uint8_t* aSrcY
-                         aSrcV,
-                         aSrcA,
-                         aDstARGB,
-                         aWidth,
-                         aHeight,
-                         aSrcStrideYA,
-                         aSrcStrideUV,
-                         aDstStrideARGB);
-+#if MOZ_BIG_ENDIAN
-+  // libyuv makes endian-correct result, which needs to be swapped to BGRA
-+  gfx::SwizzleData(aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::A8R8G8B8,
-+                   aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::B8G8R8A8,
-+                   IntSize(aWidth, aHeight));
-+#endif
- }
- 
- } // namespace gfx
- } // namespace mozilla
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-bmo849632.patch	Mon Nov 25 08:26:42 2019 +0100
@@ -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;
+   }
+
--- a/mozilla-openaes-decl.patch	Tue Nov 19 22:54:22 2019 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-# HG changeset patch
-# Parent 33024abb3c58dab7239e32388df58e14f99defd5
-# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent  0cfd693fdbbb0635787f1aeacee2dda43b01c495
-
-diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
---- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
-+++ b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
-@@ -24,16 +24,17 @@
-  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  * POSSIBILITY OF SUCH DAMAGE.
-  * ---------------------------------------------------------------------------
-  */
- 
- #include <stdlib.h>
-+#include <stdio.h>
- #include <stddef.h>
- #include <time.h> 
- #include <string.h>
- 
- #include "mozilla/Sprintf.h"
- 
- #ifdef WIN32
- #include <process.h>
--- a/series	Tue Nov 19 22:54:22 2019 +0100
+++ b/series	Mon Nov 25 08:26:42 2019 +0100
@@ -2,7 +2,6 @@
 mozilla-nongnome-proxies.patch
 mozilla-kde.patch
 mozilla-ntlm-full-path.patch
-mozilla-openaes-decl.patch
 mozilla-aarch64-startup-crash.patch
 mozilla-bmo1463035.patch
 mozilla-cubeb-noreturn.patch
@@ -17,10 +16,11 @@
 mozilla-bmo1504834-part1.patch
 mozilla-bmo1504834-part2.patch
 mozilla-bmo1504834-part3.patch
-mozilla-bmo1511604.patch
 mozilla-bmo1554971.patch
 mozilla-bmo1512162.patch
 mozilla-fix-top-level-asm.patch
+mozilla-bmo1504834-part4.patch
+mozilla-bmo849632.patch
 
 # Firefox patches
 firefox-kde.patch