# HG changeset patch # User Wolfgang Rosenauer # Date 1578491329 -3600 # Node ID 4c5d44d40a03e2bf4b1ab684f15d89f556c5ed5f # Parent 27c3f029180a7c255b66c6c983283865c039da06 Firefox 72.0.1 diff -r 27c3f029180a -r 4c5d44d40a03 MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Tue Jan 07 09:47:03 2020 +0100 +++ b/MozillaFirefox/MozillaFirefox.changes Wed Jan 08 14:48:49 2020 +0100 @@ -1,4 +1,40 @@ ------------------------------------------------------------------- +Wed Jan 8 08:19:12 UTC 2020 - Wolfgang Rosenauer + +- Mozilla Firefox 72.0.1 + +------------------------------------------------------------------- +Tue Jan 7 13:03:50 UTC 2020 - Wolfgang Rosenauer + +- Mozilla Firefox 72.0 + * block fingerprinting scripts by default + * new notification pop-ups + * Picture-in-picture video + MFSA 2020-01 + * CVE-2019-17016 (bmo#1599181) + Bypass of @namespace CSS sanitization during pasting + * CVE-2019-17017 (bmo#1603055) + Type Confusion in XPCVariant.cpp + * CVE-2019-17020 (bmo#1597645) + Content Security Policy not applied to XSL stylesheets applied + to XML documents + * CVE-2019-17022 (bmo#1602843) + CSS sanitization does not escape HTML tags + * CVE-2019-17023 (bmo#1590001) (fixed in NSS FIXME) + NSS may negotiate TLS 1.2 or below after a TLS 1.3 + HelloRetryRequest had been sent + * CVE-2019-17024 (bmo#1507180,bmo#1595470,bmo#1598605,bmo#1601826) + Memory safety bugs fixed in Firefox 72 and Firefox ESR 68.4 + * CVE-2019-17025 (bmo#1328295,bmo#1328300,bmo#1590447,bmo#1590965 + bmo#1595692,bmo#1597321,bmo#1597481) + Memory safety bugs fixed in Firefox 72 +- update create-tar.sh to skip compare-locales +- requires NSPR 4.24 and NSS 3.48 +- removed usage of browser-plugins convention for NPAPI plugins + from start wrapper and changed the RPM macro to the + /usr/$LIB/mozilla/plugins location (boo#1160302) + +------------------------------------------------------------------- Mon Dec 2 08:24:05 UTC 2019 - Wolfgang Rosenauer - Mozilla Firefox 71.0 diff -r 27c3f029180a -r 4c5d44d40a03 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Tue Jan 07 09:47:03 2020 +0100 +++ b/MozillaFirefox/MozillaFirefox.spec Wed Jan 08 14:48:49 2020 +0100 @@ -1,7 +1,7 @@ # # spec file for package MozillaFirefox # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # 2006-2019 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties @@ -18,9 +18,9 @@ # changed with every update -%define major 71 -%define mainver %major.0 -%define orig_version 71.0 +%define major 72 +%define mainver %major.0.1 +%define orig_version 72.0.1 %define orig_suffix %{nil} %define update_channel release %define branding 1 @@ -80,8 +80,8 @@ BuildRequires: libnotify-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.23 -BuildRequires: mozilla-nss-devel >= 3.47.1 +BuildRequires: mozilla-nspr-devel >= 4.24 +BuildRequires: mozilla-nss-devel >= 3.48 BuildRequires: nasm >= 2.13 BuildRequires: nodejs8 >= 8.11 BuildRequires: python-devel @@ -150,7 +150,7 @@ Source11: firefox.1 Source12: mozilla-get-app-id Source13: spellcheck.js -Source14: https://github.com/openSUSE/firefox-scripts/raw/d414e38/create-tar.sh +Source14: https://github.com/openSUSE/firefox-scripts/raw/8a54002/create-tar.sh Source15: firefox-appdata.xml Source16: %{name}.changes # Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys @@ -603,7 +603,7 @@ %%firefox_version %{version} %%firefox_mainver %{mainver} %%firefox_mozillapath %%{_libdir}/%{progname} -%%firefox_pluginsdir %%{_libdir}/browser-plugins +%%firefox_pluginsdir %%{_libdir}/mozilla/plugins %%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\} %%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi) diff -r 27c3f029180a -r 4c5d44d40a03 MozillaFirefox/create-tar.sh --- a/MozillaFirefox/create-tar.sh Tue Jan 07 09:47:03 2020 +0100 +++ b/MozillaFirefox/create-tar.sh Wed Jan 08 14:48:49 2020 +0100 @@ -14,7 +14,7 @@ RELEASE_TAG="" # Needs only to be set if no tar-ball can be downloaded PREV_VERSION="60.6.3" # Prev. version only needed for locales (leave empty to force l10n-generation) PREV_VERSION_SUFFIX="esr" -#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation +#SKIP_LOCALES="" # Uncomment to skip l10n-generation EOF exit 1 @@ -331,15 +331,3 @@ echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz" mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz" fi - -# compare-locales -echo "creating compare-locales" -if [ -d compare-locales/.hg ]; then - pushd compare-locales || exit 1 - hg pull - popd || exit 1 -else - hg clone http://hg.mozilla.org/build/compare-locales -fi -tar $compression -cf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales - diff -r 27c3f029180a -r 4c5d44d40a03 MozillaFirefox/mozilla.sh.in --- a/MozillaFirefox/mozilla.sh.in Tue Jan 07 09:47:03 2020 +0100 +++ b/MozillaFirefox/mozilla.sh.in Wed Jan 08 14:48:49 2020 +0100 @@ -70,15 +70,6 @@ export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME" fi -mozilla_lib=`file $MOZ_PROGRAM` -LIB=lib -echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC|ARM aarch64)' && LIB=lib64 - -BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins -if [ ! -d $BROWSER_PLUGIN_DIR ]; then - BROWSER_PLUGIN_DIR=/opt/netscape/plugins -fi - MOZILLA_FIVE_HOME="$MOZ_DIST_LIB" export MOZILLA_FIVE_HOME LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} @@ -87,18 +78,6 @@ # needed for SUN Java under Xorg >= 7.2 export LIBXCB_ALLOW_SLOPPY_LOCK=1 -## -if [ -z "$MOZ_PLUGIN_PATH" ]; then - export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR -else - # make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH - echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null - _retval=$? - if [ ${_retval} -ne 0 ]; then - export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR - fi -fi - # disable Gnome crash dialog (doesn't make sense anyway) export GNOME_DISABLE_CRASH_DIALOG=1 diff -r 27c3f029180a -r 4c5d44d40a03 MozillaFirefox/tar_stamps --- a/MozillaFirefox/tar_stamps Tue Jan 07 09:47:03 2020 +0100 +++ b/MozillaFirefox/tar_stamps Wed Jan 08 14:48:49 2020 +0100 @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="71.0" +VERSION="72.0.1" VERSION_SUFFIX="" -PREV_VERSION="70.0.1" +PREV_VERSION="72.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="501aef7fe1d9622236600a7e53843d40d163a123" -RELEASE_TIMESTAMP="20191202093317" +RELEASE_TAG="8260da04c9b13f7c0e9cc6984a75e689b5fcb8c8" +RELEASE_TIMESTAMP="20200107212822" diff -r 27c3f029180a -r 4c5d44d40a03 mozilla-bmo1005535.patch --- a/mozilla-bmo1005535.patch Tue Jan 07 09:47:03 2020 +0100 +++ b/mozilla-bmo1005535.patch Wed Jan 08 14:48:49 2020 +0100 @@ -3,13 +3,13 @@ # Date 1558451540 -7200 # Tue May 21 17:12:20 2019 +0200 # Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad -# Parent 42c99b59a87b904063bad3193f10c51d068d2eac +# Parent 0b9b94a6526d4f1aa6e23b95c1f5f7c0bef841a7 Bug 1005535 - Get skia GPU building on big endian. -diff -r 42c99b59a87b -r 433beec63e6b gfx/skia/skia/include/private/GrColor.h ---- a/gfx/skia/skia/include/private/GrColor.h Wed Jun 05 08:48:08 2019 +0200 -+++ b/gfx/skia/skia/include/private/GrColor.h Tue May 21 17:12:20 2019 +0200 -@@ -63,7 +63,7 @@ +diff -r 0b9b94a6526d gfx/skia/skia/src/gpu/GrColor.h +--- a/gfx/skia/skia/src/gpu/GrColor.h Tue May 21 17:26:58 2019 +0200 ++++ b/gfx/skia/skia/src/gpu/GrColor.h Wed Jan 08 12:14:52 2020 +0100 +@@ -64,7 +64,7 @@ * Since premultiplied means that alpha >= color, we construct a color with * each component==255 and alpha == 0 to be "illegal" */ diff -r 27c3f029180a -r 4c5d44d40a03 mozilla-bmo1463035.patch --- a/mozilla-bmo1463035.patch Tue Jan 07 09:47:03 2020 +0100 +++ b/mozilla-bmo1463035.patch Wed Jan 08 14:48:49 2020 +0100 @@ -3,7 +3,7 @@ # User Mike Hommey # Date 1526871862 -32400 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43 -# Parent 5dc1d2186f44dd6ccfc4b28b9e1ed859cffc63bb +# Parent c2f46e526e92a1706d445f8e38a68bf90aee06f3 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons For some reason, GNU as is not happy with the assembly generated after @@ -15,7 +15,7 @@ diff --git a/mfbt/moz.build b/mfbt/moz.build --- a/mfbt/moz.build +++ b/mfbt/moz.build -@@ -122,20 +122,16 @@ EXPORTS["double-conversion"] = [ +@@ -132,20 +132,16 @@ EXPORTS["double-conversion"] = [ LOCAL_INCLUDES += [ '/mfbt/double-conversion', ] @@ -35,7 +35,7 @@ 'double-conversion/double-conversion/bignum-dtoa.cc', 'double-conversion/double-conversion/bignum.cc', 'double-conversion/double-conversion/cached-powers.cc', - 'double-conversion/double-conversion/diy-fp.cc', + 'double-conversion/double-conversion/double-to-string.cc', diff --git a/mozglue/baseprofiler/core/platform-linux-android.cpp b/mozglue/baseprofiler/core/platform-linux-android.cpp --- a/mozglue/baseprofiler/core/platform-linux-android.cpp +++ b/mozglue/baseprofiler/core/platform-linux-android.cpp diff -r 27c3f029180a -r 4c5d44d40a03 mozilla-bmo1504834-part1.patch --- a/mozilla-bmo1504834-part1.patch Tue Jan 07 09:47:03 2020 +0100 +++ b/mozilla-bmo1504834-part1.patch Wed Jan 08 14:48:49 2020 +0100 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 051b75a600dfbf7503c3485cebfd34d4eb29be96 +# Parent 83da7ee18178639b2a89d5e21f78e190e4e72d7e Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 -diff -r 051b75a600df gfx/2d/DrawTargetSkia.cpp ---- a/gfx/2d/DrawTargetSkia.cpp Fri Jul 05 12:42:44 2019 +0200 -+++ b/gfx/2d/DrawTargetSkia.cpp Mon Jul 08 10:59:30 2019 +0200 -@@ -138,8 +138,7 @@ +diff -r 83da7ee18178 gfx/2d/DrawTargetSkia.cpp +--- a/gfx/2d/DrawTargetSkia.cpp Mon Jul 22 00:00:00 2019 +0200 ++++ b/gfx/2d/DrawTargetSkia.cpp Wed Jan 08 12:17:44 2020 +0100 +@@ -136,8 +136,7 @@ return surfaceBounds.Intersect(bounds); } @@ -15,38 +15,38 @@ static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, const int32_t aStride, SurfaceFormat aFormat) { -diff -r 051b75a600df gfx/2d/Types.h ---- a/gfx/2d/Types.h Fri Jul 05 12:42:44 2019 +0200 -+++ b/gfx/2d/Types.h Mon Jul 08 10:59:30 2019 +0200 -@@ -85,15 +85,8 @@ +diff -r 83da7ee18178 gfx/2d/Types.h +--- a/gfx/2d/Types.h Mon Jul 22 00:00:00 2019 +0200 ++++ b/gfx/2d/Types.h Wed Jan 08 12:17:44 2020 +0100 +@@ -86,15 +86,8 @@ // 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 A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB - X8R8G8B8_UINT32 = B8G8R8X8 // 0x00RRGGBB + X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB -#elif MOZ_BIG_ENDIAN - A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB -- X8R8G8B8_UINT32 = X8R8G8B8 // 0x00RRGGBB +- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB -#else -# error "bad endianness" -#endif - }; - static inline int BytesPerPixel(SurfaceFormat aFormat) { -diff -r 051b75a600df gfx/skia/skia/third_party/skcms/skcms.cc ---- a/gfx/skia/skia/third_party/skcms/skcms.cc Fri Jul 05 12:42:44 2019 +0200 -+++ b/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 08 10:59:30 2019 +0200 -@@ -17,6 +17,8 @@ - #include - #elif defined(__SSE__) - #include + // The following values are OS and endian-independent synonyms. + // +diff -r 83da7ee18178 gfx/skia/skia/third_party/skcms/skcms.cc +--- a/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 22 00:00:00 2019 +0200 ++++ b/gfx/skia/skia/third_party/skcms/skcms.cc Wed Jan 08 12:17:44 2020 +0100 +@@ -30,6 +30,8 @@ + #include + #include + #endif +#else + #define SKCMS_PORTABLE #endif // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others. -@@ -124,20 +126,28 @@ +@@ -280,20 +282,28 @@ static uint16_t read_big_u16(const uint8_t* ptr) { uint16_t be; memcpy(&be, ptr, sizeof(be)); diff -r 27c3f029180a -r 4c5d44d40a03 mozilla-bmo1504834-part2.patch --- a/mozilla-bmo1504834-part2.patch Tue Jan 07 09:47:03 2020 +0100 +++ b/mozilla-bmo1504834-part2.patch Wed Jan 08 14:48:49 2020 +0100 @@ -1,19 +1,14 @@ # HG changeset patch -# Parent 6fa4b62427433e8f445d05c557e5db096667d880 +# Parent 0e579dcbf7328dda4512cbdafc9b42acec4935ea 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 -@@ -30,32 +30,79 @@ bool ConvolutionFilter::GetFilterOffsetA - int32_t* aResultLength) { - if (aRowIndex >= mFilter->numValues()) { - return false; - } - mFilter->FilterForValue(aRowIndex, aResultOffset, aResultLength); +diff -r 0e579dcbf732 gfx/2d/ConvolutionFilter.cpp +--- a/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:44 2020 +0100 ++++ b/gfx/2d/ConvolutionFilter.cpp Wed Jan 08 12:17:49 2020 +0100 +@@ -35,9 +35,38 @@ return true; } @@ -52,11 +47,7 @@ } 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; +@@ -49,8 +78,26 @@ int32_t filterLength; auto filterValues = mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength); @@ -83,20 +74,10 @@ } /* 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__) || \ +diff -r 0e579dcbf732 gfx/skia/skia/include/core/SkPreConfig.h +--- a/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:44 2020 +0100 ++++ b/gfx/skia/skia/include/core/SkPreConfig.h Wed Jan 08 12:17:49 2020 +0100 +@@ -73,7 +73,7 @@ defined(__ppc__) || defined(__hppa) || \ defined(__PPC__) || defined(__PPC64__) || \ defined(_MIPSEB) || defined(__ARMEB__) || \ @@ -105,8 +86,3 @@ (defined(__sh__) && defined(__BIG_ENDIAN__)) || \ (defined(__ia64) && defined(__BIG_ENDIAN__)) #define SK_CPU_BENDIAN - #else - #define SK_CPU_LENDIAN - #endif - #endif - diff -r 27c3f029180a -r 4c5d44d40a03 mozilla-bmo1601707.patch --- a/mozilla-bmo1601707.patch Tue Jan 07 09:47:03 2020 +0100 +++ b/mozilla-bmo1601707.patch Wed Jan 08 14:48:49 2020 +0100 @@ -1,7 +1,15 @@ +# HG changeset patch +# Parent 862430a659a4f1fcbbbbfcf1cba98eb7e31035dc + diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp -@@ -24311,9 +24311,9 @@ +@@ -24612,19 +24612,19 @@ nsresult ObjectStoreAddOrPutRequestOp::D + } + } + + // The "|| keyUnset" here is mostly a debugging tool. If a key isn't + // specified we should never have a collision and so it shouldn't matter // if we allow overwrite or not. By not allowing overwrite we raise // detectable errors rather than corrupting data. DatabaseConnection::CachedStatement stmt; @@ -14,16 +22,17 @@ rv = aConnection->GetCachedStatement( NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective + NS_LITERAL_CSTRING("INTO object_data " -@@ -25869,7 +25869,7 @@ - } - } + "(object_store_id, key, file_ids, data) " + "VALUES (:") + + kStmtParamNameObjectStoreId + NS_LITERAL_CSTRING(", :") + + kStmtParamNameKey + NS_LITERAL_CSTRING(", :") + + kStmtParamNameFileIds + NS_LITERAL_CSTRING(", :") + +@@ -26452,19 +26452,19 @@ nsresult Cursor::OpenOp::DoIndexDatabase + MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenCursorParams); + MOZ_ASSERT(mCursor->mObjectStoreId); + MOZ_ASSERT(mCursor->mIndexId); -- const auto& comparisonChar = -+ const auto comparisonChar = - isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<"); - - mCursor->mContinueToQuery = -@@ -26076,9 +26076,9 @@ + AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexDatabaseWork", DOM); const bool usingKeyRange = mOptionalKeyRange.isSome(); @@ -34,9 +43,19 @@ + ? NS_LITERAL_CSTRING("unique_index_data") + : NS_LITERAL_CSTRING("index_data"); - NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); + // The result of MakeColumnPairSelectionList is stored in a local variable, + // since inlining it into the next statement causes a crash on some Mac OS X + // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110). + const auto columnPairSelectionList = MakeColumnPairSelectionList( + NS_LITERAL_CSTRING("index_table.value"), + NS_LITERAL_CSTRING("index_table.value_locale"), kColumnNameAliasSortKey, + mCursor->IsLocaleAware()); +@@ -26558,19 +26558,19 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab + MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenKeyCursorParams); + MOZ_ASSERT(mCursor->mObjectStoreId); + MOZ_ASSERT(mCursor->mIndexId); -@@ -26198,9 +26198,9 @@ + AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexKeyDatabaseWork", DOM); const bool usingKeyRange = mOptionalKeyRange.isSome(); @@ -47,6 +66,10 @@ + ? NS_LITERAL_CSTRING("unique_index_data") + : NS_LITERAL_CSTRING("index_data"); - NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); - - + // The result of MakeColumnPairSelectionList is stored in a local variable, + // since inlining it into the next statement causes a crash on some Mac OS X + // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110). + const auto columnPairSelectionList = MakeColumnPairSelectionList( + NS_LITERAL_CSTRING("value"), NS_LITERAL_CSTRING("value_locale"), + kColumnNameAliasSortKey, mCursor->IsLocaleAware()); + const nsCString sortColumnAlias = NS_LITERAL_CSTRING("SELECT ") + diff -r 27c3f029180a -r 4c5d44d40a03 mozilla-kde.patch --- a/mozilla-kde.patch Tue Jan 07 09:47:03 2020 +0100 +++ b/mozilla-kde.patch Wed Jan 08 14:48:49 2020 +0100 @@ -3,7 +3,7 @@ # Date 1559294891 -7200 # Fri May 31 11:28:11 2019 +0200 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112 -# Parent 86d7ace0b36abf542e56fbb702a5f9b308b9bf77 +# Parent 52a515e07938d75f7c33e7b724845ce6dc315c0c Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -31,7 +31,7 @@ #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4542,25 +4543,37 @@ nsresult Preferences::InitInitialObjects +@@ -4543,25 +4544,37 @@ nsresult Preferences::InitInitialObjects // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -69,7 +69,7 @@ // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4606,17 +4619,17 @@ nsresult Preferences::InitInitialObjects +@@ -4607,17 +4620,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -91,7 +91,7 @@ diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build --- a/modules/libpref/moz.build +++ b/modules/libpref/moz.build -@@ -110,16 +110,20 @@ EXPORTS.mozilla += [ +@@ -113,16 +113,20 @@ EXPORTS.mozilla += [ ] EXPORTS.mozilla += sorted(['!' + g for g in gen_h]) @@ -356,7 +356,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -85,17 +85,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -87,17 +87,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co '../components/printingui', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -841,7 +841,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build --- a/uriloader/exthandler/moz.build +++ b/uriloader/exthandler/moz.build -@@ -83,17 +83,19 @@ else: +@@ -85,17 +85,19 @@ else: SOURCES += [ osdir + '/nsOSHelperAppService.cpp', ] @@ -861,7 +861,7 @@ 'android/nsExternalURLHandlerService.cpp', 'android/nsMIMEInfoAndroid.cpp', ] -@@ -133,16 +135,17 @@ include('/ipc/chromium/chromium-config.m +@@ -135,16 +137,17 @@ include('/ipc/chromium/chromium-config.m FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ @@ -1252,9 +1252,9 @@ #endif } - nsresult nsOSHelperAppService::GetFileTokenForPath( - const char16_t* platformAppPath, nsIFile** aFile) { -@@ -1136,17 +1136,17 @@ already_AddRefed nsOSHel + NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol( + const nsACString& aScheme, bool* _retval) { +@@ -1142,17 +1142,17 @@ already_AddRefed nsOSHel nsresult rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, true); @@ -1273,7 +1273,7 @@ rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, false); -@@ -1248,17 +1248,17 @@ already_AddRefed nsOSHel +@@ -1254,17 +1254,17 @@ already_AddRefed nsOSHel // Now look up our extensions nsAutoString extensions, mime_types_description; @@ -1295,7 +1295,7 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build --- a/widget/gtk/moz.build +++ b/widget/gtk/moz.build -@@ -126,16 +126,17 @@ include('/ipc/chromium/chromium-config.m +@@ -127,16 +127,17 @@ include('/ipc/chromium/chromium-config.m FINAL_LIBRARY = 'xul' @@ -1814,7 +1814,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build --- a/xpcom/components/moz.build +++ b/xpcom/components/moz.build -@@ -66,16 +66,17 @@ LOCAL_INCLUDES += [ +@@ -62,16 +62,17 @@ LOCAL_INCLUDES += [ '!..', '../base', '../build',