--- a/firefox-kde.patch Tue Dec 11 08:48:38 2018 +0100
+++ b/firefox-kde.patch Wed Dec 12 12:15:16 2018 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent fdf78810e83396d10418791fbe32bed6bfe1558b
+# Parent f2429084f187d5758508ae547c411943cba60fcf
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,1317 @@
+@@ -0,0 +1,1384 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -19,6 +19,12 @@
+ both "content" and "skin" packages, which bug 1385444 will unify later. -->
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+
++<!-- While these stylesheets are defined in Toolkit, they are only used in the
++ main browser window, so we can load them here. Bug 1474241 is on file to
++ consider moving these widgets to the "browser" folder. -->
++<?xml-stylesheet href="chrome://global/content/tabprompts.css" type="text/css"?>
++<?xml-stylesheet href="chrome://global/skin/tabprompts.css" type="text/css"?>
++
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?>
@@ -72,7 +78,11 @@
+ fullscreenbutton="true"
+ sizemode="normal"
+ retargetdocumentfocus="urlbar"
-+ persist="screenX screenY width height sizemode">
++ persist="screenX screenY width height sizemode"
++#ifdef BROWSER_XHTML
++ hidden="true"
++#endif
++ >
+
+# All JS files which are needed by browser.xul and other top level windows to
+# support MacOS specific features *must* go into the global-scripts.inc file so
@@ -90,9 +100,14 @@
+ 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 });
++ 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 });
@@ -116,13 +131,12 @@
+ 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;"
++ <menuitem id="context_reloadSelectedTabs" label="&reloadTabs.label;" hidden="true"
++ accesskey="&reloadTabs.accesskey;"
+ oncommand="gBrowser.reloadMultiSelectedTabs();"/>
+ <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/>
+ <menuitem id="context_toggleMuteSelectedTabs" hidden="true"
+ oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/>
-+ <menuseparator/>
+ <menuitem id="context_pinTab" label="&pinTab.label;"
+ accesskey="&pinTab.accesskey;"
+ oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
@@ -138,6 +152,18 @@
+ <menuitem id="context_duplicateTab" label="&duplicateTab.label;"
+ accesskey="&duplicateTab.accesskey;"
+ oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
++ <menuseparator/>
++ <menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;"
++ oncommand="gBrowser.selectAllTabs();"/>
++ <menuitem id="context_bookmarkSelectedTabs"
++ hidden="true"
++ label="&bookmarkSelectedTabs.label;"
++ accesskey="&bookmarkSelectedTabs.accesskey;"
++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/>
++ <menuitem id="context_bookmarkTab"
++ label="&bookmarkTab.label;"
++ accesskey="&bookmarkTab.accesskey;"
++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.getUniquePages([TabContextMenu.contextTab]));"/>
+ <menu id="context_reopenInContainer"
+ label="&reopenInContainer.label;"
+ accesskey="&reopenInContainer.accesskey;"
@@ -145,43 +171,46 @@
+ <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.replaceTabsWithWindow(TabContextMenu.contextTab);"/>
-+ <menuseparator id="context_sendTabToDevice_separator" class="sync-ui-item"/>
-+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
-+ class="sync-ui-item"
-+ accesskey="&sendTabToDevice.accesskey;">
++ <menu id="context_moveTabOptions"
++ multiselectcontextlabel="&moveSelectedTabOptions.label;"
++ multiselectcontextaccesskey="&moveSelectedTabOptions.accesskey;"
++ nonmultiselectcontextlabel="&moveTabOptions.label;"
++ nonmultiselectcontextaccesskey="&moveTabOptions.accesskey;">
++ <menupopup id="moveTabOptionsMenu">
++ <menuitem id="context_moveToStart"
++ label="&moveToStart.label;"
++ accesskey="&moveToStart.accesskey;"
++ tbattr="tabbrowser-multiple"
++ oncommand="gBrowser.moveTabsToStart(TabContextMenu.contextTab);"/>
++ <menuitem id="context_moveToEnd"
++ label="&moveToEnd.label;"
++ accesskey="&moveToEnd.accesskey;"
++ tbattr="tabbrowser-multiple"
++ oncommand="gBrowser.moveTabsToEnd(TabContextMenu.contextTab);"/>
++ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
++ accesskey="&moveToNewWindow.accesskey;"
++ tbattr="tabbrowser-multiple"
++ oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/>
++ </menupopup>
++ </menu>
++ <menu id="context_sendTabToDevice"
++ class="sync-ui-item">
+ <menupopup id="context_sendTabToDevicePopupMenu"
-+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
++ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle, TabContextMenu.contextTab.multiselected);"/>
+ </menu>
+ <menuseparator/>
-+ <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;"
-+ command="Browser:BookmarkAllTabs"/>
+ <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
+ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
+ <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
-+ <menuseparator/>
+ <menuitem id="context_undoCloseTab"
+ label="&undoCloseTab.label;"
+ accesskey="&undoCloseTab.accesskey;"
+ observes="History:UndoCloseTab"/>
+ <menuitem id="context_closeTab" label="&closeTab.label;" accesskey="&closeTab.accesskey;"
+ oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/>
-+ <menuitem id="context_closeSelectedTabs" label="&closeSelectedTabs.label;"
-+ hidden="true" accesskey="&closeSelectedTabs.accesskey;"
++ <menuitem id="context_closeSelectedTabs" label="&closeTabs.label;"
++ hidden="true" accesskey="&closeTabs.accesskey;"
+ oncommand="gBrowser.removeMultiSelectedTabs();"/>
+ </menupopup>
+
@@ -222,6 +251,22 @@
+ level="parent"
+ overflowpadding="15" />
+
++ <!-- for url bar autocomplete -->
++ <panel id="urlbar-results"
++ role="group"
++ noautofocus="true"
++ hidden="true"
++ flip="none"
++ level="parent">
++ <html:div class="urlbarView-body-outer">
++ <html:div class="urlbarView-body-inner">
++ <!-- TODO: add search suggestions notification -->
++ <html:div class="urlbarView-results"/>
++ <!-- TODO: add footer -->
++ </html:div>
++ </html:div>
++ </panel>
++
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that
+ clicks on the anchored input box are never consumed. -->
+ <panel id="DateTimePickerPanel"
@@ -374,19 +419,24 @@
+ </panel>
+
+ <menupopup id="toolbar-context-menu"
-+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); UpdateDownloadsAutoHide(this); UpdateManageExtension(this)">
-+ <menuitem oncommand="openAboutAddonsForContextAction(this.parentElement)"
++ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); ToolbarContextMenu.updateDownloadsAutoHide(this); ToolbarContextMenu.updateExtension(this)">
++ <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)"
+ accesskey="&customizeMenu.manageExtension.accesskey;"
+ label="&customizeMenu.manageExtension.label;"
+ contexttype="toolbaritem"
+ class="customize-context-manageExtension"/>
++ <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)"
++ accesskey="&customizeMenu.removeExtension.accesskey;"
++ label="&customizeMenu.removeExtension.label;"
++ contexttype="toolbaritem"
++ class="customize-context-removeExtension"/>
+ <menuseparator/>
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
+ accesskey="&customizeMenu.pinToOverflowMenu.accesskey;"
+ label="&customizeMenu.pinToOverflowMenu.label;"
+ contexttype="toolbaritem"
+ class="customize-context-moveToPanel"/>
-+ <menuitem oncommand="onDownloadsAutoHideChange(event)"
++ <menuitem oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event)"
+ type="checkbox"
+ accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;"
+ label="&customizeMenu.autoHideDownloadsButton.label;"
@@ -397,18 +447,36 @@
+ label="&customizeMenu.removeFromToolbar.label;"
+ contexttype="toolbaritem"
+ class="customize-context-removeFromToolbar"/>
-+ <menuitem id="toolbar-context-reloadAllTabs"
++ <menuitem id="toolbar-context-reloadSelectedTab"
++ class="toolbaritem-tabsmenu"
++ contexttype="tabbar"
++ oncommand="gBrowser.reloadMultiSelectedTabs();"
++ label="&toolbarContextMenu.reloadSelectedTab.label;"
++ accesskey="&toolbarContextMenu.reloadSelectedTab.accesskey;"/>
++ <menuitem id="toolbar-context-reloadSelectedTabs"
++ class="toolbaritem-tabsmenu"
++ contexttype="tabbar"
++ oncommand="gBrowser.reloadMultiSelectedTabs();"
++ label="&toolbarContextMenu.reloadSelectedTabs.label;"
++ accesskey="&toolbarContextMenu.reloadSelectedTabs.accesskey;"/>
++ <menuitem id="toolbar-context-bookmarkSelectedTab"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar"
-+ oncommand="gBrowser.reloadAllTabs();"
-+ label="&toolbarContextMenu.reloadAllTabs.label;"
-+ accesskey="&toolbarContextMenu.reloadAllTabs.accesskey;"/>
-+ <menuitem id="toolbar-context-bookmarkAllTabs"
++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"
++ label="&toolbarContextMenu.bookmarkSelectedTab.label;"
++ accesskey="&toolbarContextMenu.bookmarkSelectedTab.accesskey;"/>
++ <menuitem id="toolbar-context-bookmarkSelectedTabs"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar"
-+ command="Browser:BookmarkAllTabs"
-+ label="&toolbarContextMenu.bookmarkAllTabs.label;"
-+ accesskey="&toolbarContextMenu.bookmarkAllTabs.accesskey;"/>
++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"
++ label="&toolbarContextMenu.bookmarkSelectedTabs.label;"
++ accesskey="&toolbarContextMenu.bookmarkSelectedTabs.accesskey;"/>
++ <menuitem id="toolbar-context-selectAllTabs"
++ class="toolbaritem-tabsmenu"
++ contexttype="tabbar"
++ oncommand="gBrowser.selectAllTabs();"
++ label="&toolbarContextMenu.selectAllTabs.label;"
++ accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/>
+ <menuitem id="toolbar-context-undoCloseTab"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar"
@@ -496,7 +564,6 @@
+ noautofocus="true"
+ copyURL-title="&pageAction.copyLink.label;"
+ emailLink-title="&emailPageCmd.label;"
-+ sendToDevice-title="&pageAction.sendTabToDevice.label;"
+ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"
+ shareURL-title="&pageAction.shareUrl.label;"
+ shareMore-label="&pageAction.shareMore.label;">
@@ -534,10 +601,10 @@
+ label="&pageAction.removeFromUrlbar.label;"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"/>
+ <menuitem class="pageActionContextMenuItem extensionUnpinned"
-+ label="&pageAction.allowInUrlbar.label;"
++ label="&pageAction.addToUrlbar.label;"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned"
-+ label="&pageAction.disallowInUrlbar.label;"
++ label="&pageAction.removeFromUrlbar.label;"
+ oncommand="BrowserPageActions.togglePinningForContextAction();"/>
+ <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/>
+ <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned"
@@ -550,20 +617,20 @@
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
+
+ <tooltip id="back-button-tooltip">
-+ <label class="tooltip-label" value="&backButton.tooltip;"/>
++ <description class="tooltip-label" value="&backButton.tooltip;"/>
+#ifdef XP_MACOSX
-+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
++ <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
+#else
-+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
++ <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
+#endif
+ </tooltip>
+
+ <tooltip id="forward-button-tooltip">
-+ <label class="tooltip-label" value="&forwardButton.tooltip;"/>
++ <description class="tooltip-label" value="&forwardButton.tooltip;"/>
+#ifdef XP_MACOSX
-+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
++ <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/>
+#else
-+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
++ <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/>
+#endif
+ </tooltip>
+
@@ -817,7 +884,7 @@
+ ondrop="homeButtonObserver.onDrop(event)"
+ ondragexit="homeButtonObserver.onDragExit(event)"
+ key="goHome"
-+ onclick="BrowserGoHome(event);"
++ onclick="BrowserHome(event);"
+ cui-areatype="toolbar"
+ tooltiptext="&homeButton.defaultPage.tooltip;"/>
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
@@ -1367,7 +1434,7 @@
#if defined(XP_WIN)
#include "nsIEHistoryEnumerator.h"
-@@ -34,18 +34,16 @@ using namespace mozilla::browser;
+@@ -33,18 +33,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@@ -1386,11 +1453,11 @@
#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);
+@@ -67,17 +65,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 },
@@ -1398,17 +1465,17 @@
- { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
+ { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
#endif
- { &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor },
{ &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
#if defined(XP_WIN)
{ &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
#elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
#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
-@@ -327,16 +327,23 @@ var gMainPane = {
+@@ -283,16 +283,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -1432,7 +1499,7 @@
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref();
-@@ -962,16 +969,27 @@ var gMainPane = {
+@@ -938,16 +945,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0;
@@ -1486,7 +1553,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp
-@@ -0,0 +1,204 @@
+@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -1640,57 +1707,6 @@
+ return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE;
+}
+
-+NS_IMETHODIMP
-+nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval)
-+{
-+ *_retval = nullptr;
-+
-+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID );
-+ if( !command )
-+ return NS_ERROR_FAILURE;
-+
-+ nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID );
-+ if( !str )
-+ return NS_ERROR_FAILURE;
-+
-+ str->SetData( NS_LITERAL_CSTRING( "GETDEFAULTFEEDREADER" ));
-+ command->AppendElement( str );
-+
-+ nsCOMPtr<nsIArray> output;
-+ if( !nsKDEUtils::command( command, getter_AddRefs( output ) ) )
-+ return NS_ERROR_FAILURE;
-+
-+ PRUint32 length;
-+ output->GetLength( &length );
-+ if( length != 1 )
-+ return NS_ERROR_FAILURE;
-+
-+ nsCOMPtr<nsISupportsCString> resstr = do_QueryElementAt( output, 0 );
-+ if( !resstr )
-+ return NS_ERROR_FAILURE;
-+
-+ nsAutoCString path;
-+ resstr->GetData( path );
-+ if (path.IsEmpty())
-+ return NS_ERROR_FAILURE;
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIFile> defaultReader =
-+ do_CreateInstance("@mozilla.org/file/local;1", &rv);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ rv = defaultReader->InitWithNativePath(path);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+
-+ bool exists;
-+ rv = defaultReader->Exists(&exists);
-+ NS_ENSURE_SUCCESS(rv, rv);
-+ if (!exists)
-+ return NS_ERROR_FAILURE;
-+
-+ NS_ADDREF(*_retval = defaultReader);
-+ return NS_OK;
-+}
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
new file mode 100644
--- /dev/null
@@ -1776,7 +1792,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
-@@ -462,16 +462,18 @@
+@@ -458,16 +458,18 @@
@RESPATH@/browser/defaults/settings/pinning
@RESPATH@/browser/defaults/settings/main