# HG changeset patch # User Wolfgang Rosenauer # Date 1582149080 -3600 # Node ID 004e4b1efb269f049602c31af92a7f8bf215f558 # Parent 6168af2507a2155353acb090c33e7f555c385c3f Firefox 73.0 diff -r 6168af2507a2 -r 004e4b1efb26 MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Sun Feb 09 08:35:05 2020 +0100 +++ b/MozillaFirefox/MozillaFirefox.changes Wed Feb 19 22:51:20 2020 +0100 @@ -1,4 +1,50 @@ ------------------------------------------------------------------- +Sun Feb 9 07:45:00 UTC 2020 - Wolfgang Rosenauer + +- Mozilla Firefox 73.0 + * Added support for setting a default zoom level applicable for all + web content + * High-contrast mode has been updated to allow background images + * Improved audio quality when playing back audio at a faster or + slower speed + * Added NextDNS as alternative option for DNS over HTTPS + MFSA 2020-05 (bsc#1163368) + * CVE-2020-6796 (bmo#1610426) + Missing bounds check on shared memory read in the parent process + * CVE-2020-6797 (bmo#1596668) (MacOS X only) + Extensions granted downloads.open permission could open arbitrary + applications on Mac OSX + * CVE-2020-6798 (bmo#1602944) + Incorrect parsing of template tag could result in JavaScript injection + * CVE-2020-6799 (bmo#1606596) (Windows only) + Arbitrary code execution when opening pdf links from other + applications, when Firefox is configured as default pdf reader + * CVE-2020-6800 (bmo#1595786,bmo#1596706,bmo#1598543,bmo#1604851, + bmo#1608580,bmo#1608785,bmo#1605777) + Memory safety bugs fixed in Firefox 73 and Firefox ESR 68.5 + * CVE-2020-6801 (bmo#1601024,bmo#1601712,bmo#1604836,bmo#1606492) + Memory safety bugs fixed in Firefox 73 +- updated requirements + * rust >= 1.39 + * NSS >= 3.49.2 + * rust-cbindgen >= 0.12.0 +- rebased patches +- removed obsolete patch + * mozilla-bmo1601707.patch +- switched to cairo-gtk3-wayland build + (to fully enable wayland MOZ_ENABLE_WAYLAND=1 needs to be set) +- disabled elfhack due to failing packager + https://github.com/openSUSE/firefox-maintenance/issues/28 +- disabled PGO due to build failure + https://github.com/openSUSE/firefox-maintenance/issues/29 + +------------------------------------------------------------------- +Tue Jan 28 07:30:16 UTC 2020 - Stasiek Michalski + +- Use a symbolic icon from branding internals +- Pixmaps no longer required for the desktops + +------------------------------------------------------------------- Wed Jan 22 10:30:21 UTC 2020 - Wolfgang Rosenauer - Mozilla Firefox 72.0.2 diff -r 6168af2507a2 -r 004e4b1efb26 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Sun Feb 09 08:35:05 2020 +0100 +++ b/MozillaFirefox/MozillaFirefox.spec Wed Feb 19 22:51:20 2020 +0100 @@ -2,7 +2,7 @@ # spec file for package MozillaFirefox # # Copyright (c) 2020 SUSE LLC -# 2006-2019 Wolfgang Rosenauer +# 2006-2020 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,14 +18,17 @@ # changed with every update -%define major 72 -%define mainver %major.0.2 -%define orig_version 72.0.2 +%define major 73 +%define mainver %major.0 +%define orig_version 73.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 %define devpkg 1 +# disable for FF73 for now as it fails for unknown reason +%define do_profiling 0 + # always build with GCC as SUSE Security Team requires that %define clang_build 0 @@ -72,7 +75,7 @@ %else BuildRequires: gcc-c++ %endif -BuildRequires: cargo >= 1.37 +BuildRequires: cargo >= 1.39 BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel @@ -81,14 +84,14 @@ BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.24 -BuildRequires: mozilla-nss-devel >= 3.48 +BuildRequires: mozilla-nss-devel >= 3.49.2 BuildRequires: nasm >= 2.13 BuildRequires: nodejs8 >= 8.11 BuildRequires: python-devel BuildRequires: python2-xml BuildRequires: python3 >= 3.5 -BuildRequires: rust >= 1.37 -BuildRequires: rust-cbindgen >= 0.9.1 +BuildRequires: rust >= 1.39 +BuildRequires: rust-cbindgen >= 0.12.0 BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files @@ -183,7 +186,6 @@ Patch20: mozilla-fix-top-level-asm.patch Patch21: mozilla-bmo1504834-part4.patch Patch22: mozilla-bmo849632.patch -Patch23: mozilla-bmo1601707.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -319,7 +321,6 @@ %patch20 -p1 %patch21 -p1 %patch22 -p1 -%patch23 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -399,7 +400,7 @@ ac_add_options --libdir=%{_libdir} ac_add_options --includedir=%{_includedir} ac_add_options --enable-release -ac_add_options --enable-default-toolkit=cairo-gtk3 +ac_add_options --enable-default-toolkit=cairo-gtk3-wayland %if 0%{?suse_version} >= 1550 ac_add_options --disable-gconf %endif @@ -409,11 +410,12 @@ %else ac_add_options --enable-debug-symbols %endif -%if 0%{?suse_version} > 1549 +# building with elf-hack started to fail everywhere with FF73 +#%if 0%{?suse_version} > 1549 %ifnarch aarch64 ppc64 ppc64le s390x ac_add_options --disable-elf-hack %endif -%endif +#%endif ac_add_options --with-system-nspr ac_add_options --with-system-nss %if %{localize} @@ -576,10 +578,11 @@ # mkdir -p %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid} mkdir -p %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid} -mkdir -p %{buildroot}/usr/share/pixmaps/ -ln -sf %{progdir}/browser/chrome/icons/default/default128.png %{buildroot}/usr/share/pixmaps/%{progname}.png -ln -sf %{progdir}/browser/chrome/icons/default/default128.png %{buildroot}/usr/share/pixmaps/%{progname}-gnome.png %if %branding +# Install symbolic icon for GNOME +mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/ +cp %{_builddir}/%{srcname}-%{orig_version}/browser/branding/official/content/identity-icons-brand.svg \ + %{buildroot}%{gnome_dir}/share/icons/hicolor/symbolic/apps/%{progname}-symbolic.svg for size in 16 22 24 32 48 64 128 256; do %else for size in 16 32 48; do @@ -664,7 +667,6 @@ %{progdir}/browser/features/ %{progdir}/browser/chrome/icons %{progdir}/browser/blocklist.xml -%{progdir}/browser/chrome.manifest %{progdir}/browser/omni.ja %dir %{progdir}/distribution/ %{progdir}/distribution/extensions/ @@ -676,7 +678,6 @@ %{progdir}/%{progname} %{progdir}/%{progname}-bin %{progdir}/application.ini -%{progdir}/chrome.manifest %{progdir}/dependentlibs.list %{progdir}/*.so %{progdir}/omni.ja @@ -693,7 +694,6 @@ %endif %{_datadir}/applications/%{desktop_file_name}.desktop %{_datadir}/mime/packages/%{progname}.xml -%{_datadir}/pixmaps/firefox* %dir %{_datadir}/mozilla %dir %{_datadir}/mozilla/extensions %dir %{_datadir}/mozilla/extensions/%{firefox_appid} diff -r 6168af2507a2 -r 004e4b1efb26 MozillaFirefox/mozilla-bmo1601707.patch --- a/MozillaFirefox/mozilla-bmo1601707.patch Sun Feb 09 08:35:05 2020 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -../mozilla-bmo1601707.patch \ No newline at end of file diff -r 6168af2507a2 -r 004e4b1efb26 MozillaFirefox/tar_stamps --- a/MozillaFirefox/tar_stamps Sun Feb 09 08:35:05 2020 +0100 +++ b/MozillaFirefox/tar_stamps Wed Feb 19 22:51:20 2020 +0100 @@ -1,11 +1,11 @@ PRODUCT="firefox" CHANNEL="release" -VERSION="72.0.2" +VERSION="73.0" VERSION_SUFFIX="" -PREV_VERSION="72.0.1" +PREV_VERSION="73.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="25e0edbb0a613c3bf794c93ba3aa0985d29d5ef4" -RELEASE_TIMESTAMP="20200117190643" +RELEASE_TAG="816e7f29478180f322fb4731df776d3b7854f0f8" +RELEASE_TIMESTAMP="20200207195153" diff -r 6168af2507a2 -r 004e4b1efb26 firefox-kde.patch --- a/firefox-kde.patch Sun Feb 09 08:35:05 2020 +0100 +++ b/firefox-kde.patch Wed Feb 19 22:51:20 2020 +0100 @@ -3,7 +3,7 @@ # Date 1559300151 -7200 # Fri May 31 12:55:51 2019 +0200 # Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec -# Parent 4faaad3619f286bd6077754d8e59d339a5142b80 +# Parent 1143a0e4b2eefa83f74fc484c547d7790ca455a1 How to apply this patch: 1. Import and apply it 2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul @@ -14,7 +14,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js --- a/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js -@@ -341,16 +341,23 @@ var gMainPane = { +@@ -329,16 +329,23 @@ var gMainPane = { }, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]); }; @@ -38,7 +38,7 @@ ); let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + -@@ -1199,16 +1206,27 @@ var gMainPane = { +@@ -1283,16 +1290,27 @@ var gMainPane = { this._backoffIndex = 0; let shellSvc = getShellService(); @@ -82,12 +82,12 @@ + 'nsUnixShellService.cpp', ] elif CONFIG['OS_ARCH'] == 'WINNT': + XPIDL_SOURCES += [ + 'nsIWindowsShellService.idl', + ] SOURCES += [ 'nsWindowsShellService.cpp', ] - LOCAL_INCLUDES += [ - '../../../other-licenses/nsis/Contrib/CityHash/cityhash', - ] diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp new file mode 100644 --- /dev/null diff -r 6168af2507a2 -r 004e4b1efb26 mozilla-bmo1504834-part1.patch --- a/mozilla-bmo1504834-part1.patch Sun Feb 09 08:35:05 2020 +0100 +++ b/mozilla-bmo1504834-part1.patch Wed Feb 19 22:51:20 2020 +0100 @@ -1,11 +1,16 @@ # HG changeset patch -# Parent 83da7ee18178639b2a89d5e21f78e190e4e72d7e +# Parent 9db312f823881c04c5c16a7623df08cf6aef371d Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834 -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 @@ +diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp +--- a/gfx/2d/DrawTargetSkia.cpp ++++ b/gfx/2d/DrawTargetSkia.cpp +@@ -131,18 +131,17 @@ static IntRect CalculateSurfaceBounds(co + Rect sampledBounds = inverse.TransformBounds(*aBounds); + if (!sampledBounds.ToIntRect(&bounds)) { + return surfaceBounds; + } + return surfaceBounds.Intersect(bounds); } @@ -15,17 +20,27 @@ static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, const int32_t aStride, SurfaceFormat aFormat) { -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 @@ + 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 +@@ -82,25 +82,18 @@ enum class SurfaceFormat : int8_t { + Depth, + + // This represents the unknown format. + UNKNOWN, + // 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 +-#if MOZ_LITTLE_ENDIAN() A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB --#elif MOZ_BIG_ENDIAN +-#elif MOZ_BIG_ENDIAN() - A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB - X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB -#else @@ -34,10 +49,20 @@ // 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 @@ + // 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 + #include + #include #include #include #endif @@ -46,7 +71,17 @@ #endif // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others. -@@ -280,20 +282,28 @@ + // 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 uint16_t read_big_u16(const uint8_t* ptr) { uint16_t be; memcpy(&be, ptr, sizeof(be)); @@ -79,3 +114,8 @@ #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) { diff -r 6168af2507a2 -r 004e4b1efb26 mozilla-bmo1601707.patch --- a/mozilla-bmo1601707.patch Sun Feb 09 08:35:05 2020 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -# 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 -@@ -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; -- const auto& optReplaceDirective = (!mOverwrite || keyUnset) -- ? NS_LITERAL_CSTRING("") -- : NS_LITERAL_CSTRING("OR REPLACE "); -+ const auto optReplaceDirective = (!mOverwrite || keyUnset) -+ ? NS_LITERAL_CSTRING("") -+ : NS_LITERAL_CSTRING("OR REPLACE "); - rv = aConnection->GetCachedStatement( - NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective + - NS_LITERAL_CSTRING("INTO object_data " - "(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); - - AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexDatabaseWork", DOM); - - const bool usingKeyRange = mOptionalKeyRange.isSome(); - -- const auto& indexTable = mCursor->mUniqueIndex -- ? NS_LITERAL_CSTRING("unique_index_data") -- : NS_LITERAL_CSTRING("index_data"); -+ const auto indexTable = mCursor->mUniqueIndex -+ ? NS_LITERAL_CSTRING("unique_index_data") -+ : NS_LITERAL_CSTRING("index_data"); - - // 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); - - AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexKeyDatabaseWork", DOM); - - const bool usingKeyRange = mOptionalKeyRange.isSome(); - -- const auto& table = mCursor->mUniqueIndex -- ? NS_LITERAL_CSTRING("unique_index_data") -- : NS_LITERAL_CSTRING("index_data"); -+ const auto table = mCursor->mUniqueIndex -+ ? NS_LITERAL_CSTRING("unique_index_data") -+ : NS_LITERAL_CSTRING("index_data"); - - // 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 6168af2507a2 -r 004e4b1efb26 mozilla-kde.patch --- a/mozilla-kde.patch Sun Feb 09 08:35:05 2020 +0100 +++ b/mozilla-kde.patch Wed Feb 19 22:51:20 2020 +0100 @@ -3,7 +3,7 @@ # Date 1559294891 -7200 # Fri May 31 11:28:11 2019 +0200 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112 -# Parent 52a515e07938d75f7c33e7b724845ce6dc315c0c +# Parent 48866e4a200fb5299b94af4d9841e38336cff9f4 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer Author: Lubos Lunak @@ -13,7 +13,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp -@@ -88,16 +88,17 @@ +@@ -84,16 +84,17 @@ #include "nsXPCOM.h" #include "nsXULAppAPI.h" #include "nsZipArchive.h" @@ -31,7 +31,7 @@ #ifdef MOZ_MEMORY # include "mozmemory.h" #endif -@@ -4543,25 +4544,37 @@ nsresult Preferences::InitInitialObjects +@@ -4539,25 +4540,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. -@@ -4607,17 +4620,17 @@ nsresult Preferences::InitInitialObjects +@@ -4603,17 +4616,17 @@ nsresult Preferences::InitInitialObjects } nsCOMPtr path = do_QueryInterface(elem); @@ -136,7 +136,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py --- a/python/mozbuild/mozpack/chrome/manifest.py +++ b/python/mozbuild/mozpack/chrome/manifest.py -@@ -36,16 +36,17 @@ class ManifestEntry(object): +@@ -37,16 +37,17 @@ class ManifestEntry(object): 'platformversion', 'os', 'osversion', @@ -175,7 +175,7 @@ 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 -@@ -1199,36 +1199,66 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1195,36 +1195,66 @@ nsUnknownContentTypeDialog.prototype = { params.handlerApp && params.handlerApp.executable && params.handlerApp.executable.isFile() @@ -265,7 +265,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp -@@ -14,16 +14,17 @@ +@@ -13,16 +13,17 @@ #include "nsPrintfCString.h" #include "nsNetCID.h" #include "nsNetUtil.h" @@ -283,7 +283,7 @@ NS_DECL_ISUPPORTS NS_DECL_NSISYSTEMPROXYSETTINGS -@@ -37,16 +38,18 @@ class nsUnixSystemProxySettings final : +@@ -36,16 +37,18 @@ class nsUnixSystemProxySettings final : nsCOMPtr mProxySettings; nsInterfaceHashtable mSchemeProxySettings; @@ -302,7 +302,7 @@ nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { // dbus prevents us from being threadsafe, but this routine should not block // anyhow -@@ -381,21 +384,50 @@ nsresult nsUnixSystemProxySettings::GetP +@@ -380,21 +383,50 @@ nsresult nsUnixSystemProxySettings::GetP return NS_OK; } @@ -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 -@@ -87,17 +87,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -88,17 +88,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co '../components/printingui', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -1213,10 +1213,10 @@ #include "nsString.h" #include "nsReadableUtils.h" #include "nsUnicharUtils.h" - #include "nsIURL.h" #include "nsIFileStreams.h" #include "nsILineInputStream.h" -@@ -1025,17 +1025,17 @@ nsresult nsOSHelperAppService::GetHandle + #include "nsIFile.h" +@@ -1024,17 +1024,17 @@ nsresult nsOSHelperAppService::GetHandle nsresult nsOSHelperAppService::OSProtocolHandlerExists( const char* aProtocolScheme, bool* aHandlerExists) { @@ -1235,7 +1235,7 @@ nsCOMPtr handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv) && handlerSvc) { -@@ -1045,17 +1045,17 @@ nsresult nsOSHelperAppService::OSProtoco +@@ -1044,17 +1044,17 @@ nsresult nsOSHelperAppService::OSProtoco } return rv; @@ -1254,7 +1254,7 @@ NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol( const nsACString& aScheme, bool* _retval) { -@@ -1142,17 +1142,17 @@ already_AddRefed nsOSHel +@@ -1141,17 +1141,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); -@@ -1254,17 +1254,17 @@ already_AddRefed nsOSHel +@@ -1253,17 +1253,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 -@@ -127,16 +127,17 @@ include('/ipc/chromium/chromium-config.m +@@ -128,16 +128,17 @@ include('/ipc/chromium/chromium-config.m FINAL_LIBRARY = 'xul' @@ -1316,25 +1316,24 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp --- a/widget/gtk/nsFilePicker.cpp +++ b/widget/gtk/nsFilePicker.cpp -@@ -4,16 +4,17 @@ +@@ -1,15 +1,16 @@ + /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ + /* 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/Types.h" + #include + #include ++#include #include #include #include - #include -+#include - + #include "mozilla/Types.h" #include "nsGtkUtils.h" #include "nsIFileURL.h" #include "nsIGIOService.h" - #include "nsIURI.h" - #include "nsIWidget.h" - #include "nsIFile.h" - #include "nsIStringBundle.h" -@@ -21,16 +22,17 @@ +@@ -20,16 +21,17 @@ #include "nsArrayEnumerator.h" #include "nsMemory.h" #include "nsEnumeratorUtils.h" @@ -1352,7 +1351,7 @@ #define MAX_PREVIEW_SOURCE_SIZE 4096 nsIFile* nsFilePicker::mPrevDisplayDirectory = nullptr; -@@ -228,17 +230,19 @@ nsFilePicker::AppendFilters(int32_t aFil +@@ -227,17 +229,19 @@ nsFilePicker::AppendFilters(int32_t aFil mAllowURLs = !!(aFilterMask & filterAllowURLs); return nsBaseFilePicker::AppendFilters(aFilterMask); } @@ -1373,7 +1372,7 @@ mFilters.AppendElement(filter); mFilterNames.AppendElement(name); -@@ -338,16 +342,39 @@ nsresult nsFilePicker::Show(int16_t* aRe +@@ -337,16 +341,39 @@ nsresult nsFilePicker::Show(int16_t* aRe return NS_OK; } @@ -1413,7 +1412,7 @@ GtkFileChooserAction action = GetGtkFileChooserAction(mMode); -@@ -573,16 +600,240 @@ void nsFilePicker::Done(void* file_choos +@@ -572,16 +599,240 @@ void nsFilePicker::Done(void* file_choos mCallback->Done(result); mCallback = nullptr; } else { @@ -1835,7 +1834,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp -@@ -47,16 +47,17 @@ +@@ -46,16 +46,17 @@ #include "prproces.h" #include "nsIDirectoryEnumerator.h" #include "nsSimpleEnumerator.h" @@ -1853,7 +1852,7 @@ # include "prmem.h" # include "plbase64.h" -@@ -1902,62 +1903,77 @@ nsLocalFile::SetPersistentDescriptor(con +@@ -1904,62 +1905,77 @@ nsLocalFile::SetPersistentDescriptor(con NS_IMETHODIMP nsLocalFile::Reveal() { diff -r 6168af2507a2 -r 004e4b1efb26 series --- a/series Sun Feb 09 08:35:05 2020 +0100 +++ b/series Wed Feb 19 22:51:20 2020 +0100 @@ -21,7 +21,6 @@ mozilla-fix-top-level-asm.patch mozilla-bmo1504834-part4.patch mozilla-bmo849632.patch -mozilla-bmo1601707.patch # Firefox patches firefox-kde.patch