--- 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