firefox-kde.patch
changeset 885 ee3c462047d5
parent 881 1268ddc9dc16
child 889 de3a92aed259
--- 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