67.0 release firefox67 tip
authorWolfgang Rosenauer <wr@rosenauer.org>
Wed, 15 May 2019 19:43:42 +0200
branchfirefox67
changeset 1093 3942c205588b
parent 1092 5d7b22f6b177
67.0 release
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/create-tar.sh
MozillaFirefox/source-stamp.txt
firefox-kde.patch
mozilla-aarch64-startup-crash.patch
mozilla-fix-aarch64-libopus.patch
mozilla-kde.patch
mozilla-nongnome-proxies.patch
--- a/MozillaFirefox/MozillaFirefox.changes	Tue May 14 12:12:16 2019 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Wed May 15 19:43:42 2019 +0200
@@ -1,4 +1,33 @@
 -------------------------------------------------------------------
+Tue May 14 10:34:08 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
+
+- Mozilla Firefox 67.0
+  * Firefox 67 will be able to run different Firefox installs side by side
+    https://blog.nightly.mozilla.org/2019/01/14/moving-to-a-profile-per-install-architecture/
+  * Tabs can now be pinned from the Page Actions menu in the address bar
+  * Users can block known cryptominers and fingerprinters in the
+    Custom settings or their Content Blocking preferences
+  * The Import Data from Another Browser feature is now also available
+    from the File menu
+  * Firefox will now protect you against running older versions which
+    can lead to data corruption and stability issues
+  * Easier access to your list of saved logins from the main menu and
+    login autocomplete
+  * We’ve added a toolbar menu for your Firefox Account to provide more
+    transparency for when you are synced, sharing data across devices
+    and with Firefox. Personalize the appearance of the menu with your
+    own avatar
+  * Enable FIDO U2F API, and permit registrations for Google Accounts
+  * Enabled AV1 support on Linux
+- requires
+  * rust/cargo >= 1.32
+  * mozilla-nspr >= 4.21
+  * mozilla-nss >= 3.43
+  * rust-cbindgen >= 0.8.2
+- rebased patches
+- KDE integration for default browser detection is broken in this revision
+
+-------------------------------------------------------------------
 Fri May 10 10:30:05 UTC 2019 - Manfred Hollstein <manfred.h@gmx.net>
 
 - Mozilla Firefox 66.0.5
--- a/MozillaFirefox/MozillaFirefox.spec	Tue May 14 12:12:16 2019 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Wed May 15 19:43:42 2019 +0200
@@ -18,13 +18,13 @@
 
 
 # changed with every update
-%define major          66
-%define mainver        %major.0.5
-%define orig_version   66.0.5
+%define major          67
+%define mainver        %major.0
+%define orig_version   67.0
 %define orig_suffix    %{nil}
 %define update_channel release
 %define branding       1
-%define releasedate    20190507012018
+%define releasedate    20190513195729
 %define source_prefix  firefox-%{orig_version}
 
 # always build with GCC as SUSE Security Team requires that
@@ -69,7 +69,7 @@
 %else
 BuildRequires:  gcc-c++
 %endif
-BuildRequires:  cargo >= 1.31
+BuildRequires:  cargo >= 1.32
 BuildRequires:  libXcomposite-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libidl-devel
@@ -77,15 +77,15 @@
 BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
-BuildRequires:  mozilla-nspr-devel >= 4.20
-BuildRequires:  mozilla-nss-devel >= 3.42.1
+BuildRequires:  mozilla-nspr-devel >= 4.21
+BuildRequires:  mozilla-nss-devel >= 3.43
 BuildRequires:  nasm >= 2.13
 BuildRequires:  nodejs >= 8.11
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
 BuildRequires:  python3 >= 3.5
-BuildRequires:  rust >= 1.31
-BuildRequires:  rust-cbindgen >= 0.6.8
+BuildRequires:  rust >= 1.32
+BuildRequires:  rust-cbindgen >= 0.8.2
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
 BuildRequires:  update-desktop-files
--- a/MozillaFirefox/create-tar.sh	Tue May 14 12:12:16 2019 +0200
+++ b/MozillaFirefox/create-tar.sh	Wed May 15 19:43:42 2019 +0200
@@ -7,8 +7,8 @@
 
 CHANNEL="release"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="96d2576eae4baf0aa961b4f5a1dadd26bb8ee823"
-VERSION="66.0.5"
+RELEASE_TAG="3126a5c2560c34a8acb33d62e54b2be0f704a190"
+VERSION="67.0"
 VERSION_SUFFIX=""
 LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
 
--- a/MozillaFirefox/source-stamp.txt	Tue May 14 12:12:16 2019 +0200
+++ b/MozillaFirefox/source-stamp.txt	Wed May 15 19:43:42 2019 +0200
@@ -1,2 +1,2 @@
-REV=96d2576eae4b
+REV=3126a5c2560c34a8acb33d62e54b2be0f704a190
 REPO=http://hg.mozilla.org/releases/mozilla-release
--- a/firefox-kde.patch	Tue May 14 12:12:16 2019 +0200
+++ b/firefox-kde.patch	Wed May 15 19:43:42 2019 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent  87262204aa945e6fce864193d103a93659bf76f6
+# Parent  18632e53d0b0c4c03f254ca2dbbeac8f48ec6f5c
 
 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
 new file mode 100644
 --- /dev/null
 +++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1408 @@
+@@ -0,0 +1,1404 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -80,7 +80,6 @@
 +        retargetdocumentfocus="urlbar"
 +        persist="screenX screenY width height sizemode"
 +#ifdef BROWSER_XHTML
-+        hidden="true"
 +        mozpersist=""
 +#endif
 +        >
@@ -90,11 +89,7 @@
 +# that they can be shared with macWindow.inc.xul.
 +#include global-scripts.inc
 +
-+<script type="application/javascript"
-+#ifdef BROWSER_XHTML
-+xmlns="http://www.w3.org/1999/xhtml"
-+#endif
-+>
++<script type="application/javascript">
 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this);
@@ -111,23 +106,16 @@
 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
 +  Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
++  Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
 +  Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
 +
 +  window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
 +  window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
 +  window.onclose = WindowIsClosing;
 +
-+#ifdef BROWSER_XHTML
-+  window.addEventListener("readystatechange", () => {
-+    // We initially hide the window to prevent layouts during parse. This lets us
-+    // avoid accidental XBL construction and better match browser.xul (see Bug 1497975).
-+    gBrowserInit.onBeforeInitialXULLayout();
-+    document.documentElement.removeAttribute("hidden");
-+  }, { once: true, capture: true });
-+#else
 +  window.addEventListener("MozBeforeInitialXULLayout",
 +    gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
-+#endif
++
 +  // The listener of DOMContentLoaded must be set on window, rather than
 +  // document, because the window can go away before the event is fired.
 +  // In that case, we don't want to initialize anything, otherwise we
@@ -244,7 +232,8 @@
 +
 +    <!-- for search and content formfill/pw manager -->
 +
-+    <panel type="autocomplete-richlistbox"
++    <panel is="autocomplete-richlistbox-popup"
++           type="autocomplete-richlistbox"
 +           id="PopupAutoComplete"
 +           role="group"
 +           noautofocus="true"
@@ -254,7 +243,8 @@
 +           nomaxresults="true" />
 +
 +    <!-- for search with one-off buttons -->
-+    <panel type="autocomplete-richlistbox"
++    <panel is="search-autocomplete-richlistbox-popup"
++           type="autocomplete-richlistbox"
 +           id="PopupSearchAutoComplete"
 +           role="group"
 +           noautofocus="true"
@@ -270,27 +260,6 @@
 +           level="parent"
 +           overflowpadding="15" />
 +
-+    <!-- for url bar autocomplete -->
-+    <panel id="urlbar-results"
-+           role="group"
-+           noautofocus="true"
-+           hidden="true"
-+           flip="none"
-+           consumeoutsideclicks="never"
-+           norolluponanchor="true"
-+           level="parent">
-+      <html:div class="urlbarView-body-outer">
-+        <html:div class="urlbarView-body-inner">
-+          <!-- TODO: add search suggestions notification -->
-+          <html:div class="urlbarView-results"/>
-+        </html:div>
-+      </html:div>
-+      <hbox class="search-one-offs"
-+            compact="true"
-+            includecurrentengine="true"
-+            disabletab="true"/>
-+    </panel>
-+
 +    <!-- for date/time picker. consumeoutsideclicks is set to never, so that
 +         clicks on the anchored input box are never consumed. -->
 +    <panel id="DateTimePickerPanel"
@@ -581,6 +550,8 @@
 +           position="bottomcenter topright"
 +           tabspecific="true"
 +           noautofocus="true"
++           pinTab-title="&pinTab.label;"
++           unpinTab-title="&unpinTab.label;"
 +           pocket-title="&saveToPocketCmd.label;"
 +           copyURL-title="&pageAction.copyLink.label;"
 +           emailLink-title="&emailPageCmd.label;"
@@ -607,9 +578,12 @@
 +           tabspecific="true"
 +           noautofocus="true">
 +      <hbox id="confirmation-hint-checkmark-animation-container">
-+        <image id="confirmation-hint-checkmark-image"/>
++       <image id="confirmation-hint-checkmark-image"/>
 +      </hbox>
-+      <label id="confirmation-hint-message"/>
++      <vbox id="confirmation-hint-message-container">
++       <label id="confirmation-hint-message"/>
++       <label id="confirmation-hint-description"/>
++      </vbox>
 +    </panel>
 +
 +    <menupopup id="pageActionContextMenu"
@@ -843,6 +817,7 @@
 +             overflowpanel="widget-overflow"
 +             context="toolbar-context-menu">
 +
++      <toolbartabstop/>
 +      <hbox id="nav-bar-customization-target" flex="1">
 +        <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
 +                       label="&backCmd.label;"
@@ -896,11 +871,13 @@
 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
 +                     removable="false"
 +                     class="chromeclass-location" overflows="false">
++            <toolbartabstop/>
 +            <textbox id="urlbar" flex="1"
 +                     placeholder="&urlbar.placeholder2;"
 +                     defaultPlaceholder="&urlbar.placeholder2;"
 +                     focused="true"
 +                     type="autocomplete"
++                     quantumbar="false"
 +                     autocompletesearch="unifiedcomplete"
 +                     autocompletesearchparam="enable-actions"
 +                     autocompletepopup="PopupAutoCompleteRichResult"
@@ -1015,6 +992,7 @@
 +                <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
 +              </box>
 +              <hbox id="page-action-buttons" context="pageActionContextMenu">
++                <toolbartabstop/>
 +                <hbox id="contextual-feature-recommendation" role="button" hidden="true">
 +                  <hbox id="cfr-label-container">
 +                    <label id="cfr-label"/>
@@ -1072,6 +1050,7 @@
 +                </hbox>
 +              </hbox>
 +            </textbox>
++            <toolbartabstop/>
 +        </toolbaritem>
 +
 +        <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
@@ -1083,6 +1062,7 @@
 +                       class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
 +                       key="key_openDownloads"
 +                       onmousedown="DownloadsIndicatorView.onCommand(event);"
++                       onkeypress="DownloadsIndicatorView.onCommand(event);"
 +                       ondrop="DownloadsIndicatorView.onDrop(event);"
 +                       ondragover="DownloadsIndicatorView.onDragOver(event);"
 +                       ondragenter="DownloadsIndicatorView.onDragOver(event);"
@@ -1115,6 +1095,19 @@
 +                       tooltiptext="&libraryButton.tooltip;"
 +                       label="&places.library.title;"/>
 +
++        <toolbarbutton id="fxa-toolbar-menu-button" class="toolbarbutton-1 badged-button chromeclass-toolbar-additional subviewbutton-nav"
++                       onmousedown="gSync.toggleAccountPanel('PanelUI-fxa', event)"
++                       onkeypress="gSync.toggleAccountPanel('PanelUI-fxa', event)"
++                       consumeanchor="fxa-toolbar-menu-button"
++                       closemenu="none"
++                       label="&fxa.menu.firefoxAccount;"
++                       tooltiptext="&fxa.menu.firefoxAccount;"
++                       cui-areatype="toolbar"
++                       removable="true">
++                       <vbox>
++                        <image id="fxa-avatar-image"/>
++                       </vbox>
++        </toolbarbutton>
 +      </hbox>
 +
 +      <toolbarbutton id="nav-bar-overflow-button"
@@ -1167,6 +1160,7 @@
 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
 +             collapsed="true"
 +             customizable="true">
++      <toolbartabstop skipintoolbarset="true"/>
 +      <toolbaritem id="personal-bookmarks"
 +                   title="&bookmarksToolbarItem.label;"
 +                   cui-areatype="toolbar"
@@ -1336,7 +1330,9 @@
 +                   align="center"
 +                   flex="100"
 +                   persist="width">
++        <toolbartabstop/>
 +        <searchbar id="searchbar" flex="1"/>
++        <toolbartabstop/>
 +      </toolbaritem>
 +    </toolbarpalette>
 +  </toolbox>
@@ -1436,70 +1432,10 @@
          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
          content/browser/browser-compacttheme.js       (content/browser-compacttheme.js)
          content/browser/browser-contentblocking.js    (content/browser-contentblocking.js)
-diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
---- a/browser/components/build/nsModule.cpp
-+++ b/browser/components/build/nsModule.cpp
-@@ -8,17 +8,17 @@
- #include "nsBrowserCompsCID.h"
- #include "DirectoryProvider.h"
- 
- #if defined(XP_WIN)
- #  include "nsWindowsShellService.h"
- #elif defined(XP_MACOSX)
- #  include "nsMacShellService.h"
- #elif defined(MOZ_WIDGET_GTK)
--#  include "nsGNOMEShellService.h"
-+#  include "nsUnixShellService.h"
- #endif
- #include "nsIToolkitShellService.h"
- 
- #if defined(MOZ_WIDGET_COCOA)
- #  include "nsMacAttribution.h"
- #endif
- 
- #if defined(XP_WIN)
-@@ -34,18 +34,16 @@ using namespace mozilla::browser;
- 
- /////////////////////////////////////////////////////////////////////////////
- 
- NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindowsShellService)
- #elif defined(XP_MACOSX)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
--#elif defined(MOZ_WIDGET_GTK)
--NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
- #endif
- 
- #if defined(MOZ_WIDGET_COCOA)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService)
- #endif
- 
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
-@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER
- #endif
- 
- static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
-     // clang-format off
-     { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
- #if defined(XP_WIN)
-     { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
- #elif defined(MOZ_WIDGET_GTK)
--    { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
-+    { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
- #elif defined(XP_MACOSX)
-     { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
- #endif
-     { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
- #if defined(XP_WIN)
-     { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
- #endif
- #if defined(MOZ_WIDGET_COCOA)
 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
-@@ -289,16 +289,23 @@ var gMainPane = {
+@@ -288,16 +288,23 @@ var gMainPane = {
            this._backoffIndex++ : backoffTimes.length - 1]);
        };
  
@@ -1523,7 +1459,7 @@
      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  
      this.updateDefaultPerformanceSettingsPref();
-@@ -1021,16 +1028,27 @@ var gMainPane = {
+@@ -1025,16 +1032,27 @@ var gMainPane = {
        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
        this._backoffIndex = 0;
  
@@ -1815,7 +1751,7 @@
 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
 --- a/browser/installer/package-manifest.in
 +++ b/browser/installer/package-manifest.in
-@@ -452,16 +452,18 @@
+@@ -286,16 +286,18 @@
  @RESPATH@/browser/defaults/settings/pinning
  @RESPATH@/browser/defaults/settings/main
  
--- a/mozilla-aarch64-startup-crash.patch	Tue May 14 12:12:16 2019 +0200
+++ b/mozilla-aarch64-startup-crash.patch	Wed May 15 19:43:42 2019 +0200
@@ -1,12 +1,12 @@
 # HG changeset patch
 # Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10
-# Parent  7b5f6b68a8963228f738b803177f937481e19745
+# Parent  6dd2311796da4e15115fd04b181313ae62754317
 Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage
 
 diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
 --- a/netwerk/base/nsIOService.cpp
 +++ b/netwerk/base/nsIOService.cpp
-@@ -842,17 +842,23 @@ nsresult nsIOService::NewChannelFromURIW
+@@ -975,17 +975,23 @@ nsresult nsIOService::NewChannelFromURIW
              "doesn't support nsIUploadChannel2. An extension has "
              "supplied a non-functional http protocol handler. This will "
              "break behavior and in future releases not work at all.");
@@ -26,7 +26,7 @@
  }
  
  NS_IMETHODIMP
- nsIOService::NewChannelFromURIWithProxyFlags2(
+ nsIOService::NewChannelFromURIWithProxyFlags(
      nsIURI *aURI, nsIURI *aProxyURI, uint32_t aProxyFlags,
      nsINode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
      nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags,
--- a/mozilla-fix-aarch64-libopus.patch	Tue May 14 12:12:16 2019 +0200
+++ b/mozilla-fix-aarch64-libopus.patch	Wed May 15 19:43:42 2019 +0200
@@ -1,6 +1,15 @@
---- firefox-66.0.1.orig/media/libopus/silk/arm/arm_silk_map.c	2019-03-22 06:05:57.000000000 +0100
-+++ firefox-66.0.1/media/libopus/silk/arm/arm_silk_map.c	2019-03-28 09:35:28.604948775 +0100
-@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
+# HG changeset patch
+# Parent  1317782cd47f1d1f2410712a1dd283b305393eae
+
+diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
+--- a/media/libopus/silk/arm/arm_silk_map.c
++++ b/media/libopus/silk/arm/arm_silk_map.c
+@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+ 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.
+ ***********************************************************************/
+ #ifdef HAVE_CONFIG_H
  # include "config.h"
  #endif
  
@@ -9,3 +18,8 @@
  #include "NSQ.h"
  #include "SigProc_FIX.h"
  
+ #if defined(OPUS_HAVE_RTCD)
+ 
+ # if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
+  !defined(OPUS_ARM_PRESUME_NEON_INTR))
+ 
--- a/mozilla-kde.patch	Tue May 14 12:12:16 2019 +0200
+++ b/mozilla-kde.patch	Wed May 15 19:43:42 2019 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  f55e33a10c2a23625826ef6f8dbe18d5a455d29e
+# Parent  cafacdb0b7c50666e5dcc927684a23e8733206a5
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -27,7 +27,7 @@
  #ifdef XP_WIN
  #  include "windows.h"
  #endif
-@@ -4467,25 +4468,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
+@@ -4493,25 +4494,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
    // application pref files for backwards compatibility.
    static const char* specialFiles[] = {
  #if defined(XP_MACOSX)
@@ -65,7 +65,7 @@
  
    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4533,17 +4546,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
+@@ -4559,17 +4572,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -97,21 +97,21 @@
  ]
  
 +LOCAL_INCLUDES += [
-+     '/toolkit/xre'
++    '/toolkit/xre'
 +]
 +
+ XPCOM_MANIFESTS += [
+     'components.conf',
+ ]
+ 
  include('/ipc/chromium/chromium-config.mozbuild')
  
  FINAL_LIBRARY = 'xul'
  
- DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
- DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
- if CONFIG['MOZ_ENABLE_WEBRENDER']:
-     DEFINES['MOZ_ENABLE_WEBRENDER'] = True
 diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
 --- a/python/mozbuild/mozpack/chrome/flags.py
 +++ b/python/mozbuild/mozpack/chrome/flags.py
-@@ -220,16 +220,17 @@ class Flags(OrderedDict):
+@@ -223,16 +223,17 @@ class Flags(OrderedDict):
          'contentaccessible': Flag,
          'os': StringFlag,
          'osversion': VersionFlag,
@@ -153,7 +153,7 @@
 diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
 --- a/toolkit/components/downloads/moz.build
 +++ b/toolkit/components/downloads/moz.build
-@@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [
+@@ -41,10 +41,14 @@ XPCOM_MANIFESTS += [
  
  if CONFIG['MOZ_PLACES']:
      EXTRA_JS_MODULES += [
@@ -171,25 +171,25 @@
 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -65,16 +65,18 @@ toolkit.jar:
+@@ -63,16 +63,18 @@ toolkit.jar:
+    content/global/widgets.css
+    content/global/bindings/autocomplete.xml    (widgets/autocomplete.xml)
     content/global/bindings/button.xml          (widgets/button.xml)
     content/global/bindings/calendar.js         (widgets/calendar.js)
-    content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
     content/global/bindings/datekeeper.js       (widgets/datekeeper.js)
     content/global/bindings/datepicker.js       (widgets/datepicker.js)
-    content/global/bindings/datetimebox.xml     (widgets/datetimebox.xml)
     content/global/bindings/datetimebox.css     (widgets/datetimebox.css)
  *  content/global/bindings/dialog.xml          (widgets/dialog.xml)
 +*  content/global/bindings/dialog-kde.xml      (widgets/dialog-kde.xml)
 +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
     content/global/bindings/general.xml         (widgets/general.xml)
     content/global/bindings/menu.xml            (widgets/menu.xml)
-    content/global/bindings/menulist.xml        (widgets/menulist.xml)
-    content/global/bindings/notification.xml    (widgets/notification.xml)
     content/global/bindings/popup.xml           (widgets/popup.xml)
     content/global/bindings/radio.xml           (widgets/radio.xml)
     content/global/bindings/richlistbox.xml     (widgets/richlistbox.xml)
     content/global/bindings/scrollbox.xml       (widgets/scrollbox.xml)
+    content/global/bindings/spinner.js          (widgets/spinner.js)
+    content/global/bindings/tabbox.xml          (widgets/tabbox.xml)
 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
 new file mode 100644
 --- /dev/null
@@ -702,10 +702,10 @@
 +  </binding>
 +
 +</bindings>
-diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
---- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
-+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = {
+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
+@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = {
  
        if (params.handlerApp &&
            params.handlerApp.executable &&
@@ -794,14 +794,14 @@
  #include "nsIURI.h"
 +#include "nsKDEUtils.h"
  
+ using namespace mozilla;
+ 
  class nsUnixSystemProxySettings final : public nsISystemProxySettings {
   public:
    NS_DECL_ISUPPORTS
    NS_DECL_NSISYSTEMPROXYSETTINGS
  
-   nsUnixSystemProxySettings() : mSchemeProxySettings(4) {}
-   nsresult Init();
-@@ -42,16 +43,18 @@ class nsUnixSystemProxySettings final : 
+@@ -44,16 +45,18 @@ class nsUnixSystemProxySettings final : 
                                     nsACString& aResult);
    nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost,
                               int32_t aPort, nsACString& aResult);
@@ -820,7 +820,7 @@
  nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
    // dbus prevents us from being threadsafe, but this routine should not block
    // anyhow
-@@ -488,16 +491,19 @@ nsresult nsUnixSystemProxySettings::GetP
+@@ -487,22 +490,51 @@ nsresult nsUnixSystemProxySettings::GetP
    return NS_OK;
  }
  
@@ -840,16 +840,7 @@
  
    return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult);
  }
-@@ -521,8 +527,34 @@ static const mozilla::Module::CIDEntry k
- static const mozilla::Module::ContractIDEntry kUnixProxyContracts[] = {
-     {NS_SYSTEMPROXYSETTINGS_CONTRACTID, &kNS_UNIXSYSTEMPROXYSERVICE_CID},
-     {nullptr}};
  
- static const mozilla::Module kUnixProxyModule = {
-     mozilla::Module::kVersion, kUnixProxyCIDs, kUnixProxyContracts};
- 
- NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule;
-+
 +nsresult
 +nsUnixSystemProxySettings::GetProxyFromKDE(const nsACString& aScheme,
 +                                           const nsACString& aHost,
@@ -875,10 +866,16 @@
 +  return NS_OK;
 +}
 +
++
+ NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
+   auto result = MakeRefPtr<nsUnixSystemProxySettings>();
+   result->Init();
+   return result.forget().downcast<nsISupports>();
+ }
 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
 --- a/toolkit/xre/moz.build
 +++ b/toolkit/xre/moz.build
-@@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -83,17 +83,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
          '../components/printingui',
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -897,7 +894,7 @@
          'nsNativeAppSupportDefault.cpp',
      ]
  
- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
+ if CONFIG['MOZ_HAS_REMOTE']:
 diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
 new file mode 100644
 --- /dev/null
@@ -1343,7 +1340,7 @@
 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
 --- a/uriloader/exthandler/moz.build
 +++ b/uriloader/exthandler/moz.build
-@@ -76,17 +76,19 @@ else:
+@@ -80,17 +80,19 @@ else:
      SOURCES += [
          osdir + '/nsOSHelperAppService.cpp',
      ]
@@ -1363,7 +1360,7 @@
          'android/nsExternalURLHandlerService.cpp',
          'android/nsMIMEInfoAndroid.cpp',
      ]
-@@ -120,16 +122,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -130,16 +132,17 @@ include('/ipc/chromium/chromium-config.m
  FINAL_LIBRARY = 'xul'
  
  LOCAL_INCLUDES += [
@@ -1797,7 +1794,7 @@
 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
 --- a/widget/gtk/moz.build
 +++ b/widget/gtk/moz.build
-@@ -116,16 +116,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -121,16 +121,17 @@ include('/ipc/chromium/chromium-config.m
  
  FINAL_LIBRARY = 'xul'
  
@@ -1914,7 +1911,7 @@
  
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
-@@ -571,16 +598,240 @@ void nsFilePicker::Done(void *file_choos
+@@ -572,16 +599,240 @@ void nsFilePicker::Done(void *file_choos
      mCallback->Done(result);
      mCallback = nullptr;
    } else {
@@ -2315,7 +2312,7 @@
 diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
 --- a/xpcom/components/moz.build
 +++ b/xpcom/components/moz.build
-@@ -44,12 +44,13 @@ LOCAL_INCLUDES += [
+@@ -66,14 +66,15 @@ LOCAL_INCLUDES += [
      '!..',
      '../base',
      '../build',
@@ -2329,6 +2326,8 @@
  
  if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
      CXXFLAGS += CONFIG['TK_CFLAGS']
+ 
+ include('/ipc/chromium/chromium-config.mozbuild')
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp
--- a/mozilla-nongnome-proxies.patch	Tue May 14 12:12:16 2019 +0200
+++ b/mozilla-nongnome-proxies.patch	Wed May 15 19:43:42 2019 +0200
@@ -9,7 +9,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
-@@ -55,24 +55,27 @@ NS_IMETHODIMP
+@@ -57,25 +57,27 @@ NS_IMETHODIMP
  nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
    // dbus prevents us from being threadsafe, but this routine should not block
    // anyhow
@@ -17,7 +17,7 @@
    return NS_OK;
  }
  
- nsresult nsUnixSystemProxySettings::Init() {
+ void nsUnixSystemProxySettings::Init() {
 -  mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
 -  if (mGSettings) {
 -    mGSettings->GetCollectionForSchema(
@@ -26,6 +26,7 @@
 -  }
 -  if (!mProxySettings) {
 -    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+-  }
 +  // only use GSettings if that is a GNOME session
 +  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
 +  if (sessionType && !strcmp(sessionType, "gnome")) {
@@ -37,11 +38,11 @@
 +    if (!mProxySettings) {
 +      mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
 +    }
-   }
- 
-   return NS_OK;
  }
  
  bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
    nsAutoCString mode;
    return NS_SUCCEEDED(mGConf->GetString(
+              NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
+          mode.EqualsASCII(aMode);
+ }