rebased patches and updated spec for 63.0b14
authorWolfgang Rosenauer <wr@rosenauer.org>
Mon, 22 Oct 2018 11:26:41 +0200
changeset 1074 4b99400f6d17
parent 1073 63a32fb3b602
child 1075 0831123bc28a
child 1088 84cdfb476431
rebased patches and updated spec for 63.0b14
MozillaFirefox/MozillaFirefox.changes
MozillaFirefox/MozillaFirefox.spec
MozillaFirefox/mozilla-no-return.patch
MozillaFirefox/mozilla-no-stdcxx-check.patch
firefox-kde.patch
mozilla-kde.patch
mozilla-no-return.patch
series
--- a/MozillaFirefox/MozillaFirefox.changes	Sun Oct 21 09:27:28 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes	Mon Oct 22 11:26:41 2018 +0200
@@ -2,6 +2,13 @@
 Sun Oct 21 07:24:17 UTC 2018 - wr@rosenauer.org
 
 - update to Firefox 63.0b14
+  * WebExtensions now run in their own process on Linux
+  * The Ctrl+Tab shortcut now displays thumbnail previews of your
+    tabs and cycles through tabs in recently used order. This new
+    default behavior is activated only in new profiles and can be
+    changed in preferences.
+  * Added support for Web Components custom elements and shadow DOM
+- requires NSPR 4.20, NSS 3.39 and Rust 1.28
 
 -------------------------------------------------------------------
 Tue Oct  2 21:28:31 UTC 2018 - astieger@suse.com
--- a/MozillaFirefox/MozillaFirefox.spec	Sun Oct 21 09:27:28 2018 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec	Mon Oct 22 11:26:41 2018 +0200
@@ -74,12 +74,12 @@
 BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
-BuildRequires:  mozilla-nspr-devel >= 4.19
-BuildRequires:  mozilla-nss-devel >= 3.38
+BuildRequires:  mozilla-nspr-devel >= 4.20
+BuildRequires:  mozilla-nss-devel >= 3.39
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
 BuildRequires:  python3 >= 3.5
-BuildRequires:  rust >= 1.24
+BuildRequires:  rust >= 1.28
 BuildRequires:  rust-std
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
@@ -155,11 +155,9 @@
 Patch2:         mozilla-kde.patch
 Patch3:         mozilla-ntlm-full-path.patch
 Patch4:         mozilla-openaes-decl.patch
-Patch5:         mozilla-no-stdcxx-check.patch
 Patch6:         mozilla-reduce-files-per-UnifiedBindings.patch
 Patch7:         mozilla-aarch64-startup-crash.patch
 Patch8:         mozilla-bmo256180.patch
-Patch9:         mozilla-no-return.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -263,13 +261,11 @@
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
 %ifarch %ix86
 %patch6 -p1
 %endif
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
--- a/MozillaFirefox/mozilla-no-return.patch	Sun Oct 21 09:27:28 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-no-return.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-no-stdcxx-check.patch	Sun Oct 21 09:27:28 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-no-stdcxx-check.patch
\ No newline at end of file
--- a/firefox-kde.patch	Sun Oct 21 09:27:28 2018 +0200
+++ b/firefox-kde.patch	Mon Oct 22 11:26:41 2018 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent  0629fb9c6879e14c1b5e3cbff53b0d44371f0127
+# Parent  fdf78810e83396d10418791fbe32bed6bfe1558b
 
 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,1291 @@
+@@ -0,0 +1,1317 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -14,18 +14,23 @@
 +# 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/.
 +
++<!-- The "global.css" stylesheet is imported first to allow other stylesheets to
++     override rules using selectors with the same specificity. This applies to
++     both "content" and "skin" packages, which bug 1385444 will unify later. -->
++<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
++
 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
-+<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css"?>
++<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
-+<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
-+<?xml-stylesheet href="chrome://browser/skin/searchbar.css"?>
-+<?xml-stylesheet href="chrome://browser/skin/places/places.css"?>
-+<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css"?>
-+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
-+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/searchbar.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/places/tree-icons.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/places/editBookmark.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/compacttheme.css" type="text/css" alternate="yes" title="Light/Dark"?>
 +
 +# All DTD information is stored in a separate file so that it can be shared by
@@ -40,7 +45,6 @@
 +        xmlns:html="http://www.w3.org/1999/xhtml"
 +        xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
 +        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-+        onload="gBrowserInit.onLoad()" onunload="gBrowserInit.onUnload()" onclose="return WindowIsClosing();"
 +        title="&mainWindow.title;"
 +        title_normal="&mainWindow.title;"
 +#ifdef XP_MACOSX
@@ -75,31 +79,36 @@
 +# that they can be shared with macWindow.inc.xul.
 +#include global-scripts.inc
 +
-+<script type="application/javascript">
++<script type="application/javascript"
++#ifdef BROWSER_XHTML
++xmlns="http://www.w3.org/1999/xhtml"
++#endif
++>
 +  Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
 +  Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
 +
-+  ChromeUtils.defineModuleGetter(window,
-+    "PlacesUtils", "resource://gre/modules/PlacesUtils.jsm");
-+  ChromeUtils.defineModuleGetter(window,
-+    "PlacesUIUtils", "resource:///modules/PlacesUIUtils.jsm");
-+  ChromeUtils.defineModuleGetter(window,
-+    "PlacesTransactions", "resource://gre/modules/PlacesTransactions.jsm");
-+
-+  ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
-+  XPCOMUtils.defineLazyScriptGetter(window, "PlacesTreeView",
-+    "chrome://browser/content/places/treeView.js");
-+  XPCOMUtils.defineLazyScriptGetter(window,
-+    ["PlacesInsertionPoint", "PlacesController", "PlacesControllerDragHelper"],
-+     "chrome://browser/content/places/controller.js");
++  window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
++  window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
++  window.onclose = WindowIsClosing;
++#ifdef BROWSER_XHTML
++  window.addEventListener("DOMContentLoaded",
++    gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: 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
++  // may be leaking things because they will never be destroyed after.
++  window.addEventListener("DOMContentLoaded",
++    gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true });
 +</script>
 +
-+# All sets except for popupsets (commands, keys, stringbundles and broadcasters)
++# All sets except for popupsets (commands, keys, and stringbundles)
 +# *must* go into the browser-sets.inc file so that they can be shared with other
 +# top level windows in macWindow.inc.xul.
-+#define FULL_BROWSER_WINDOW
 +#include browser-sets.inc
-+#undef FULL_BROWSER_WINDOW
 +
 +  <popupset id="mainPopupSet">
 +    <menupopup id="tabContextMenu"
@@ -107,6 +116,9 @@
 +               onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;">
 +      <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;"
 +                oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/>
++      <menuitem id="context_reloadSelectedTabs" label="&reloadSelectedTabs.label;" hidden="true"
++                accesskey="&reloadSelectedTabs.accesskey;"
++                oncommand="gBrowser.reloadMultiSelectedTabs();"/>
 +      <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/>
 +      <menuitem id="context_toggleMuteSelectedTabs" hidden="true"
 +                oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/>
@@ -117,6 +129,12 @@
 +      <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
 +                accesskey="&unpinTab.accesskey;"
 +                oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
++      <menuitem id="context_pinSelectedTabs" label="&pinSelectedTabs.label;" hidden="true"
++                accesskey="&pinSelectedTabs.accesskey;"
++                oncommand="gBrowser.pinMultiSelectedTabs();"/>
++      <menuitem id="context_unpinSelectedTabs" label="&unpinSelectedTabs.label;" hidden="true"
++                accesskey="&unpinSelectedTabs.accesskey;"
++                oncommand="gBrowser.unpinMultiSelectedTabs();"/>
 +      <menuitem id="context_duplicateTab" label="&duplicateTab.label;"
 +                accesskey="&duplicateTab.accesskey;"
 +                oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
@@ -124,13 +142,13 @@
 +            label="&reopenInContainer.label;"
 +            accesskey="&reopenInContainer.accesskey;"
 +            hidden="true">
-+        <menupopup oncommand="reopenInContainer(event);"
-+                   onpopupshowing="return createReopenInContainerMenu(event);" />
++        <menupopup oncommand="TabContextMenu.reopenInContainer(event);"
++                   onpopupshowing="TabContextMenu.createReopenInContainerMenu(event);"/>
 +      </menu>
 +      <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
 +                accesskey="&moveToNewWindow.accesskey;"
 +                tbattr="tabbrowser-multiple"
-+                oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
++                oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/>
 +      <menuseparator id="context_sendTabToDevice_separator" class="sync-ui-item"/>
 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
 +            class="sync-ui-item"
@@ -142,6 +160,11 @@
 +      <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
 +                tbattr="tabbrowser-multiple-visible"
 +                oncommand="gBrowser.reloadAllTabs();"/>
++       <menuitem id="context_bookmarkSelectedTabs"
++                hidden="true"
++                label="&bookmarkSelectedTabs.label;"
++                accesskey="&bookmarkSelectedTabs.accesskey;"
++                oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/>
 +      <menuitem id="context_bookmarkAllTabs"
 +                label="&bookmarkAllTabs.label;"
 +                accesskey="&bookmarkAllTabs.accesskey;"
@@ -237,7 +260,6 @@
 +           ignorekeys="true"
 +           hidden="true"
 +           tabspecific="true"
-+           onpopupshown="StarUI.panelShown(event);"
 +           aria-labelledby="editBookmarkPanelTitle">
 +      <box class="panel-header">
 +        <label id="editBookmarkPanelTitle"/>
@@ -247,8 +269,15 @@
 +      </html:div>
 +      <box id="editBookmarkPanelImage"/>
 +#include ../../components/places/content/editBookmarkPanel.inc.xul
++      <vbox id="editBookmarkPanelBottomContent"
++            flex="1">
++        <checkbox id="editBookmarkPanel_showForNewBookmarks"
++                  label="&editBookmark.showForNewBookmarks.label;"
++                  accesskey="&editBookmark.showForNewBookmarks.accesskey;"
++                  oncommand="StarUI.onShowForNewBookmarksCheckboxCommand();"/>
++      </vbox>
 +      <hbox id="editBookmarkPanelBottomButtons"
-+            style="min-width: 30em;">
++            style="min-width: &editBookmark.panel.width;;">
 +#ifdef XP_UNIX
 +        <button id="editBookmarkPanelDoneButton"
 +                class="editBookmarkPanelBottomButton"
@@ -316,27 +345,22 @@
 +           orient="vertical"
 +           position="bottomcenter topleft">
 +      <toolbarbutton id="sidebar-switcher-bookmarks"
++                     type="checkbox"
++                     label="&bookmarksButton.label;"
 +                     class="subviewbutton subviewbutton-iconic"
 +                     key="viewBookmarksSidebarKb"
-+                     observes="viewBookmarksSidebar"
-+                     oncommand="SidebarUI.show('viewBookmarksSidebar');">
-+        <observes element="viewBookmarksSidebar" attribute="checked"/>
-+      </toolbarbutton>
++                     oncommand="SidebarUI.show('viewBookmarksSidebar');"/>
 +      <toolbarbutton id="sidebar-switcher-history"
++                     type="checkbox"
 +                     label="&historyButton.label;"
 +                     class="subviewbutton subviewbutton-iconic"
 +                     key="key_gotoHistory"
-+                     observes="viewHistorySidebar"
-+                     oncommand="SidebarUI.show('viewHistorySidebar');">
-+        <observes element="viewHistorySidebar" attribute="checked"/>
-+      </toolbarbutton>
++                     oncommand="SidebarUI.show('viewHistorySidebar');"/>
 +      <toolbarbutton id="sidebar-switcher-tabs"
++                     type="checkbox"
 +                     label="&syncedTabs.sidebar.label;"
 +                     class="subviewbutton subviewbutton-iconic sync-ui-item"
-+                     observes="viewTabsSidebar"
-+                     oncommand="SidebarUI.show('viewTabsSidebar');">
-+        <observes element="viewTabsSidebar" attribute="checked"/>
-+      </toolbarbutton>
++                     oncommand="SidebarUI.show('viewTabsSidebar');"/>
 +      <toolbarseparator/>
 +      <!-- Extension toolbarbuttons go here. -->
 +      <toolbarseparator id="sidebar-extensions-separator"/>
@@ -409,10 +433,22 @@
 +    <menupopup id="blockedPopupOptions"
 +               onpopupshowing="gPopupBlockerObserver.fillPopupList(event);"
 +               onpopuphiding="gPopupBlockerObserver.onPopupHiding(event);">
-+      <menuitem observes="blockedPopupAllowSite"/>
-+      <menuitem observes="blockedPopupEditSettings"/>
-+      <menuitem observes="blockedPopupDontShowMessage"/>
-+      <menuseparator observes="blockedPopupsSeparator"/>
++      <menuitem id="blockedPopupAllowSite"
++                accesskey="&allowPopups.accesskey;"
++                oncommand="gPopupBlockerObserver.toggleAllowPopupsForSite(event);"/>
++      <menuitem
++#ifdef XP_WIN
++                label="&editPopupSettings.label;"
++#else
++                label="&editPopupSettingsUnix.label;"
++#endif
++                accesskey="&editPopupSettings.accesskey;"
++                oncommand="gPopupBlockerObserver.editPopupSettings();"/>
++      <menuitem id="blockedPopupDontShowMessage"
++                accesskey="&dontShowMessage.accesskey;"
++                type="checkbox"
++                oncommand="gPopupBlockerObserver.dontShowMessage();"/>
++      <menuseparator id="blockedPopupsSeparator"/>
 +    </menupopup>
 +
 +    <menupopup id="autohide-context"
@@ -462,7 +498,8 @@
 +           emailLink-title="&emailPageCmd.label;"
 +           sendToDevice-title="&pageAction.sendTabToDevice.label;"
 +           sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
-+           shareURL-title="&pageAction.shareUrl.label;">
++           shareURL-title="&pageAction.shareUrl.label;"
++           shareMore-label="&pageAction.shareMore.label;">
 +      <panelmultiview id="pageActionPanelMultiView"
 +                      mainViewId="pageActionPanelMainView"
 +                      viewCacheId="appMenu-viewCache">
@@ -605,6 +642,16 @@
 +                accesskey="&syncSyncNowItem.accesskey;"
 +                id="syncedTabsRefreshFilter"/>
 +    </menupopup>
++
++    <hbox id="statuspanel" inactive="true" layer="true">
++      <hbox id="statuspanel-inner">
++        <label id="statuspanel-label"
++               role="status"
++               aria-live="off"
++               flex="1"
++               crop="end"/>
++      </hbox>
++    </hbox>
 +  </popupset>
 +  <box id="appMenu-viewCache" hidden="true"/>
 +
@@ -633,7 +680,7 @@
 +  <toolbox id="navigator-toolbox">
 +    <!-- Menu -->
 +    <toolbar type="menubar" id="toolbar-menubar"
-+             class="chromeclass-menubar titlebar-color"
++             class="browser-toolbar chromeclass-menubar titlebar-color"
 +             customizable="true"
 +             mode="icons"
 +#ifdef MENUBAR_CAN_AUTOHIDE
@@ -655,7 +702,7 @@
 +    </toolbar>
 +
 +    <toolbar id="TabsToolbar"
-+             class="titlebar-color"
++             class="browser-toolbar titlebar-color"
 +             fullscreentoolbar="true"
 +             customizable="true"
 +             mode="icons"
@@ -714,6 +761,7 @@
 +    </toolbar>
 +
 +    <toolbar id="nav-bar"
++             class="browser-toolbar"
 +             aria-label="&navbarCmd.label;"
 +             fullscreentoolbar="true" mode="icons" customizable="true"
 +             customizationtarget="nav-bar-customization-target"
@@ -771,7 +819,7 @@
 +                       key="goHome"
 +                       onclick="BrowserGoHome(event);"
 +                       cui-areatype="toolbar"
-+                       aboutHomeOverrideTooltip="&homeButton.defaultPage.tooltip;"/>
++                       tooltiptext="&homeButton.defaultPage.tooltip;"/>
 +        <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
 +        <toolbaritem id="urlbar-container" flex="400" persist="width"
 +                     removable="false"
@@ -785,7 +833,6 @@
 +                     autocompletesearchparam="enable-actions"
 +                     autocompletepopup="PopupAutoCompleteRichResult"
 +                     completeselectedindex="true"
-+                     shrinkdelay="250"
 +                     tabscrolling="true"
 +                     newlines="stripsurroundingwhitespace"
 +                     ontextentered="this.handleCommand(param);"
@@ -803,7 +850,12 @@
 +                       consumeanchor="identity-box"
 +                       onclick="PageProxyClickHandler(event);"/>
 +                <image id="sharing-icon" mousethrough="always"/>
-+                <image id="tracking-protection-icon"/>
++                <box id="tracking-protection-icon-box" animationsenabled="true">
++                  <image id="tracking-protection-icon"/>
++                  <box id="tracking-protection-icon-animatable-box" flex="1">
++                    <image id="tracking-protection-icon-animatable-image" flex="1"/>
++                  </box>
++                </box>
 +                <box id="blocked-permissions-container" align="center">
 +                  <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button"
 +                         tooltiptext="&urlbar.geolocationBlocked.tooltip;"/>
@@ -889,6 +941,14 @@
 +                <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
 +              </box>
 +              <hbox id="page-action-buttons" context="pageActionContextMenu">
++                <hbox id="contextual-feature-recommendation" role="button" hidden="true">
++                  <hbox id="cfr-label-container">
++                    <label id="cfr-label"/>
++                  </hbox>
++                  <image id="cfr-button"
++                         class="urlbar-icon urlbar-page-action"
++                         role="presentation"/>
++                </hbox>
 +                <hbox id="userContext-icons" hidden="true">
 +                  <label id="userContext-label"/>
 +                  <image id="userContext-indicator"/>
@@ -915,12 +975,10 @@
 +                      onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('bookmark'), event, this);">
 +                  <image id="star-button"
 +                         class="urlbar-icon"
-+                         role="button"
-+                         observes="bookmarkThisPageBroadcaster"/>
++                         role="button"/>
 +                  <hbox id="star-button-animatable-box">
 +                    <image id="star-button-animatable-image"
-+                           role="presentation"
-+                           observes="bookmarkThisPageBroadcaster"/>
++                           role="presentation"/>
 +                  </hbox>
 +                </hbox>
 +              </hbox>
@@ -1010,7 +1068,7 @@
 +
 +    <toolbar id="PersonalToolbar"
 +             mode="icons"
-+             class="chromeclass-directories"
++             class="browser-toolbar chromeclass-directories"
 +             context="toolbar-context-menu"
 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
 +             collapsed="true"
@@ -1101,13 +1159,12 @@
 +                     ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
 +                     ondrop="PlacesMenuDNDHandler.onDrop(event);"
 +                     oncommand="BookmarkingUI.onCommand(event);">
-+        <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
-+        <observes element="bookmarkThisPageBroadcaster" attribute="buttontooltiptext"/>
 +        <menupopup id="BMB_bookmarksPopup"
 +                   class="cui-widget-panel cui-widget-panelview cui-widget-panelWithFooter PanelUI-subView"
 +                   placespopup="true"
 +                   context="placesContext"
 +                   openInTabs="children"
++                   side="top"
 +                   onmouseup="BookmarksEventHandler.onMouseUp(event);"
 +                   oncommand="BookmarksEventHandler.onCommand(event);"
 +                   onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
@@ -1202,7 +1259,7 @@
 +        <sidebarheader id="sidebar-header" align="center">
 +          <toolbarbutton id="sidebar-switcher-target" flex="1" class="tabbable">
 +            <image id="sidebar-icon" consumeanchor="sidebar-switcher-target"/>
-+            <label id="sidebar-title" persist="value" crop="end" flex="1" control="sidebar"/>
++            <label id="sidebar-title" crop="end" flex="1" control="sidebar"/>
 +            <image id="sidebar-switcher-arrow"/>
 +          </toolbarbutton>
 +          <image id="sidebar-throbber"/>
@@ -1221,40 +1278,9 @@
 +      <vbox id="appcontent" flex="1">
 +        <notificationbox id="high-priority-global-notificationbox" notificationside="top"/>
 +        <tabbox id="tabbrowser-tabbox"
-+                flex="1" eventnode="document" tabcontainer="tabbrowser-tabs">
++                flex="1" tabcontainer="tabbrowser-tabs">
 +          <tabpanels id="tabbrowser-tabpanels"
-+                     flex="1" class="plain" selectedIndex="0"
-+                     onselect="if (event.target == this) gBrowser.updateCurrentBrowser();">
-+            <notificationbox flex="1" notificationside="top">
-+              <!-- Set large flex to allow the devtools toolbox to set a flex attribute.
-+                   We don't want the toolbox to actually take up free space, but we do want it to collapse when the window shrinks, and with flex=0 it can't.
-+                   When the toolbox is on the bottom it's a sibling of browserSidebarContainer,
-+                   and when it's on the side it's a sibling of browserContainer.  -->
-+              <hbox flex="10000" class="browserSidebarContainer">
-+                <vbox flex="10000" class="browserContainer">
-+                  <stack flex="1" class="browserStack">
-+                    <browser id="tabbrowser-initialBrowser" type="content"
-+                             message="true" messagemanagergroup="browsers"
-+                             primary="true" blank="true"
-+                             tooltip="aHTMLTooltip"
-+                             contextmenu="contentAreaContextMenu"
-+                             autocompletepopup="PopupAutoComplete"
-+                             selectmenulist="ContentSelectDropdown"
-+                             datetimepicker="DateTimePickerPanel"/>
-+                  </stack>
-+                  <hbox id="statuspanel" inactive="true" layer="true">
-+                    <hbox id="statuspanel-inner">
-+                      <label id="statuspanel-label"
-+                             role="status"
-+                             aria-live="off"
-+                             flex="1"
-+                             crop="end"/>
-+                    </hbox>
-+                  </hbox>
-+                </vbox>
-+              </hbox>
-+            </notificationbox>
-+          </tabpanels>
++                     flex="1" class="plain" selectedIndex="0"/>
 +        </tabbox>
 +      </vbox>
 +      <vbox id="browser-border-end" hidden="true" layer="true"/>
@@ -1300,14 +1326,14 @@
 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
 --- a/browser/base/jar.mn
 +++ b/browser/base/jar.mn
-@@ -24,16 +24,18 @@ browser.jar:
-         content/browser/aboutRobots-icon.png          (content/aboutRobots-icon.png)
-         content/browser/aboutRobots-widget-left.png   (content/aboutRobots-widget-left.png)
-         content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
+@@ -28,16 +28,18 @@ browser.jar:
          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
  *       content/browser/browser.css                   (content/browser.css)
          content/browser/browser.js                    (content/browser.js)
+ #ifdef MOZ_BROWSER_XHTML
+ *       content/browser/browser.xhtml                 (content/browser.xhtml)
+ #endif
  *       content/browser/browser.xul                   (content/browser.xul)
 +*       content/browser/browser-kde.xul               (content/browser-kde.xul)
 +%       override chrome://browser/content/browser.xul chrome://browser/content/browser-kde.xul desktop=kde
@@ -1318,7 +1344,7 @@
          content/browser/browser-customization.js      (content/browser-customization.js)
          content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
          content/browser/browser-compacttheme.js       (content/browser-compacttheme.js)
- #ifndef MOZILLA_OFFICIAL
+         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
@@ -1335,13 +1361,13 @@
 +#include "nsUnixShellService.h"
  #endif
  
- #if defined(XP_WIN)
- #include "nsIEHistoryEnumerator.h"
+ #if defined(MOZ_WIDGET_COCOA)
+ #include "nsMacAttribution.h"
  #endif
  
- #include "nsFeedSniffer.h"
- #include "AboutRedirector.h"
-@@ -30,18 +30,16 @@ using namespace mozilla::browser;
+ #if defined(XP_WIN)
+ #include "nsIEHistoryEnumerator.h"
+@@ -34,18 +34,16 @@ using namespace mozilla::browser;
  
  /////////////////////////////////////////////////////////////////////////////
  
@@ -1354,14 +1380,14 @@
 -NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
  #endif
  
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
+ #if defined(MOZ_WIDGET_COCOA)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService)
  #endif
  
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
- 
-@@ -59,17 +57,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
- NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
+ #if defined(XP_WIN)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
+@@ -70,17 +68,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID)
+ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSERVICE_CID);
  #endif
  
  static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
@@ -1382,7 +1408,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
-@@ -321,16 +321,23 @@ var gMainPane = {
+@@ -327,16 +327,23 @@ var gMainPane = {
            this._backoffIndex++ : backoffTimes.length - 1]);
        };
  
@@ -1406,7 +1432,7 @@
      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  
      this.updateDefaultPerformanceSettingsPref();
-@@ -861,16 +868,27 @@ var gMainPane = {
+@@ -962,16 +969,27 @@ var gMainPane = {
        // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
        this._backoffIndex = 0;
  
@@ -1750,7 +1776,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
-@@ -455,16 +455,18 @@
+@@ -462,16 +462,18 @@
  @RESPATH@/browser/defaults/settings/pinning
  @RESPATH@/browser/defaults/settings/main
  
--- a/mozilla-kde.patch	Sun Oct 21 09:27:28 2018 +0200
+++ b/mozilla-kde.patch	Mon Oct 22 11:26:41 2018 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  989a507ffc5faf9a3bd950c2391a24afa9f463c8
+# Parent  06a62125ffbb15e88dacb486169d8e6a9595bd78
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -9,7 +9,7 @@
 diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
 --- a/modules/libpref/Preferences.cpp
 +++ b/modules/libpref/Preferences.cpp
-@@ -77,16 +77,17 @@
+@@ -80,16 +80,17 @@
  #include "nsXPCOMCID.h"
  #include "nsXPCOM.h"
  #include "nsXULAppAPI.h"
@@ -20,14 +20,14 @@
  #include "prlink.h"
 +#include "nsKDEUtils.h"
  
+ #ifdef MOZ_MEMORY
+ #include "mozmemory.h"
+ #endif
+ 
  #ifdef XP_WIN
  #include "windows.h"
  #endif
- 
- using namespace mozilla;
- 
- #ifdef DEBUG
-@@ -4189,25 +4190,37 @@ Preferences::InitInitialObjects(bool aIs
+@@ -4932,25 +4933,37 @@ Preferences::InitInitialObjects(bool aIs
    // 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.
-@@ -4256,17 +4269,17 @@ Preferences::InitInitialObjects(bool aIs
+@@ -4999,17 +5012,17 @@ Preferences::InitInitialObjects(bool aIs
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -87,13 +87,13 @@
 diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
 --- a/modules/libpref/moz.build
 +++ b/modules/libpref/moz.build
-@@ -29,16 +29,20 @@ EXPORTS.mozilla += [
-     'Preferences.h',
+@@ -31,16 +31,20 @@ EXPORTS.mozilla += [
      'StaticPrefs.h',
  ]
  
  UNIFIED_SOURCES += [
      'Preferences.cpp',
+     'SharedPrefMap.cpp',
  ]
  
 +LOCAL_INCLUDES += [
@@ -167,11 +167,11 @@
 +]
 +
  with Files('**'):
-     BUG_COMPONENT = ('Toolkit', 'Download Manager')
+     BUG_COMPONENT = ('Toolkit', 'Downloads API')
 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -69,16 +69,18 @@ toolkit.jar:
+@@ -70,16 +70,18 @@ toolkit.jar:
     content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
     content/global/bindings/colorpicker.xml     (widgets/colorpicker.xml)
     content/global/bindings/datekeeper.js       (widgets/datekeeper.js)
@@ -182,19 +182,19 @@
  *  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/editor.xml          (widgets/editor.xml)
  *  content/global/bindings/findbar.xml         (widgets/findbar.xml)
     content/global/bindings/general.xml         (widgets/general.xml)
     content/global/bindings/groupbox.xml        (widgets/groupbox.xml)
-    content/global/bindings/listbox.xml         (widgets/listbox.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/numberbox.xml       (widgets/numberbox.xml)
+    content/global/bindings/popup.xml           (widgets/popup.xml)
 diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
 new file mode 100644
 --- /dev/null
 +++ b/toolkit/content/widgets/dialog-kde.xml
-@@ -0,0 +1,478 @@
+@@ -0,0 +1,475 @@
 +<?xml version="1.0"?>
 +<!-- 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
@@ -211,9 +211,6 @@
 +          xmlns:xbl="http://www.mozilla.org/xbl">
 +
 +  <binding id="dialog">
-+    <resources>
-+      <stylesheet src="chrome://global/skin/dialog.css"/>
-+    </resources>
 +    <content>
 +      <xul:vbox class="box-inherit dialog-content-box" flex="1">
 +        <children/>
@@ -232,7 +229,7 @@
 +        <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
 +#elif XP_UNIX
 +                >
-+        <xul:button dlgtype="help" class="dialog-button" hidden="true"/>
++	<xul:button dlgtype="help" class="dialog-button" hidden="true"/>
 +        <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/>
 +        <xul:spacer anonid="spacer" flex="1"/>
 +        <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/>
@@ -676,7 +673,7 @@
 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
-@@ -1035,30 +1035,60 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = {
  
        if (params.handlerApp &&
            params.handlerApp.executable &&
@@ -848,7 +845,7 @@
 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
 --- a/toolkit/xre/moz.build
 +++ b/toolkit/xre/moz.build
-@@ -71,17 +71,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -67,17 +67,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
          '../components/printingui',
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -1313,7 +1310,7 @@
 diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
 --- a/uriloader/exthandler/moz.build
 +++ b/uriloader/exthandler/moz.build
-@@ -77,17 +77,19 @@ else:
+@@ -76,17 +76,19 @@ else:
      SOURCES += [
          osdir + '/nsOSHelperAppService.cpp',
      ]
@@ -1330,10 +1327,10 @@
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
      UNIFIED_SOURCES += [
          'android/nsAndroidHandlerApp.cpp',
-         'android/nsExternalSharingAppService.cpp',
          'android/nsExternalURLHandlerService.cpp',
          'android/nsMIMEInfoAndroid.cpp',
-@@ -122,16 +124,17 @@ include('/ipc/chromium/chromium-config.m
+     ]
+@@ -120,16 +122,17 @@ include('/ipc/chromium/chromium-config.m
  FINAL_LIBRARY = 'xul'
  
  LOCAL_INCLUDES += [
@@ -1691,7 +1688,7 @@
  #include "nsIURL.h"
  #include "nsIFileStreams.h"
  #include "nsILineInputStream.h"
-@@ -1128,17 +1128,17 @@ nsOSHelperAppService::GetHandlerAndDescr
+@@ -1125,17 +1125,17 @@ nsOSHelperAppService::GetHandlerAndDescr
  
  nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, bool * aHandlerExists)
  {
@@ -1710,7 +1707,7 @@
      nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
      if (NS_SUCCEEDED(rv) && handlerSvc) {
        rv = handlerSvc->ExistsForProtocol(nsCString(aProtocolScheme), aHandlerExists);
-@@ -1146,17 +1146,17 @@ nsresult nsOSHelperAppService::OSProtoco
+@@ -1143,17 +1143,17 @@ nsresult nsOSHelperAppService::OSProtoco
    }
  
    return rv;
@@ -1729,7 +1726,7 @@
  
  nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
  {
-@@ -1243,17 +1243,17 @@ nsOSHelperAppService::GetFromExtension(c
+@@ -1240,17 +1240,17 @@ nsOSHelperAppService::GetFromExtension(c
                                           mime_types_description,
                                           true);
  
@@ -1748,7 +1745,7 @@
  
      rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
                                    majorType,
-@@ -1364,17 +1364,17 @@ nsOSHelperAppService::GetFromType(const 
+@@ -1361,17 +1361,17 @@ nsOSHelperAppService::GetFromType(const 
    nsAutoString extensions, mime_types_description;
    LookUpExtensionsAndDescription(majorType,
                                   minorType,
@@ -1770,12 +1767,12 @@
 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
 --- a/widget/gtk/moz.build
 +++ b/widget/gtk/moz.build
-@@ -122,16 +122,17 @@ else:
- include('/ipc/chromium/chromium-config.mozbuild')
+@@ -123,16 +123,17 @@ include('/ipc/chromium/chromium-config.m
  
  FINAL_LIBRARY = 'xul'
  
  LOCAL_INCLUDES += [
+     '/layout/base',
      '/layout/generic',
      '/layout/xul',
      '/other-licenses/atk-1.0',
@@ -2166,7 +2163,7 @@
    const char* directive;
    int argc;
  
-@@ -437,16 +438,17 @@ ParseManifest(NSLocationType aType, File
+@@ -419,16 +420,17 @@ ParseManifest(NSLocationType aType, File
    NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
    NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
    NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -2184,7 +2181,7 @@
    NS_NAMED_LITERAL_STRING(kMain, "main");
    NS_NAMED_LITERAL_STRING(kContent, "content");
  
-@@ -492,44 +494,49 @@ ParseManifest(NSLocationType aType, File
+@@ -474,44 +476,49 @@ ParseManifest(NSLocationType aType, File
          CopyUTF8toUTF16(s, abi);
          abi.Insert(char16_t('_'), 0);
          abi.Insert(osTarget, 0);
@@ -2234,7 +2231,7 @@
      process = kMain;
    }
  
-@@ -631,25 +638,27 @@ ParseManifest(NSLocationType aType, File
+@@ -598,25 +605,27 @@ ParseManifest(NSLocationType aType, File
      TriState stOsVersion = eUnspecified;
      TriState stOs = eUnspecified;
      TriState stABI = eUnspecified;
@@ -2262,7 +2259,7 @@
        }
  
  #if defined(MOZ_WIDGET_ANDROID)
-@@ -694,16 +703,17 @@ ParseManifest(NSLocationType aType, File
+@@ -661,16 +670,17 @@ ParseManifest(NSLocationType aType, File
      }
  
      if (!ok ||
@@ -2303,7 +2300,7 @@
 @@ -47,16 +47,17 @@
  #include "prproces.h"
  #include "nsIDirectoryEnumerator.h"
- #include "nsISimpleEnumerator.h"
+ #include "nsSimpleEnumerator.h"
  #include "private/pprio.h"
  #include "prlink.h"
  
@@ -2318,7 +2315,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1999,63 +2000,78 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -2007,63 +2008,78 @@ nsLocalFile::SetPersistentDescriptor(con
  NS_IMETHODIMP
  nsLocalFile::Reveal()
  {
--- a/mozilla-no-return.patch	Sun Oct 21 09:27:28 2018 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-# HG changeset patch
-# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent  242712e5a1879111d1a93a5d55dfae3fd5d47abc
-
-diff --git a/intl/icu/source/i18n/number_grouping.cpp b/intl/icu/source/i18n/number_grouping.cpp
---- a/intl/icu/source/i18n/number_grouping.cpp
-+++ b/intl/icu/source/i18n/number_grouping.cpp
-@@ -43,16 +43,17 @@ Grouper Grouper::forStrategy(UGroupingSt
-     case UNUM_GROUPING_MIN2:
-         return {-2, -2, -3};
-     case UNUM_GROUPING_ON_ALIGNED:
-         return {-4, -4, 1};
-     case UNUM_GROUPING_THOUSANDS:
-         return {3, 3, 1};
-     default:
-         U_ASSERT(FALSE);
-+        return {0, 0, 0};
-     }
- }
- 
- void Grouper::setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale) {
-     if (fGrouping1 != -2 && fGrouping2 != -4) {
-         return;
-     }
-     auto grouping1 = static_cast<int16_t> (patternInfo.positive.groupingSizes & 0xffff);
-diff --git a/media/libcubeb/src/cubeb_utils.cpp b/media/libcubeb/src/cubeb_utils.cpp
---- a/media/libcubeb/src/cubeb_utils.cpp
-+++ b/media/libcubeb/src/cubeb_utils.cpp
-@@ -14,10 +14,11 @@ size_t cubeb_sample_size(cubeb_sample_fo
-     case CUBEB_SAMPLE_S16BE:
-       return sizeof(int16_t);
-     case CUBEB_SAMPLE_FLOAT32LE:
-     case CUBEB_SAMPLE_FLOAT32BE:
-       return sizeof(float);
-     default:
-       // should never happen as all cases are handled above.
-       assert(false);
-+      return sizeof(float);
-   }
- }
--- a/series	Sun Oct 21 09:27:28 2018 +0200
+++ b/series	Mon Oct 22 11:26:41 2018 +0200
@@ -3,11 +3,10 @@
 mozilla-kde.patch
 mozilla-ntlm-full-path.patch
 mozilla-openaes-decl.patch
-mozilla-no-stdcxx-check.patch
+#mozilla-no-stdcxx-check.patch
 mozilla-reduce-files-per-UnifiedBindings.patch
 mozilla-aarch64-startup-crash.patch
 mozilla-bmo256180.patch
-mozilla-no-return.patch
 
 # Firefox patches
 firefox-kde.patch