firefox-kde.patch
branchfirefox50
changeset 932 a58cc7936ce7
parent 929 9fc2ebe6d7f1
child 935 9ae2b79d3bb1
--- a/firefox-kde.patch	Sun Nov 13 16:53:26 2016 +0100
+++ b/firefox-kde.patch	Tue Nov 15 21:26:23 2016 +0100
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent  2704257a50b4ff60fa43eca8d4a547c6d70bb30e
+# Parent  2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc
 
 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,1179 @@
+@@ -0,0 +1,1200 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -19,7 +19,7 @@
 +<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.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/customizableui/panelUI.css" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
 +
@@ -112,6 +112,12 @@
 +                hidden="true"
 +                oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
 +#endif
++      <menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
++      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
++            accesskey="&sendTabToDevice.accesskey;" hidden="true">
++        <menupopup id="context_sendTabToDevicePopupMenu"
++                   onpopupshowing="gFxAccounts.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
++      </menu>
 +      <menuseparator/>
 +      <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
 +                tbattr="tabbrowser-multiple-visible"
@@ -380,7 +386,6 @@
 +    <menupopup id="placesContext">
 +      <menuseparator id="placesContext_recentlyBookmarkedSeparator"
 +                     ignoreitem="true"
-+                     ordinal="2"
 +                     hidden="true"/>
 +      <menuitem id="placesContext_hideRecentlyBookmarked"
 +                label="&hideRecentlyBookmarked.label;"
@@ -388,7 +393,6 @@
 +                oncommand="BookmarkingUI.hideRecentlyBookmarked();"
 +                closemenu="single"
 +                ignoreitem="true"
-+                ordinal="2"
 +                hidden="true"/>
 +      <menuitem id="placesContext_showRecentlyBookmarked"
 +                label="&showRecentlyBookmarked.label;"
@@ -396,11 +400,10 @@
 +                oncommand="BookmarkingUI.showRecentlyBookmarked();"
 +                closemenu="single"
 +                ignoreitem="true"
-+                ordinal="2"
 +                hidden="true"/>
 +    </menupopup>
 +
-+    <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">
++    <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
 +      <hbox>
 +        <button class="ctrlTab-preview" flex="1"/>
 +        <button class="ctrlTab-preview" flex="1"/>
@@ -553,12 +556,11 @@
 +  <toolbox id="navigator-toolbox" mode="icons">
 +    <!-- Menu -->
 +    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
-+             defaultset="menubar-items"
 +             mode="icons" iconsize="small"
 +#ifdef MENUBAR_CAN_AUTOHIDE
 +             toolbarname="&menubarCmd.label;"
 +             accesskey="&menubarCmd.accesskey;"
-+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
++#if defined(MOZ_WIDGET_GTK)
 +             autohide="true"
 +#endif
 +#endif
@@ -585,10 +587,9 @@
 +             iconsize="small"
 +             aria-label="&tabsToolbar.label;"
 +             context="toolbar-context-menu"
-+             defaultset="tabbrowser-tabs,new-tab-button,alltabs-button"
 +             collapsed="true">
 +
-+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
++#if defined(MOZ_WIDGET_GTK)
 +      <hbox id="private-browsing-indicator"
 +            skipintoolbarset="true"/>
 +#endif
@@ -638,7 +639,7 @@
 +        </menupopup>
 +      </toolbarbutton>
 +
-+#if !defined(MOZ_WIDGET_GTK) && !defined(MOZ_WIDGET_QT)
++#if !defined(MOZ_WIDGET_GTK)
 +      <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
 +#endif
 +#ifdef CAN_DRAW_IN_TITLEBAR
@@ -657,21 +658,10 @@
 +#endif
 +    </toolbar>
 +
-+    <!--
-+           CAVEAT EMPTOR
-+           Should you need to add items to the toolbar here, make sure to also add them
-+           to the default placements of buttons in CustomizableUI.jsm, so the
-+           customization code doesn't get confused.
-+      -->
 +    <toolbar id="nav-bar"
 +             aria-label="&navbarCmd.label;"
 +             fullscreentoolbar="true" mode="icons" customizable="true"
 +             iconsize="small"
-+#ifdef MOZ_DEV_EDITION
-+             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,downloads-button,home-button,loop-button"
-+#endif
 +             customizationtarget="nav-bar-customization-target"
 +             overflowable="true"
 +             overflowbutton="nav-bar-overflow-button"
@@ -715,46 +705,6 @@
 +                     pageproxystate="invalid"
 +                     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"
-+                       aria-label="&urlbar.defaultNotificationAnchor.label;"/>
-+                <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
-+                       aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
-+                <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
-+                       aria-label="&urlbar.addonsNotificationAnchor.label;"/>
-+                <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
-+                       aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
-+                <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button"
-+                       aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
-+                <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
-+                       aria-label="&urlbar.passwordNotificationAnchor.label;"/>
-+                <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
-+                       aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
-+                <image id="web-notifications-notification-icon" class="notification-anchor-icon web-notifications-icon" role="button"
-+                       aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
-+                <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
-+                       aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
-+                <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button"
-+                       aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
-+                <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
-+                       aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
-+                <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button"
-+                       aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
-+                <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
-+                       aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
-+                <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button"
-+                       aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
-+                <image id="pointerLock-notification-icon" class="notification-anchor-icon pointer-icon" role="button"
-+                       aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
-+                <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
-+                       aria-label="&urlbar.servicesNotificationAnchor.label;"/>
-+                <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
-+                       aria-label="&urlbar.translateNotificationAnchor.label;"/>
-+                <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
-+                       aria-label="&urlbar.translatedNotificationAnchor.label;"/>
-+                <image id="eme-notification-icon" class="notification-anchor-icon drm-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.
 +                   We only add the identity-box button to the tab order when the location bar
@@ -768,6 +718,67 @@
 +                <image id="identity-icon"
 +                       consumeanchor="identity-box"
 +                       onclick="PageProxyClickHandler(event);"/>
++                <box id="blocked-permissions-container" align="center" tooltiptext="">
++                  <image data-permission-id="geo" class="notification-anchor-icon geo-icon blocked" role="button"
++                         aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
++                  <image data-permission-id="desktop-notification" class="notification-anchor-icon desktop-notification-icon blocked" role="button"
++                         aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
++                  <image data-permission-id="camera" class="notification-anchor-icon camera-icon blocked" role="button"
++                         aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
++                  <image data-permission-id="indexedDB" class="notification-anchor-icon indexedDB-icon blocked" role="button"
++                         aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
++                  <image data-permission-id="microphone" class="notification-anchor-icon microphone-icon blocked" role="button"
++                         aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
++                  <image data-permission-id="screen" class="notification-anchor-icon screen-icon blocked" role="button"
++                         aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
++                  <image data-permission-id="pointerLock" class="notification-anchor-icon pointerLock-icon blocked" role="button"
++                         aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
++                </box>
++                <box id="notification-popup-box"
++                     hidden="true"
++                     tooltiptext=""
++                     onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
++                     onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
++                     align="center">
++                  <image id="default-notification-icon" class="notification-anchor-icon" role="button"
++                         aria-label="&urlbar.defaultNotificationAnchor.label;"/>
++                  <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
++                         aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
++                  <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
++                         aria-label="&urlbar.addonsNotificationAnchor.label;"/>
++                  <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
++                         aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
++                  <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button"
++                         aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
++                  <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
++                         aria-label="&urlbar.passwordNotificationAnchor.label;"/>
++                  <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
++                         aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
++                  <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
++                         aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
++                  <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
++                         aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
++                  <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button"
++                         aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
++                  <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
++                         aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
++                  <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button"
++                         aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
++                  <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
++                         aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
++                  <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button"
++                         aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
++                  <image id="pointerLock-notification-icon" class="notification-anchor-icon pointerLock-icon" role="button"
++                         aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
++                  <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
++                         aria-label="&urlbar.servicesNotificationAnchor.label;"/>
++                  <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
++                         aria-label="&urlbar.translateNotificationAnchor.label;"/>
++                  <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
++                         aria-label="&urlbar.translatedNotificationAnchor.label;"/>
++                  <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
++                         aria-label="&urlbar.emeNotificationAnchor.label;"/>
++                </box>
 +                <image id="tracking-protection-icon"/>
 +                <image id="connection-icon"/>
 +                <hbox id="identity-icon-labels">
@@ -972,7 +983,6 @@
 +             mode="icons" iconsize="small"
 +             class="chromeclass-directories"
 +             context="toolbar-context-menu"
-+             defaultset="personal-bookmarks"
 +             toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
 +             collapsed="true"
 +             customizable="true">
@@ -1139,13 +1149,13 @@
 +#include ../../components/customizableui/content/customizeMode.inc.xul
 +  </deck>
 +
-+  <html:div id="fullscreen-warning" hidden="true">
-+    <html:div id="fullscreen-domain-text">
++  <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
++    <html:div class="pointerlockfswarning-domain-text">
 +      &fullscreenWarning.beforeDomain.label;
-+      <html:span id="fullscreen-domain"/>
++      <html:span class="pointerlockfswarning-domain"/>
 +      &fullscreenWarning.afterDomain.label;
 +    </html:div>
-+    <html:div id="fullscreen-generic-text">
++    <html:div class="pointerlockfswarning-generic-text">
 +      &fullscreenWarning.generic.label;
 +    </html:div>
 +    <html:button id="fullscreen-exit-button"
@@ -1158,6 +1168,17 @@
 +    </html:button>
 +  </html:div>
 +
++  <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
++    <html:div class="pointerlockfswarning-domain-text">
++      &pointerlockWarning.beforeDomain.label;
++      <html:span class="pointerlockfswarning-domain"/>
++      &pointerlockWarning.afterDomain.label;
++    </html:div>
++    <html:div class="pointerlockfswarning-generic-text">
++      &pointerlockWarning.generic.label;
++    </html:div>
++  </html:div>
++
 +  <vbox id="browser-bottombox" layer="true">
 +    <notificationbox id="global-notificationbox" notificationside="bottom"/>
 +  </vbox>
@@ -1188,7 +1209,7 @@
 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
 --- a/browser/base/jar.mn
 +++ b/browser/base/jar.mn
-@@ -69,16 +69,18 @@ browser.jar:
+@@ -68,16 +68,18 @@ browser.jar:
          content/browser/aboutTabCrashed.css           (content/aboutTabCrashed.css)
          content/browser/aboutTabCrashed.js            (content/aboutTabCrashed.js)
          content/browser/aboutTabCrashed.xhtml         (content/aboutTabCrashed.xhtml)
@@ -1205,7 +1226,7 @@
          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-feeds.js              (content/browser-feeds.js)
-         content/browser/browser-fullScreen.js         (content/browser-fullScreen.js)
+         content/browser/browser-fullScreenAndPointerLock.js  (content/browser-fullScreenAndPointerLock.js)
          content/browser/browser-fullZoom.js           (content/browser-fullZoom.js)
 diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
 --- a/browser/components/build/nsModule.cpp
@@ -1293,7 +1314,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.
-@@ -730,16 +736,27 @@ var gMainPane = {
+@@ -703,16 +709,27 @@ var gMainPane = {
      let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
      alwaysCheckPref.value = true;
  
@@ -1636,7 +1657,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
-@@ -676,16 +676,17 @@
+@@ -674,16 +674,17 @@
  @RESPATH@/greprefs.js
  @RESPATH@/defaults/autoconfig/prefcalls.js
  @RESPATH@/browser/defaults/permissions