--- a/firefox-kde.patch Sun Jan 24 13:40:23 2016 +0100
+++ b/firefox-kde.patch Thu Apr 28 17:08:03 2016 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 77c3bdc27160dfa96aa4b3288c7f12a72f273967
+# Parent f8b7b01caa34a2b2dbea6d47993ad7bbb7346a64
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,1250 @@
+@@ -0,0 +1,1175 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -16,7 +16,7 @@
+
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
-+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
++<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
@@ -99,15 +99,6 @@
+ <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
+ accesskey="&unpinTab.accesskey;"
+ oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
-+ <menu id="context_tabViewMenu" label="&moveToGroup.label;"
-+ accesskey="&moveToGroup.accesskey;">
-+ <menupopup id="context_tabViewMenuPopup"
-+ onpopupshowing="if (event.target == this) TabView.moveToGroupPopupShowing(event);">
-+ <menuseparator id="context_tabViewNamedGroups" hidden="true"/>
-+ <menuitem id="context_tabViewNewGroup" label="&moveToNewGroup.label;"
-+ oncommand="TabView.moveTabTo(TabContextMenu.contextTab, null);"/>
-+ </menupopup>
-+ </menu>
+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
+ accesskey="&moveToNewWindow.accesskey;"
+ tbattr="tabbrowser-multiple"
@@ -127,7 +118,7 @@
+ accesskey="&bookmarkAllTabs.accesskey;"
+ command="Browser:BookmarkAllTabs"/>
+ <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;"
-+ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab);"/>
++ oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/>
+ <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
+ <menuseparator/>
@@ -269,14 +260,6 @@
+ <box id="UITourHighlight"></box>
+ </panel>
+
-+ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
-+ onclick="this.hidePopup()">
-+ <hbox id="abouthome-search-panel-manage"
-+ onclick="openPreferences('paneSearch')">
-+ <label>&changeSearchSettings.button;</label>
-+ </hbox>
-+ </panel>
-+
+ <panel id="social-share-panel"
+ class="social-panel"
+ type="arrow"
@@ -327,26 +310,6 @@
+ orient="horizontal"
+ hidden="true"/>
+
-+ <menupopup id="processHangOptions"
-+ onpopupshowing="ProcessHangMonitor.refreshMenu(window);">
-+ <menuitem id="processHangTerminateScript"
-+ oncommand="ProcessHangMonitor.terminateScript(window)"
-+ accesskey="&processHang.terminateScript.accessKey;"
-+ label="&processHang.terminateScript.label;"/>
-+ <menuitem id="processHangDebugScript"
-+ oncommand="ProcessHangMonitor.debugScript(window)"
-+ accesskey="&processHang.debugScript.accessKey;"
-+ label="&processHang.debugScript.label;"/>
-+ <menuitem id="processHangTerminatePlugin"
-+ oncommand="ProcessHangMonitor.terminatePlugin(window)"
-+ accesskey="&processHang.terminatePlugin.accessKey;"
-+ label="&processHang.terminatePlugin.label;"/>
-+ <menuitem id="processHangTerminateProcess"
-+ oncommand="ProcessHangMonitor.terminateProcess(window)"
-+ accesskey="&processHang.terminateProcess.accessKey;"
-+ label="&processHang.terminateProcess.label;"/>
-+ </menupopup>
-+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@@ -508,17 +471,6 @@
+
+ <tooltip id="dynamic-shortcut-tooltip"
+ onpopupshowing="UpdateDynamicShortcutTooltipText(this);"/>
-+
-+ <menupopup id="emeNotificationsPopup">
-+ <menuitem id="emeNotificationsNotNow"
-+ label="&emeNotificationsNotNow.label;"
-+ acceskey="&emeNotificationsNotNow.accesskey;"
-+ oncommand="gEMEHandler.onNotNow(this);"/>
-+ <menuitem id="emeNotificationsDontAskAgain"
-+ label="&emeNotificationsDontAskAgain.label;"
-+ acceskey="&emeNotificationsDontAskAgain.accesskey;"
-+ oncommand="gEMEHandler.onDontAskAgain(this);"/>
-+ </menupopup>
+ </popupset>
+
+#ifdef CAN_DRAW_IN_TITLEBAR
@@ -626,12 +578,6 @@
+ removable="false">
+ <menupopup id="alltabs-popup"
+ position="after_end">
-+ <menuitem id="menu_tabview"
-+ class="menuitem-iconic"
-+ key="key_tabview"
-+ label="&viewTabGroups.label;"
-+ command="Browser:ToggleTabView"
-+ observes="tabviewGroupsNumber"/>
+ <menuitem id="alltabs_undoCloseTab"
+ class="menuitem-iconic"
+ key="key_undoCloseTab"
@@ -671,9 +617,9 @@
+ fullscreentoolbar="true" mode="icons" customizable="true"
+ iconsize="small"
+#ifdef MOZ_DEV_EDITION
-+ defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,pocket-button,downloads-button,home-button,loop-button"
++ defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,downloads-button,home-button,loop-button"
+#else
-+ defaultset="urlbar-container,search-container,bookmarks-menu-button,pocket-button,downloads-button,home-button,loop-button"
++ defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,loop-button"
+#endif
+ customizationtarget="nav-bar-customization-target"
+ overflowable="true"
@@ -740,7 +686,7 @@
+ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
-+ aria-label="&urlbar.webNotsNotificationAnchor.label;"/>
++ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
@@ -774,13 +720,11 @@
+ onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
+ onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
+ ondragstart="gIdentityHandler.onDragStart(event);">
-+ <hbox id="identity-icons"
-+ consumeanchor="identity-box">
-+ <image id="tracking-protection-icon"/>
-+ <image id="page-proxy-favicon"
-+ onclick="PageProxyClickHandler(event);"
-+ pageproxystate="invalid"/>
-+ </hbox>
++ <image id="identity-icon"
++ consumeanchor="identity-box"
++ onclick="PageProxyClickHandler(event);"/>
++ <image id="tracking-protection-icon"/>
++ <image id="connection-icon"/>
+ <hbox id="identity-icon-labels">
+ <label id="identity-icon-label" class="plain" flex="1"/>
+ <label id="identity-icon-country-label" class="plain"/>
@@ -851,7 +795,6 @@
+ oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"
+ onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
+ onpopupshowing="BookmarkingUI.onPopupShowing(event);
-+ BookmarkingUI.updatePocketItemVisibility('BMB_');
+ BookmarkingUI.attachPlacesView(event, this);"
+ tooltip="bhTooltip" popupsinherittooltip="true">
+ <menuitem id="BMB_viewBookmarksSidebar"
@@ -868,11 +811,6 @@
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menuseparator/>
-+ <menuitem id="BMB_pocket"
-+ class="menuitem-iconic bookmark-item subviewbutton"
-+ label="&pocketMenuitem.label;"
-+ oncommand="openUILink(Pocket.listURL, event);"/>
-+ <menuseparator id="BMB_pocketSeparator"/>
+ <menuitem id="BMB_subscribeToPageMenuitem"
+#ifndef XP_MACOSX
+ class="menuitem-iconic subviewbutton"
@@ -1091,19 +1029,6 @@
+ type="checkbox"
+ label="&fullScreenCmd.label;"
+ tooltip="dynamic-shortcut-tooltip"/>
-+
-+#ifdef MOZ_SERVICES_SYNC
-+ <toolbarbutton id="sync-button"
-+ class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&syncToolbarButton.label;"
-+ oncommand="gSyncUI.handleToolbarButton()"/>
-+#endif
-+
-+ <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&tabGroupsButton.label;"
-+ command="Browser:ToggleTabView"
-+ tooltip="dynamic-shortcut-tooltip"
-+ observes="tabviewGroupsNumber"/>
+ </toolbarpalette>
+ </toolbox>
+
@@ -1259,25 +1184,25 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -70,16 +70,18 @@ browser.jar:
- content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml)
- content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml)
+@@ -71,16 +71,18 @@ browser.jar:
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
+ * content/browser/aboutTabGroupsMigration.xhtml (content/aboutTabGroupsMigration.xhtml)
+ content/browser/aboutTabGroupsMigration.js (content/aboutTabGroupsMigration.js)
* content/browser/browser.css (content/browser.css)
- * content/browser/browser.js (content/browser.js)
+ content/browser/browser.js (content/browser.js)
* 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
- * content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
- * content/browser/chatWindow.xul (content/chatWindow.xul)
- content/browser/tab-content.js (content/tab-content.js)
- content/browser/content.js (content/content.js)
- content/browser/social-content.js (content/social-content.js)
- content/browser/defaultthemes/1.footer.jpg (content/defaultthemes/1.footer.jpg)
- content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
- content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
+ content/browser/browser-addons.js (content/browser-addons.js)
+ content/browser/browser-ctrlTab.js (content/browser-ctrlTab.js)
+ 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-devedition.js (content/browser-devedition.js)
+ content/browser/browser-eme.js (content/browser-eme.js)
+ content/browser/browser-feeds.js (content/browser-feeds.js)
+ content/browser/browser-fullScreen.js (content/browser-fullScreen.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
@@ -1296,11 +1221,11 @@
#if defined(XP_WIN)
#include "nsIEHistoryEnumerator.h"
- #include "nsEdgeReadingListExtractor.h"
#endif
#include "rdf.h"
-@@ -32,18 +32,16 @@ using namespace mozilla::browser;
+ #include "nsFeedSniffer.h"
+@@ -31,18 +31,16 @@ using namespace mozilla::browser;
/////////////////////////////////////////////////////////////////////////////
@@ -1315,11 +1240,11 @@
#if defined(XP_WIN)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsEdgeReadingListExtractor)
#endif
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
-@@ -63,17 +61,17 @@ NS_DEFINE_NAMED_CID(NS_EDGEREADINGLISTEX
+
+@@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID);
#endif
@@ -1335,13 +1260,13 @@
{ &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/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 = {
+@@ -19,16 +19,22 @@ var gMainPane = {
init: function ()
{
function setEventListener(aId, aEventType, aCallback)
@@ -1364,7 +1289,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.
-@@ -711,16 +717,27 @@ var gMainPane = {
+@@ -704,16 +710,27 @@ var gMainPane = {
*/
setDefaultBrowser: function()
{
@@ -1395,7 +1320,7 @@
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
-@@ -30,16 +30,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
+@@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
SOURCES += [
@@ -1418,7 +1343,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp
-@@ -0,0 +1,292 @@
+@@ -0,0 +1,196 @@
+/* -*- 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
@@ -1499,102 +1424,6 @@
+}
+
+NS_IMETHODIMP
-+nsKDEShellService::GetShouldSkipCheckDefaultBrowser(bool* aResult)
-+{
-+ NS_ENSURE_ARG_POINTER(aResult);
-+
-+ nsresult rv;
-+ nsCOMPtr<nsIPrefBranch> prefs(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+
-+ rv = prefs->GetBoolPref(PREF_SKIPDEFAULTBROWSERCHECK, aResult);
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+ if (*aResult) {
-+ // Only skip the default browser check once. The next attempt in
-+ // a new session should proceed.
-+ return prefs->SetBoolPref(PREF_SKIPDEFAULTBROWSERCHECK, false);
-+ }
-+
-+ int32_t defaultBrowserCheckCount;
-+ rv = prefs->GetIntPref(PREF_DEFAULTBROWSERCHECKCOUNT,
-+ &defaultBrowserCheckCount);
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+ if (defaultBrowserCheckCount < 4) {
-+ *aResult = false;
-+ return prefs->SetIntPref(PREF_DEFAULTBROWSERCHECKCOUNT,
-+ defaultBrowserCheckCount + 1);
-+ }
-+
-+ // Disable the default browser check after three attempts.
-+ // Don't modify PREF_CHECKDEFAULTBROWSER since that is a
-+ // user-initiated action and it shouldn't get re-enabled
-+ // if it has been user disabled.
-+ *aResult = true;
-+ return rv;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::GetShouldCheckDefaultBrowser(bool* aResult)
-+{
-+ // If we've already checked, the browser has been started and this is a
-+ // new window open, and we don't want to check again.
-+ if (mCheckedThisSession) {
-+ *aResult = false;
-+ return NS_OK;
-+ }
-+
-+ nsresult rv;
-+#ifndef RELEASE_BUILD
-+ bool skipDefaultBrowserCheck;
-+ rv = GetShouldSkipCheckDefaultBrowser(&skipDefaultBrowserCheck);
-+ if (NS_FAILED(rv)) {
-+ return rv;
-+ }
-+ if (skipDefaultBrowserCheck) {
-+ *aResult = false;
-+ return rv;
-+ }
-+#endif
-+
-+ nsCOMPtr<nsIPrefBranch> prefs;
-+ nsCOMPtr<nsIPrefService> pserve(do_GetService(NS_PREFSERVICE_CONTRACTID));
-+ if (pserve)
-+ pserve->GetBranch("", getter_AddRefs(prefs));
-+
-+ if (prefs)
-+ prefs->GetBoolPref(PREF_CHECKDEFAULTBROWSER, aResult);
-+
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::SetShouldCheckDefaultBrowser(bool aShouldCheck)
-+{
-+ nsCOMPtr<nsIPrefBranch> prefs;
-+ nsCOMPtr<nsIPrefService> pserve(do_GetService(NS_PREFSERVICE_CONTRACTID));
-+ if (pserve)
-+ pserve->GetBranch("", getter_AddRefs(prefs));
-+
-+ if (prefs)
-+ prefs->SetBoolPref(PREF_CHECKDEFAULTBROWSER, aShouldCheck);
-+
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
-+nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
-+{
-+ *aResult = true;
-+ return NS_OK;
-+}
-+
-+NS_IMETHODIMP
+nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
+ PRInt32 aPosition)
+{
@@ -1795,9 +1624,9 @@
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
-@@ -709,16 +709,17 @@
+@@ -703,16 +703,17 @@
+ @RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
- @RESPATH@/browser/defaults/profile/prefs.js
@RESPATH@/browser/defaults/permissions
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
@@ -1810,6 +1639,6 @@
#ifdef MOZ_SERVICES_NOTIFICATIONS
@RESPATH@/defaults/pref/services-notifications.js
#endif
- #ifdef MOZ_SERVICES_SYNC
@RESPATH@/defaults/pref/services-sync.js
- #endif
+
+ ; [Layout Engine Resources]