--- a/firefox-kde.patch Sat Mar 31 09:26:42 2012 +0200
+++ b/firefox-kde.patch Sat Mar 31 22:19:28 2012 +0200
@@ -2,7 +2,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1118 @@
+@@ -0,0 +1,1117 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -43,6 +43,7 @@
+# David Dahl <ddahl@mozilla.com>
+# Frank Yan <fyan@mozilla.com>
+# Victor Porof <vporof@mozilla.com>
++# Paul Rouget <paul@mozilla.com>
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -95,6 +96,7 @@
+ lightweightthemes="true"
+ lightweightthemesfooter="browser-bottombox"
+ windowtype="navigator:browser"
++ macanimationtype="document"
+ screenX="4" screenY="4"
+ browsingmode="normal"
+ persist="screenX screenY width height sizemode">
@@ -231,20 +233,21 @@
+ </hbox>
+ </panel>
+
-+ <panel id="inspector-tree-panel"
-+ orient="vertical"
-+ hidden="true"
-+ ignorekeys="true"
-+ noautofocus="true"
-+ noautohide="true"
-+ titlebar="normal"
-+ close="true"
-+ label="&inspectPanelTitle.label;">
-+ <hbox id="tree-panel-resizer-box" align="end">
-+ <spacer flex="1" />
-+ <resizer dir="bottomend" />
-+ </hbox>
-+ </panel>
++ <menupopup id="inspector-node-popup">
++ <menuitem id="inspectorHTMLCopyInner"
++ label="&inspectorHTMLCopyInner.label;"
++ accesskey="&inspectorHTMLCopyInner.accesskey;"
++ command="Inspector:CopyInner"/>
++ <menuitem id="inspectorHTMLCopyOuter"
++ label="&inspectorHTMLCopyOuter.label;"
++ accesskey="&inspectorHTMLCopyOuter.accesskey;"
++ command="Inspector:CopyOuter"/>
++ <menuseparator/>
++ <menuitem id="inspectorHTMLDelete"
++ label="&inspectorHTMLDelete.label;"
++ accesskey="&inspectorHTMLDelete.accesskey;"
++ command="Inspector:DeleteNode"/>
++ </menupopup>
+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event);">
@@ -309,7 +312,7 @@
+ type="arrow"
+ hidden="true"
+ noautofocus="true"
-+ onpopupshown="document.getElementById('identity-popup-more-info-button').focus();"
++ onpopupshown="gIdentityHandler.onPopupShown(event);"
+ level="top">
+ <hbox id="identity-popup-container" align="top">
+ <image id="identity-popup-icon"/>
@@ -529,6 +532,7 @@
+ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"/>
+ <image id="indexedDB-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"/>
+ </box>
+ <!-- Use onclick instead of normal popup= syntax since the popup
+ code fires onmousedown, and hence eats our favicon drag events.
@@ -855,11 +859,6 @@
+ label="&printButton.label;" command="cmd_print"
+ tooltiptext="&printButton.tooltip;"/>
+
-+ <toolbaritem id="navigator-throbber" title="&throbberItem.title;" align="center" pack="center"
-+ mousethrough="always">
-+ <image/>
-+ </toolbaritem>
-+
+ <toolbarbutton id="downloads-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="Tools:Downloads"
+ ondrop="DownloadsButtonDNDObserver.onDrop(event)"
@@ -890,21 +889,6 @@
+ ondragenter="newWindowButtonObserver.onDragOver(event)"
+ ondragexit="newWindowButtonObserver.onDragExit(event)"/>
+
-+ <toolbarbutton id="cut-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&cutCmd.label;"
-+ command="cmd_cut"
-+ tooltiptext="&cutButton.tooltip;"/>
-+
-+ <toolbarbutton id="copy-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="©Cmd.label;"
-+ command="cmd_copy"
-+ tooltiptext="©Button.tooltip;"/>
-+
-+ <toolbarbutton id="paste-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&pasteCmd.label;"
-+ command="cmd_paste"
-+ tooltiptext="&pasteButton.tooltip;"/>
-+
+ <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="View:FullScreen"
+ type="checkbox"
@@ -922,12 +906,7 @@
+ command="cmd_fullZoomEnlarge"
+ tooltiptext="&zoomInButton.tooltip;"/>
+ </toolbaritem>
-+#ifdef MOZ_SERVICES_SYNC
-+ <toolbarbutton id="sync-button"
-+ class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ label="&syncToolbarButton.label;"
-+ oncommand="gSyncUI.handleToolbarButton()"/>
-+#endif
++
+ <toolbarbutton id="feed-button"
+ type="menu"
+ class="toolbarbutton-1 chromeclass-toolbar-additional"
@@ -942,6 +921,33 @@
+ onclick="checkForMiddleClick(this, event);"/>
+ </toolbarbutton>
+
++ <toolbarbutton id="cut-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++ label="&cutCmd.label;"
++ command="cmd_cut"
++ tooltiptext="&cutButton.tooltip;"/>
++
++ <toolbarbutton id="copy-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++ label="©Cmd.label;"
++ command="cmd_copy"
++ tooltiptext="©Button.tooltip;"/>
++
++ <toolbarbutton id="paste-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++ label="&pasteCmd.label;"
++ command="cmd_paste"
++ tooltiptext="&pasteButton.tooltip;"/>
++
++#ifdef MOZ_SERVICES_SYNC
++ <toolbarbutton id="sync-button"
++ class="toolbarbutton-1 chromeclass-toolbar-additional"
++ label="&syncToolbarButton.label;"
++ oncommand="gSyncUI.handleToolbarButton()"/>
++#endif
++
++ <toolbaritem id="navigator-throbber" title="&throbberItem.title;" align="center" pack="center"
++ mousethrough="always">
++ <image/>
++ </toolbaritem>
++
+ <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&tabGroupsButton.label;"
+ command="Browser:ToggleTabView"
@@ -969,7 +975,7 @@
+ tabcontainer="tabbrowser-tabs"
+ contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete"
-+ onclick="return contentAreaClick(event, false);"/>
++ onclick="contentAreaClick(event, false);"/>
+ <statuspanel id="statusbar-display" inactive="true"/>
+ </vbox>
+ <splitter id="devtools-side-splitter" hidden="true"/>
@@ -996,45 +1002,42 @@
+ class="devtools-toolbar"
+ nowindowdrag="true"
+ hidden="true">
-+ <vbox flex="1">
-+ <resizer id="inspector-top-resizer" flex="1"
-+ dir="top" disabled="true"
-+ element="inspector-tree-box"/>
-+ <hbox>
+#ifdef XP_MACOSX
-+ <toolbarbutton id="highlighter-closebutton"
-+ oncommand="InspectorUI.closeInspectorUI(false);"
-+ tooltiptext="&inspectCloseButton.tooltiptext;"/>
++ <toolbarbutton id="highlighter-closebutton"
++ oncommand="InspectorUI.closeInspectorUI(false);"
++ tooltiptext="&inspectCloseButton.tooltiptext;"/>
+#endif
-+ <toolbarbutton id="inspector-inspect-toolbutton"
-+ class="devtools-toolbarbutton"
-+ label="&inspectButton.label;"
-+ accesskey="&inspectButton.accesskey;"
-+ command="Inspector:Inspect"/>
-+ <arrowscrollbox id="inspector-breadcrumbs"
-+ flex="1" orient="horizontal"
-+ clicktoscroll="true"/>
-+ <hbox id="inspector-tools">
-+ <toolbarbutton id="inspector-3D-button"
-+ class="devtools-toolbarbutton"
-+ hidden="true"
-+ label="&inspect3DViewButton.label;"
-+ accesskey="&inspect3DViewButton.accesskey;"
-+ command="Inspector:Tilt"/>
-+ <toolbarbutton id="inspector-style-button"
-+ class="devtools-toolbarbutton"
-+ label="&inspectStyleButton.label;"
-+ accesskey="&inspectStyleButton.accesskey;"
-+ command="Inspector:Sidebar"/>
-+ <!-- registered tools go here -->
-+ </hbox>
++ <toolbarbutton id="inspector-inspect-toolbutton"
++ class="devtools-toolbarbutton"
++ command="Inspector:Inspect"/>
++ <toolbarbutton id="inspector-treepanel-toolbutton"
++ class="devtools-toolbarbutton"
++ label="&htmlPanel.label;"
++ accesskey="&htmlPanel.accesskey;"
++ tooltiptext="&htmlPanel.tooltiptext;"
++ command="Inspector:HTMLPanel"/>
++ <arrowscrollbox id="inspector-breadcrumbs"
++ flex="1" orient="horizontal"
++ clicktoscroll="true"/>
++ <hbox id="inspector-tools">
++ <toolbarbutton id="inspector-3D-button"
++ class="devtools-toolbarbutton"
++ hidden="true"
++ label="&inspect3DViewButton.label;"
++ accesskey="&inspect3DViewButton.accesskey;"
++ command="Inspector:Tilt"/>
++ <toolbarbutton id="inspector-style-button"
++ class="devtools-toolbarbutton"
++ label="&inspectStyleButton.label;"
++ accesskey="&inspectStyleButton.accesskey;"
++ command="Inspector:Sidebar"/>
++ <!-- registered tools go here -->
++ </hbox>
+#ifndef XP_MACOSX
-+ <toolbarbutton id="highlighter-closebutton"
-+ oncommand="InspectorUI.closeInspectorUI(false);"
-+ tooltiptext="&inspectCloseButton.tooltiptext;"/>
++ <toolbarbutton id="highlighter-closebutton"
++ oncommand="InspectorUI.closeInspectorUI(false);"
++ tooltiptext="&inspectCloseButton.tooltiptext;"/>
+#endif
-+ </hbox>
-+ </vbox>
+ </toolbar>
+ <toolbar id="addon-bar"
+ toolbarname="&addonBarCmd.label;" accesskey="&addonBarCmd.accesskey;"
@@ -1057,11 +1060,7 @@
+ <svg:svg height="0">
+ <svg:mask id="winstripe-keyhole-forward-mask" maskContentUnits="objectBoundingBox">
+ <svg:rect x="0" y="0" width="1" height="1" fill="white"/>
-+ <svg:circle cx="-0.46" cy="0.5" r="0.63"/>
-+ </svg:mask>
-+ <svg:mask id="winstripe-keyhole-forward-mask-hover" maskContentUnits="objectBoundingBox">
-+ <svg:rect x="0" y="0" width="1" height="1" fill="white"/>
-+ <svg:circle cx="-0.35" cy="0.5" r="0.58"/>
++ <svg:circle cx="-0.34" cy="0.5" r="0.61"/>
+ </svg:mask>
+ <svg:mask id="winstripe-urlbar-back-button-mask" maskContentUnits="userSpaceOnUse">
+ <svg:rect x="0" y="0" width="10000" height="50" fill="white"/>
@@ -1124,10 +1123,10 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -23,16 +23,18 @@ browser.jar:
- content/browser/aboutHome-restore-icon-small.png (content/aboutHome-restore-icon-small.png)
- content/browser/aboutHome-snippet1.png (content/aboutHome-snippet1.png)
- content/browser/aboutHome-snippet2.png (content/aboutHome-snippet2.png)
+@@ -32,16 +32,18 @@ browser.jar:
+ content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
+ content/browser/abouthome/mozilla.png (content/abouthome/mozilla.png)
+ content/browser/abouthome/noise.png (content/abouthome/noise.png)
content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
* content/browser/browser.css (content/browser.css)
@@ -1137,12 +1136,12 @@
+% 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/content.js (content/content.js)
- * content/browser/fullscreen-video.xhtml (content/fullscreen-video.xhtml)
* content/browser/newtab/newTab.xul (content/newtab/newTab.xul)
* content/browser/newtab/newTab.js (content/newtab/newTab.js)
content/browser/newtab/newTab.css (content/newtab/newTab.css)
* content/browser/pageinfo/pageInfo.xul (content/pageinfo/pageInfo.xul)
* content/browser/pageinfo/pageInfo.js (content/pageinfo/pageInfo.js)
+ * content/browser/pageinfo/pageInfo.css (content/pageinfo/pageInfo.css)
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
@@ -1277,7 +1276,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/src/nsKDEShellService.cpp
-@@ -0,0 +1,257 @@
+@@ -0,0 +1,264 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
@@ -1419,6 +1418,13 @@
+}
+
+NS_IMETHODIMP
++nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
++{
++ *aResult = true;
++ return NS_OK;
++}
++
++NS_IMETHODIMP
+nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
+ PRInt32 aPosition)
+ {
@@ -1709,7 +1715,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
-@@ -450,16 +450,17 @@
+@@ -467,16 +467,17 @@
#endif
#endif