From 2aeeca638ac3c1b962291918b53012adf07c923e Mon Sep 17 00:00:00 2001
From: Bernhard M. Wiedemann <bwiedemann+opensusegit@suse.de>
Date: May 07 2020 15:52:00 +0000
Subject: Update MozillaFirefox to rev 311 via SR 800451


https://build.opensuse.org/request/show/800451
by user wrosenauer + dimstar_suse
- Mozilla Firefox 76.0
  * Lockwise improvements
  * Improvements in Picture-in-Picture feature
  * Support Audio Worklets
  MFSA-2020-16 (bsc#1171186)
  * CVE-2020-12387 (bmo#1545345)
    Use-after-free during worker shutdown
  * CVE-2020-12388 (bmo#1618911)
    Sandbox escape with improperly guarded Access Tokens
  * CVE-2020-12389 (bmo#1554110)
    Sandbox escape with improperly separated process types
  * CVE-2020-6831 (bmo#1632241)
    Buffer overflow in SCTP chunk input validation
  * CVE-2020-12390 (bmo#1141959)
    Incorrect serialization of nsIPrincipal.origin for IPv6 addresses
  * CVE-2020-12391 (bmo#1457100)
    Content-Security-Policy bypass using object elements
  * CVE-2020-12392 (bmo#1614468)
    Arbitrary local file access with 'Copy as cURL'
  * CVE-2020-12393 (bmo#1615471

---

diff --git a/packages/m/MozillaFirefox/.files b/packages/m/MozillaFirefox/.files
index a02460a..a97e499 100644
Binary files a/packages/m/MozillaFirefox/.files and b/packages/m/MozillaFirefox/.files differ
diff --git a/packages/m/MozillaFirefox/.rev b/packages/m/MozillaFirefox/.rev
index f5b609a..e75bd22 100644
--- a/packages/m/MozillaFirefox/.rev
+++ b/packages/m/MozillaFirefox/.rev
@@ -4394,4 +4394,41 @@
 - increase _constraints memory for ppc64le</comment>
     <requestid>792914</requestid>
   </revision>
+  <revision rev="311" vrev="1">
+    <srcmd5>468b4d9fad42a557e8b3f20e79dba436</srcmd5>
+    <version>76.0</version>
+    <time>1588866664</time>
+    <user>dimstar_suse</user>
+    <comment>- Mozilla Firefox 76.0
+  * Lockwise improvements
+  * Improvements in Picture-in-Picture feature
+  * Support Audio Worklets
+  MFSA-2020-16 (bsc#1171186)
+  * CVE-2020-12387 (bmo#1545345)
+    Use-after-free during worker shutdown
+  * CVE-2020-12388 (bmo#1618911)
+    Sandbox escape with improperly guarded Access Tokens
+  * CVE-2020-12389 (bmo#1554110)
+    Sandbox escape with improperly separated process types
+  * CVE-2020-6831 (bmo#1632241)
+    Buffer overflow in SCTP chunk input validation
+  * CVE-2020-12390 (bmo#1141959)
+    Incorrect serialization of nsIPrincipal.origin for IPv6 addresses
+  * CVE-2020-12391 (bmo#1457100)
+    Content-Security-Policy bypass using object elements
+  * CVE-2020-12392 (bmo#1614468)
+    Arbitrary local file access with 'Copy as cURL'
+  * CVE-2020-12393 (bmo#1615471)
+    Devtools' 'Copy as cURL' feature did not fully escape
+    website-controlled data, potentially leading to command injection
+  * CVE-2020-12394 (bmo#1628288)
+    URL spoofing in location bar when unfocussed
+  * CVE-2020-12395 (bmo#1595886, bmo#1611482, bmo#1614704, bmo#1624098,
+    bmo#1625749, bmo#1626382, bmo#1628076, bmo#1631508)
+    Memory safety bugs fixed in Firefox 76 and Firefox ESR 68.8
+  * CVE-2020-12396 (bmo#1339601, bmo#1611938, bmo#1620488,
+    bmo#1622291, bmo#1627644)
+    Memory safety bugs fixed in Firefox 76</comment>
+    <requestid>800451</requestid>
+  </revision>
 </revisionlist>
diff --git a/packages/m/MozillaFirefox/MozillaFirefox.changes b/packages/m/MozillaFirefox/MozillaFirefox.changes
index 4cb3116..4baa907 100644
--- a/packages/m/MozillaFirefox/MozillaFirefox.changes
+++ b/packages/m/MozillaFirefox/MozillaFirefox.changes
@@ -1,4 +1,43 @@
 -------------------------------------------------------------------
+Fri May  1 11:59:58 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 76.0
+  * Lockwise improvements
+  * Improvements in Picture-in-Picture feature
+  * Support Audio Worklets
+  MFSA-2020-16 (bsc#1171186)
+  * CVE-2020-12387 (bmo#1545345)
+    Use-after-free during worker shutdown
+  * CVE-2020-12388 (bmo#1618911)
+    Sandbox escape with improperly guarded Access Tokens
+  * CVE-2020-12389 (bmo#1554110)
+    Sandbox escape with improperly separated process types
+  * CVE-2020-6831 (bmo#1632241)
+    Buffer overflow in SCTP chunk input validation
+  * CVE-2020-12390 (bmo#1141959)
+    Incorrect serialization of nsIPrincipal.origin for IPv6 addresses
+  * CVE-2020-12391 (bmo#1457100)
+    Content-Security-Policy bypass using object elements
+  * CVE-2020-12392 (bmo#1614468)
+    Arbitrary local file access with 'Copy as cURL'
+  * CVE-2020-12393 (bmo#1615471)
+    Devtools' 'Copy as cURL' feature did not fully escape
+    website-controlled data, potentially leading to command injection
+  * CVE-2020-12394 (bmo#1628288)
+    URL spoofing in location bar when unfocussed
+  * CVE-2020-12395 (bmo#1595886, bmo#1611482, bmo#1614704, bmo#1624098,
+    bmo#1625749, bmo#1626382, bmo#1628076, bmo#1631508)
+    Memory safety bugs fixed in Firefox 76 and Firefox ESR 68.8
+  * CVE-2020-12396 (bmo#1339601, bmo#1611938, bmo#1620488,
+    bmo#1622291, bmo#1627644)
+    Memory safety bugs fixed in Firefox 76
+- requires
+  * NSS >= 3.51.1
+  * nasm >= 2.14
+- removed obsolete patch mozilla-bmo1622013.patch
+- fix URI creation for KDE file selector integration (boo#1160331)
+
+-------------------------------------------------------------------
 Tue Apr  7 12:18:27 UTC 2020 - Wolfgang Rosenauer <wr@rosenauer.org>
 
 - Mozilla Firefox 75.0
diff --git a/packages/m/MozillaFirefox/MozillaFirefox.spec b/packages/m/MozillaFirefox/MozillaFirefox.spec
index 71f01d5..9b5963f 100644
--- a/packages/m/MozillaFirefox/MozillaFirefox.spec
+++ b/packages/m/MozillaFirefox/MozillaFirefox.spec
@@ -18,9 +18,9 @@
 
 
 # changed with every update
-%define major          75
+%define major          76
 %define mainver        %major.0
-%define orig_version   75.0
+%define orig_version   76.0
 %define orig_suffix    %{nil}
 %define update_channel release
 %define branding       1
@@ -84,8 +84,8 @@ BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
 BuildRequires:  mozilla-nspr-devel >= 4.25
-BuildRequires:  mozilla-nss-devel >= 3.51
-BuildRequires:  nasm >= 2.13
+BuildRequires:  mozilla-nss-devel >= 3.51.1
+BuildRequires:  nasm >= 2.14
 BuildRequires:  nodejs10 >= 10.19.0
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
@@ -186,7 +186,6 @@ Patch19:        mozilla-bmo1512162.patch
 Patch20:        mozilla-fix-top-level-asm.patch
 Patch21:        mozilla-bmo1504834-part4.patch
 Patch22:        mozilla-bmo849632.patch
-Patch23:        mozilla-bmo1622013.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -322,7 +321,6 @@ cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
 %patch20 -p1
 %patch21 -p1
 %patch22 -p1
-%patch23 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
@@ -662,7 +660,6 @@ exit 0
 %{progdir}/browser/defaults
 %{progdir}/browser/features/
 %{progdir}/browser/chrome/icons
-%{progdir}/browser/blocklist.xml
 %{progdir}/browser/omni.ja
 %dir %{progdir}/distribution/
 %{progdir}/distribution/extensions/
diff --git a/packages/m/MozillaFirefox/firefox-75.0.source.tar.xz b/packages/m/MozillaFirefox/firefox-75.0.source.tar.xz
deleted file mode 120000
index 4a27654..0000000
--- a/packages/m/MozillaFirefox/firefox-75.0.source.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeiecrgjkh3ti35btsh23vxefxg6dp2d3kgtifywhkkn4y5llkr6kdm
\ No newline at end of file
diff --git a/packages/m/MozillaFirefox/firefox-75.0.source.tar.xz.asc b/packages/m/MozillaFirefox/firefox-75.0.source.tar.xz.asc
deleted file mode 100644
index 740fb4f..0000000
--- a/packages/m/MozillaFirefox/firefox-75.0.source.tar.xz.asc
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl6HkaUACgkQ8aZmj7t9
-Vy4dmg//UdZoIejlXG67lkOdFnVYDJmBnQN4481u6hntUxR9VCO8LDx+1PdRbcz+
-CByteJN+UECuPcw2A0ZHNeya7ea6iE5u+XkvZTw0Ch1dNGYdz1gI+m1hLm4KcGsk
-EDXCwFy3JufPujuVnWzhmEtpsHVIwLV+KdyXBiO8cdyNQ6pmrDg+DfoGfpVyAIi7
-4SYG7pdn82xVYM5zubo8RBMMMWqIg4DcOxc8zV/lc1ODDqGEzpOolKo55oKmMfE/
-4amJy+b/XgAfrPHETISF6dQueJoSsNGlpcEya++cUfjTPOAhYXYV6V0+hJAKhTo/
-u+lT9rNfidR3Y5BaRyZIVzzZURVfFN4ExXC9IB1hSc5OWQ86uOA6ZGvoV4KLEEk2
-awlrKpaZx7p7bEiuJ2DrB92Karaln8qaUKCzaPWRWouGEuu/4f1cv1PO/Svq6vJL
-FYpRSZK6zezMyhtzIoVz2cD+FWj8fV/10VbRgEDub6CnnaBc6QMfaMIUkA9ppkfP
-phwzNflcJ+oGOpBrcTNHfdMpvcMPrZXVFlX5BAvjcD//fxxzjEd+rCe9KT8rohvp
-rkuQuCU2CYijSLCaZy5QRzbCFcyIdR5n0GLBRMLVc/VftdKAcIaVNPWMTLDHK6Ch
-uJ7XnFiQL+XYoqh3BbhgoZatqpkZkI1eblK0Rhkagd/A2AcbC74=
-=fw6a
------END PGP SIGNATURE-----
diff --git a/packages/m/MozillaFirefox/firefox-76.0.source.tar.xz b/packages/m/MozillaFirefox/firefox-76.0.source.tar.xz
new file mode 120000
index 0000000..7d9c087
--- /dev/null
+++ b/packages/m/MozillaFirefox/firefox-76.0.source.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeig3d7b2izdpcb6e3zfnwqjv2geqxzqt4srq6hgynomhlabbcqpgfa
\ No newline at end of file
diff --git a/packages/m/MozillaFirefox/firefox-76.0.source.tar.xz.asc b/packages/m/MozillaFirefox/firefox-76.0.source.tar.xz.asc
new file mode 100644
index 0000000..c3e6b99
--- /dev/null
+++ b/packages/m/MozillaFirefox/firefox-76.0.source.tar.xz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl6p+MgACgkQ8aZmj7t9
+Vy6+XQ/+IPcI/KuOE8DdYKvY2o/gPgzP4mJlhhfJyKwEf0Uk2WzA2oe0GU/PuB4Y
+qvqoHUr4RnMN4D5K+TyMu7HdIhPbGyedgMdSp3u6Uyb2tGYHq2A8+RgV62AYovpb
+p5KrVIaZLCNjK4evXxybSioQv9zA2lwn6zUyVWJuHPYl77fk0/XwG7Y7PmORgsta
+AAfkf38HJIX0+5D8wKi98B4+BKFF5kfzi7nNkOHMjJgL+4qacmy0ieSbvoEq0R4f
+JYKVxd4me/filS8mQZV8ebtOPBME+/GPTsl3kB9iAuHXEZyrhP6PN4CYG1UDDgUZ
+eqKB9vBR2Dq9AVUSiKV9+U2ftgsTTTgkoUCCvFH7J61fDYs1aeRHtjj48lGCZDZt
+K71HcPysOR1Y88mwL7ND9ZH0V/83Iw+TasuSOcBkO8OcHY12/s0b9epa8tgC6Imp
+/vN3nusF4aToYcAfKknj/J9ryQvIHYg+6lUJYYo8ipsfgOYuKHDSUlLXx3Sh1g8h
+Xe+hiouNY8ru44oGTPEueeMS/k41rkY+u/Ikbe9NwmArgH8mpMkAqN2Owa23pEeC
+o9ghJ3zapFWUd2LK1W/5foNNW+PbWU35lL0HlhIvxI6GDMSFK7t0XPgK2QrKgHo+
+AA7PnIKD1RUkypNbCQEPn/LKZiCbilfLup/1PxGDK9eHNZJAnzc=
+=vxJf
+-----END PGP SIGNATURE-----
diff --git a/packages/m/MozillaFirefox/l10n-75.0.tar.xz b/packages/m/MozillaFirefox/l10n-75.0.tar.xz
deleted file mode 120000
index db5eca2..0000000
--- a/packages/m/MozillaFirefox/l10n-75.0.tar.xz
+++ /dev/null
@@ -1 +0,0 @@
-/ipfs/bafybeicnqwlxba2utqh7qwpjemfn5f2xwobdfxsbos2ruultafta56qagm
\ No newline at end of file
diff --git a/packages/m/MozillaFirefox/l10n-76.0.tar.xz b/packages/m/MozillaFirefox/l10n-76.0.tar.xz
new file mode 120000
index 0000000..9f15df6
--- /dev/null
+++ b/packages/m/MozillaFirefox/l10n-76.0.tar.xz
@@ -0,0 +1 @@
+/ipfs/bafybeichggilesg3cgszcux67mj2d2psh57uhfag26whzdhcgitx6ppvjm
\ No newline at end of file
diff --git a/packages/m/MozillaFirefox/mozilla-bmo1463035.patch b/packages/m/MozillaFirefox/mozilla-bmo1463035.patch
index b5cf2e7..a3c1f71 100644
--- a/packages/m/MozillaFirefox/mozilla-bmo1463035.patch
+++ b/packages/m/MozillaFirefox/mozilla-bmo1463035.patch
@@ -3,7 +3,7 @@
 # User Mike Hommey <mh+mozilla@glandium.org>
 # Date 1526871862 -32400
 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
-# Parent  71b9d492b739602dbfe713fd4de3205e9d485f18
+# Parent  0b7e1398ca2e15e27da93144ba9fb30db38367b1
 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
 
 For some reason, GNU as is not happy with the assembly generated after
@@ -12,30 +12,6 @@ bug 1238661 anymore on Debian armel.
 OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
 workaround anymore, so let's just kill it.
 
-diff --git a/mfbt/moz.build b/mfbt/moz.build
---- a/mfbt/moz.build
-+++ b/mfbt/moz.build
-@@ -131,20 +131,16 @@ EXPORTS["double-conversion"] = [
- LOCAL_INCLUDES += [
-     '/mfbt/double-conversion',
- ]
- 
- if CONFIG['OS_ARCH'] == 'WINNT':
-     EXPORTS.mozilla += [
-         'WindowsVersion.h',
-     ]
--elif CONFIG['OS_ARCH'] == 'Linux':
--    EXPORTS.mozilla += [
--        'LinuxSignal.h',
--    ]
- 
- UNIFIED_SOURCES += [
-     'Assertions.cpp',
-     'ChaosMode.cpp',
-     'double-conversion/double-conversion/bignum-dtoa.cc',
-     'double-conversion/double-conversion/bignum.cc',
-     'double-conversion/double-conversion/cached-powers.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
@@ -79,25 +55,7 @@ diff --git a/mozglue/baseprofiler/core/platform-linux-android.cpp b/mozglue/base
 diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
 --- a/tools/profiler/core/platform-linux-android.cpp
 +++ b/tools/profiler/core/platform-linux-android.cpp
-@@ -55,17 +55,16 @@
- #ifdef __GLIBC__
- #  include <execinfo.h>  // backtrace, backtrace_symbols
- #endif                   // def __GLIBC__
- #include <strings.h>     // index
- #include <errno.h>
- #include <stdarg.h>
- 
- #include "prenv.h"
--#include "mozilla/LinuxSignal.h"
- #include "mozilla/PodOperations.h"
- #include "mozilla/DebugOnly.h"
- 
- #include <string.h>
- #include <list>
- 
- using namespace mozilla;
- 
-@@ -257,17 +256,17 @@ Sampler::Sampler(PSLockRef aLock)
+@@ -258,17 +258,17 @@ Sampler::Sampler(PSLockRef aLock)
  
    // NOTE: We don't initialize LUL here, instead initializing it in
    // SamplerThread's constructor. This is because with the
diff --git a/packages/m/MozillaFirefox/mozilla-bmo1622013.patch b/packages/m/MozillaFirefox/mozilla-bmo1622013.patch
deleted file mode 100644
index 08c7b91..0000000
--- a/packages/m/MozillaFirefox/mozilla-bmo1622013.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From be45ba20c33a8a247115e79fd4c1f3295d652ba3 Mon Sep 17 00:00:00 2001
-From: Jan Beich <jbeich@FreeBSD.org>
-Date: Mon, 23 Mar 2020 08:20:22 +0000
-Subject: [PATCH] Bug 1622013 - Build *_mmx.c files with -mmmx in bundled libvpx.
-
-diff --git a/media/libvpx/moz.build b/media/libvpx/moz.build
-index f3845941fe4de..47853d43408b7 100644
---- a/media/libvpx/moz.build
-+++ b/media/libvpx/moz.build
-@@ -97,16 +97,18 @@ if CONFIG['OS_TARGET'] == 'Android':
-     DEFINES['__linux__'] = True
- 
-     SOURCES += [
-         '%%%s/sources/android/cpufeatures/cpu-features.c' % CONFIG['ANDROID_NDK'],
-     ]
- 
- for f in SOURCES:
-     if f.endswith('.c'):
-+        if 'mmx.c' in f:
-+            SOURCES[f].flags += ['-mmmx']
-         if 'sse2.c' in f:
-             SOURCES[f].flags += CONFIG['SSE2_FLAGS']
-         if 'ssse3.c' in f:
-             SOURCES[f].flags += ['-mssse3']
-         if 'sse4.c' in f:
-             SOURCES[f].flags += ['-msse4.1']
-         if 'avx.c' in f:
-             SOURCES[f].flags += ['-mavx']
diff --git a/packages/m/MozillaFirefox/mozilla-kde.patch b/packages/m/MozillaFirefox/mozilla-kde.patch
index 2dd1cd6..07d676b 100644
--- a/packages/m/MozillaFirefox/mozilla-kde.patch
+++ b/packages/m/MozillaFirefox/mozilla-kde.patch
@@ -3,7 +3,7 @@
 # Date 1559294891 -7200
 #      Fri May 31 11:28:11 2019 +0200
 # Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
-# Parent  fbac8545cf6f461803505c2d1f57531798dee96a
+# Parent  04c2cbd396b26a8e08980304a436e5e12fb6a205
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -31,7 +31,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
  #ifdef MOZ_MEMORY
  #  include "mozmemory.h"
  #endif
-@@ -4535,25 +4536,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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
  
    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4599,17 +4612,17 @@ nsresult Preferences::InitInitialObjects
+@@ -4603,17 +4616,17 @@ nsresult Preferences::InitInitialObjects
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -87,7 +87,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
      SetupTelemetryPref();
    }
  
-   NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID, nullptr,
+   if (aIsStartup) {
 diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
 --- a/modules/libpref/moz.build
 +++ b/modules/libpref/moz.build
@@ -175,7 +175,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
 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
-@@ -1209,36 +1209,66 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1205,36 +1205,66 @@ nsUnknownContentTypeDialog.prototype = {
          params.handlerApp &&
          params.handlerApp.executable &&
          params.handlerApp.executable.isFile()
@@ -1104,7 +1104,7 @@ new file mode 100644
 diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
 --- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
 +++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
-@@ -1,47 +1,50 @@
+@@ -1,46 +1,49 @@
  /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*-
   *
   * This Source Code Form is subject to the terms of the Mozilla Public
@@ -1117,7 +1117,6 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
  #include "nsIGIOService.h"
  #include "nsNetCID.h"
  #include "nsIIOService.h"
- #include "nsAutoPtr.h"
  #ifdef MOZ_ENABLE_DBUS
  #  include "nsDBusHandlerApp.h"
  #endif
@@ -1160,7 +1159,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
    if (*_retval) return NS_OK;
  
    return NS_OK;
-@@ -51,16 +54,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi
+@@ -50,16 +53,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi
    // if mDefaultApplication is set, it means the application has been set from
    // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
    // give the GNOME answer.
@@ -1216,7 +1215,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
  #include "nsIFileStreams.h"
  #include "nsILineInputStream.h"
  #include "nsIFile.h"
-@@ -1024,17 +1024,17 @@ nsresult nsOSHelperAppService::GetHandle
+@@ -1023,17 +1023,17 @@ nsresult nsOSHelperAppService::GetHandle
  
  nsresult nsOSHelperAppService::OSProtocolHandlerExists(
      const char* aProtocolScheme, bool* aHandlerExists) {
@@ -1235,7 +1234,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
      nsCOMPtr<nsIHandlerService> handlerSvc =
          do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
      if (NS_SUCCEEDED(rv) && handlerSvc) {
-@@ -1044,17 +1044,17 @@ nsresult nsOSHelperAppService::OSProtoco
+@@ -1043,17 +1043,17 @@ nsresult nsOSHelperAppService::OSProtoco
    }
  
    return rv;
@@ -1254,7 +1253,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
  
  NS_IMETHODIMP nsOSHelperAppService::IsCurrentAppOSDefaultForProtocol(
      const nsACString& aScheme, bool* _retval) {
-@@ -1141,17 +1141,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
+@@ -1140,17 +1140,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
    nsresult rv =
        LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
                                 minorType, mime_types_description, true);
@@ -1273,7 +1272,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
  
      rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
                                    minorType, mime_types_description, false);
-@@ -1253,17 +1253,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
+@@ -1252,17 +1252,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
  
    // Now look up our extensions
    nsAutoString extensions, mime_types_description;
@@ -1333,7 +1332,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  #include "nsGtkUtils.h"
  #include "nsIFileURL.h"
  #include "nsIGIOService.h"
-@@ -20,16 +21,17 @@
+@@ -20,16 +21,18 @@
  #include "nsArrayEnumerator.h"
  #include "nsMemory.h"
  #include "nsEnumeratorUtils.h"
@@ -1343,6 +1342,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  
  #include "nsFilePicker.h"
 +#include "nsKDEUtils.h"
++#include "nsURLHelper.h"
  
  using namespace mozilla;
  
@@ -1351,7 +1351,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  #define MAX_PREVIEW_SOURCE_SIZE 4096
  
  nsIFile* nsFilePicker::mPrevDisplayDirectory = nullptr;
-@@ -227,17 +229,19 @@ nsFilePicker::AppendFilters(int32_t aFil
+@@ -227,17 +230,19 @@ nsFilePicker::AppendFilters(int32_t aFil
    mAllowURLs = !!(aFilterMask & filterAllowURLs);
    return nsBaseFilePicker::AppendFilters(aFilterMask);
  }
@@ -1372,7 +1372,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  
    mFilters.AppendElement(filter);
    mFilterNames.AppendElement(name);
-@@ -337,16 +341,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
+@@ -337,16 +342,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
    return NS_OK;
  }
  
@@ -1412,7 +1412,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
    const gchar* accept_button;
-@@ -571,16 +598,240 @@ void nsFilePicker::Done(void* file_choos
+@@ -571,16 +599,244 @@ void nsFilePicker::Done(void* file_choos
      mCallback->Done(result);
      mCallback = nullptr;
    } else {
@@ -1578,8 +1578,12 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 +                mFileURL = output[ 0 ];
 +            else // GetFile() actually requires it to be url even for local files :-/
 +                {
-+                mFileURL = nsCString( "file://" );
-+                mFileURL.Append( output[ 0 ] );
++                nsCOMPtr<nsIFile> localfile;
++                nsresult rv = NS_NewNativeLocalFile( output[ 0 ],
++                                   PR_FALSE,
++                                   getter_AddRefs(localfile));
++                if (NS_SUCCEEDED(rv))
++                  rv = net_GetURLSpecFromActualFile(localfile, mFileURL);
 +                }
 +            }
 +  // Remember last used directory.
diff --git a/packages/m/MozillaFirefox/tar_stamps b/packages/m/MozillaFirefox/tar_stamps
index 7170268..199b3ee 100644
--- a/packages/m/MozillaFirefox/tar_stamps
+++ b/packages/m/MozillaFirefox/tar_stamps
@@ -1,11 +1,11 @@
 PRODUCT="firefox"
 CHANNEL="release"
-VERSION="75.0"
+VERSION="76.0"
 VERSION_SUFFIX=""
-PREV_VERSION="75.0"
+PREV_VERSION="76.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="6200ca9b300670ec069cdbf6e4f05e6a0bca46f1"
-RELEASE_TIMESTAMP="20200403170909"
+RELEASE_TAG="cf326ad0bb298ee24b1abd9b1cb6513af4fa04ba"
+RELEASE_TIMESTAMP="20200429185419"