--- a/firefox-kde.patch Thu Dec 31 10:00:30 2015 +0100
+++ b/firefox-kde.patch Sun Jan 24 10:29:45 2016 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 3fedb882f767b2e4ff72ef972a9cce4c5d1af4af
+# Parent 77c3bdc27160dfa96aa4b3288c7f12a72f273967
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,1222 @@
+@@ -0,0 +1,1250 @@
+#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://browser/skin/devtools/common.css" type="text/css"?>
++<?xml-stylesheet href="chrome://devtools/skin/common.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"?>
@@ -170,6 +170,7 @@
+ popuponly menulist to be its immediate parent. -->
+ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
+ <menupopup rolluponmousewheel="true"
++ activateontab="true"
+#ifdef XP_WIN
+ consumeoutsideclicks="false" ignorekeys="handled"
+#endif
@@ -683,7 +684,7 @@
+
+ <hbox id="nav-bar-customization-target" flex="1">
+ <toolbaritem id="urlbar-container" flex="400" persist="width"
-+ title="&locationItem.title;" removable="false"
++ removable="false"
+ class="chromeclass-location" overflows="false">
+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&backCmd.label;"
@@ -718,28 +719,50 @@
+ onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
+ onblur="setTimeout(() => { document.getElementById('identity-box').style.MozUserFocus = ''; }, 0);">
+ <box id="notification-popup-box" hidden="true" align="center">
-+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"/>
++ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.defaultNotificationAnchor.label;"/>
++ <!-- NB: the identity-notification-icon is used for persona-based auth and preffed
++ off by default. It hasn't been updated for some time and liable to being
++ removed.-->
+ <image id="identity-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="push-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="login-fill-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="password-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <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="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"/>
-+ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="translate-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="translated-notification-icon" class="notification-anchor-icon" role="button"/>
-+ <image id="eme-notification-icon" class="notification-anchor-icon" role="button"/>
++ <image id="geo-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
++ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.addonsNotificationAnchor.label;"/>
++ <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
++ <image id="login-fill-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
++ <image id="password-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.passwordNotificationAnchor.label;"/>
++ <image id="webapps-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.webappsNotificationAnchor.label;"/>
++ <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;"/>
++ <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"
++ aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
++ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
++ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
++ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
++ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
++ <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
++ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.servicesNotificationAnchor.label;"/>
++ <image id="translate-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.translateNotificationAnchor.label;"/>
++ <image id="translated-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.translatedNotificationAnchor.label;"/>
++ <image id="eme-notification-icon" class="notification-anchor-icon" role="button"
++ aria-label="&urlbar.emeNotificationAnchor.label;"/>
+ </box>
+ <!-- Use onclick instead of normal popup= syntax since the popup
+ code fires onmousedown, and hence eats our favicon drag events.
@@ -747,6 +770,7 @@
+ has focus, otherwise pressing F6 focuses it instead of the location bar -->
+ <box id="identity-box" role="button"
+ align="center"
++ aria-label="&urlbar.viewSiteInfo.label;"
+ onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
+ onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
+ ondragstart="gIdentityHandler.onDragStart(event);">
@@ -776,6 +800,10 @@
+ hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/>
+ </hbox>
++ <hbox id="userContext-icons">
++ <label id="userContext-label"/>
++ <image id="userContext-indicator"/>
++ </hbox>
+ <toolbarbutton id="urlbar-go-button"
+ class="chromeclass-toolbar-additional"
+ onclick="gURLBar.handleCommand(event);"
@@ -1096,7 +1124,7 @@
+
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
+ <vbox id="appcontent" flex="1">
-+ <notificationbox id="high-priority-global-notificationbox"/>
++ <notificationbox id="high-priority-global-notificationbox" notificationside="top"/>
+ <tabbrowser id="content"
+ flex="1" contenttooltip="aHTMLTooltip"
+ tabcontainer="tabbrowser-tabs"
@@ -1179,7 +1207,7 @@
+ </html:div>
+
+ <vbox id="browser-bottombox" layer="true">
-+ <notificationbox id="global-notificationbox"/>
++ <notificationbox id="global-notificationbox" notificationside="bottom"/>
+ <toolbar id="developer-toolbar"
+ hidden="true">
+#ifdef XP_MACOSX
@@ -1336,7 +1364,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.
-@@ -709,16 +715,27 @@ var gMainPane = {
+@@ -711,16 +717,27 @@ var gMainPane = {
*/
setDefaultBrowser: function()
{
@@ -1767,21 +1795,16 @@
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
-@@ -699,19 +699,21 @@
+@@ -709,16 +709,17 @@
+ @RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/profile/prefs.js
@RESPATH@/browser/defaults/permissions
- #ifndef LIBXUL_SDK
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
; Technically this is an app pref file, but we are keeping it in the original
; gre location for now.
@RESPATH@/defaults/pref/channel-prefs.js
+@BINPATH@/defaults/pref/kde.js
- #else
- ; For Fx-on-xr, channel-prefs lives with the app preferences. (Bug 762588)
- @RESPATH@/@PREF_DIR@/channel-prefs.js
-+@BINPATH@/@PREF_DIR@/kde.js
- #endif
; Services (gre) prefs
#ifdef MOZ_SERVICES_NOTIFICATIONS
@@ -1789,3 +1812,4 @@
#endif
#ifdef MOZ_SERVICES_SYNC
@RESPATH@/defaults/pref/services-sync.js
+ #endif