--- a/firefox-kde.patch Sat Sep 19 22:04:22 2015 +0200
+++ b/firefox-kde.patch Sat Oct 31 20:58:31 2015 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 8d1e0e3997402b94742eded6477abed4b559f373
+# Parent 95b421ca30846be2b5d7230d72263e6dff042d0b
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,1264 @@
+@@ -0,0 +1,1234 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -66,6 +66,7 @@
+ screenX="4" screenY="4"
+ fullscreenbutton="true"
+ sizemode="normal"
++ retargetdocumentfocus="urlbar"
+ persist="screenX screenY width height sizemode">
+
+# All JS files which are not content (only) dependent that browser.xul
@@ -153,7 +154,14 @@
+ <panel type="autocomplete" id="PopupSearchAutoComplete" noautofocus="true" hidden="true"/>
+
+ <!-- for url bar autocomplete -->
-+ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
++ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true">
++#ifdef NIGHTLY_BUILD
++ <hbox id="urlbar-search-footer" flex="1" align="stretch" pack="end">
++ <button id="urlbar-search-settings" label="&changeSearchSettings.button;"
++ oncommand="BrowserUITelemetry.countSearchSettingsEvent('urlbar'); openPreferences('paneSearch')"/>
++ </hbox>
++#endif
++ </panel>
+
+ <!-- for select dropdowns. The menupopup is what shows the list of options,
+ and the popuponly menulist makes things like the menuactive attributes
@@ -197,7 +205,7 @@
+ </row>
+ <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
+ <hbox id="editBookmarkPanelBottomButtons" pack="end">
-+#ifndef XP_UNIX
++#ifdef XP_UNIX
+ <button id="editBookmarkPanelDoneButton"
+ class="editBookmarkPanelBottomButton"
+ label="&editBookmark.done.label;"
@@ -718,6 +726,7 @@
+ autocompletesearchparam="enable-actions"
+ autocompletepopup="PopupAutoCompleteRichResult"
+ completeselectedindex="true"
++ shrinkdelay="250"
+ tabscrolling="true"
+ showcommentcolumn="true"
+ showimagecolumn="true"
@@ -741,8 +750,6 @@
+ <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="bad-content-blocked-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="bad-content-unblocked-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
@@ -764,10 +771,13 @@
+ onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
+ onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
+ ondragstart="gIdentityHandler.onDragStart(event);">
-+ <image id="page-proxy-favicon"
-+ consumeanchor="identity-box"
-+ onclick="PageProxyClickHandler(event);"
-+ pageproxystate="invalid"/>
++ <hbox id="identity-icons"
++ consumeanchor="identity-box">
++ <image id="tracking-protection-icon"/>
++ <image id="page-proxy-favicon"
++ onclick="PageProxyClickHandler(event);"
++ pageproxystate="invalid"/>
++ </hbox>
+ <hbox id="identity-icon-labels">
+ <label id="identity-icon-label" class="plain" flex="1"/>
+ <label id="identity-icon-country-label" class="plain"/>
@@ -782,10 +792,6 @@
+ hidden="true"
+ tooltiptext="&pageReportIcon.tooltip;"
+ onclick="gPopupBlockerObserver.onReportButtonClick(event);"/>
-+ <image id="readinglist-addremove-button"
-+ class="urlbar-icon"
-+ hidden="true"
-+ onclick="ReadingListUI.buttonClick(event);"/>
+ <image id="reader-mode-button"
+ class="urlbar-icon"
+ hidden="true"
@@ -916,22 +922,6 @@
+ new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS',
+ PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);"/>
+ </menu>
-+ <menuseparator>
-+ <observes element="readingListSidebar" attribute="hidden"/>
-+ </menuseparator>
-+ <menu id="BMB_readingList"
-+ class="menu-iconic bookmark-item subviewbutton"
-+ label="&readingList.label;"
-+ container="true">
-+ <observes element="readingListSidebar" attribute="hidden"/>
-+ <menupopup id="BMB_readingListPopup"
-+ placespopup="true"
-+ onpopupshowing="ReadingListUI.onReadingListPopupShowing(this);">
-+ <menuitem id="BMB_viewReadingListSidebar" class="subviewbutton"
-+ oncommand="SidebarUI.show('readingListSidebar');"
-+ label="&readingList.showSidebar.label;"/>
-+ </menupopup>
-+ </menu>
+ <menuseparator/>
+ <!-- Bookmarks menu items will go here -->
+ <menuitem id="BMB_bookmarksShowAll"
@@ -978,7 +968,7 @@
+ class="chromeclass-toolbar-additional"
+ removable="false">
+ <toolbarbutton id="PanelUI-menu-button"
-+ class="toolbarbutton-1"
++ class="toolbarbutton-1 badged-button"
+ consumeanchor="PanelUI-button"
+ label="&brandShortName;"
+ tooltiptext="&appmenu.tooltip;"/>
@@ -1196,26 +1186,6 @@
+ <vbox id="full-screen-warning-message" align="center">
+ <description id="full-screen-domain-text"/>
+ <description class="full-screen-description" value="&fullscreenExitHint2.value;"/>
-+ <vbox id="full-screen-approval-pane" align="center">
-+ <hbox>
-+#ifdef XP_UNIX
-+ <button label="&fullscreenExitButton.label;"
-+ oncommand="FullScreen.setFullscreenAllowed(false);"
-+ class="full-screen-approval-button"/>
-+ <button label="&fullscreenAllowButton.label;"
-+ oncommand="FullScreen.setFullscreenAllowed(true);"
-+ class="full-screen-approval-button"/>
-+#else
-+ <button label="&fullscreenAllowButton.label;"
-+ oncommand="FullScreen.setFullscreenAllowed(true);"
-+ class="full-screen-approval-button"/>
-+ <button label="&fullscreenExitButton.label;"
-+ oncommand="FullScreen.setFullscreenAllowed(false);"
-+ class="full-screen-approval-button"/>
-+#endif
-+ </hbox>
-+ <checkbox id="full-screen-remember-decision"/>
-+ </vbox>
+ </vbox>
+ </hbox>
+ </hbox>
@@ -1270,47 +1240,6 @@
+</deck>
+
+</window>
-diff --git a/browser/base/content/browser.xul b/browser/base/content/browser.xul
---- a/browser/base/content/browser.xul
-+++ b/browser/base/content/browser.xul
-@@ -184,17 +184,17 @@
- class="editBookmarkPanelHeaderButton"
- oncommand="StarUI.removeBookmarkButtonCommand();"
- accesskey="&editBookmark.removeBookmark.accessKey;"/>
- </hbox>
- </vbox>
- </row>
- <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
- <hbox id="editBookmarkPanelBottomButtons" pack="end">
--#ifndef XP_UNIX
-+#ifdef XP_UNIX
- <button id="editBookmarkPanelDoneButton"
- class="editBookmarkPanelBottomButton"
- label="&editBookmark.done.label;"
- default="true"
- oncommand="StarUI.panel.hidePopup();"/>
- <button id="editBookmarkPanelDeleteButton"
- class="editBookmarkPanelBottomButton"
- label="&editBookmark.cancel.label;"
-@@ -1185,17 +1185,17 @@
-
- <hbox id="full-screen-warning-container" hidden="true" fadeout="true">
- <hbox style="width: 100%;" pack="center"> <!-- Inner hbox needed due to bug 579776. -->
- <vbox id="full-screen-warning-message" align="center">
- <description id="full-screen-domain-text"/>
- <description class="full-screen-description" value="&fullscreenExitHint2.value;"/>
- <vbox id="full-screen-approval-pane" align="center">
- <hbox>
--#ifdef XP_UNIX
-+#ifndef XP_UNIX
- <button label="&fullscreenExitButton.label;"
- oncommand="FullScreen.setFullscreenAllowed(false);"
- class="full-screen-approval-button"/>
- <button label="&fullscreenAllowButton.label;"
- oncommand="FullScreen.setFullscreenAllowed(true);"
- class="full-screen-approval-button"/>
- #else
- <button label="&fullscreenAllowButton.label;"
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -1351,11 +1280,11 @@
#if defined(XP_WIN)
#include "nsIEHistoryEnumerator.h"
+ #include "nsEdgeReadingListExtractor.h"
#endif
#include "rdf.h"
- #include "nsFeedSniffer.h"
-@@ -31,18 +31,16 @@ using namespace mozilla::browser;
+@@ -32,18 +32,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@@ -1370,11 +1299,11 @@
#if defined(XP_WIN)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
+ NS_GENERIC_FACTORY_CONSTRUCTOR(nsEdgeReadingListExtractor)
#endif
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
-
-@@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
+@@ -63,17 +61,17 @@ NS_DEFINE_NAMED_CID(NS_EDGEREADINGLISTEX
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
#endif
@@ -1390,26 +1319,26 @@
{ &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
#if defined(XP_WIN)
{ &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
+ { &kNS_EDGEREADINGLISTEXTRACTOR_CID, false, nullptr, nsEdgeReadingListExtractorConstructor },
#elif defined(XP_MACOSX)
{ &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
- #endif
-diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
---- a/browser/components/preferences/main.js
-+++ b/browser/components/preferences/main.js
-@@ -12,16 +12,22 @@ var gMainPane = {
-
- /**
- * Initialization of this.
- */
+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
+@@ -14,16 +14,22 @@ var gMainPane = {
init: function ()
{
- this._pane = document.getElementById("paneMain");
+ function setEventListener(aId, aEventType, aCallback)
+ {
+ document.getElementById(aId)
+ .addEventListener(aEventType, aCallback.bind(gMainPane));
+ }
+ var env = Components.classes["@mozilla.org/process/environment;1"]
-+ .getService(Components.interfaces.nsIEnvironment);
++ .getService(Components.interfaces.nsIEnvironment);
+ var kde_session = 0;
+ if (env.get('KDE_FULL_SESSION') == "true")
-+ kde_session = 1;
++ kde_session = 1;
+
#ifdef HAVE_SHELL_SERVICE
this.updateSetDefaultBrowser();
@@ -1419,7 +1348,7 @@
// when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open.
-@@ -527,16 +533,27 @@ var gMainPane = {
+@@ -709,16 +715,27 @@ var gMainPane = {
*/
setDefaultBrowser: function()
{
@@ -1430,17 +1359,17 @@
shellSvc.setDefaultBrowser(true, false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
-+ .createInstance(Components.interfaces.nsILocalFile);
++ .createInstance(Components.interfaces.nsILocalFile);
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
+ var process = Components.classes["@mozilla.org/process/util;1"]
-+ .createInstance(Components.interfaces.nsIProcess);
++ .createInstance(Components.interfaces.nsIProcess);
+ process.init(shellObj);
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
+ "BrowserApplication", "firefox"];
+ process.run(false, args, args.length);
+ }
} catch (ex) {
- Components.utils.reportError(ex);
+ Cu.reportError(ex);
return;
}
let selectedIndex =
@@ -1887,7 +1816,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
-@@ -703,19 +703,21 @@
+@@ -709,19 +709,21 @@
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/profile/prefs.js