--- a/firefox-kde.patch Thu Dec 09 10:22:28 2010 +0100
+++ b/firefox-kde.patch Sun Dec 12 19:19:30 2010 +0100
@@ -23,7 +23,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,965 @@
+@@ -0,0 +1,1042 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -62,6 +62,7 @@
+# Rob Campbell <rcampbell@mozilla.com>
+# Patrick Walton <pcwalton@mozilla.com>
+# David Dahl <ddahl@mozilla.com>
++# Frank Yan <fyan@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
@@ -79,6 +80,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://global/skin/webConsole.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
+
+<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
@@ -114,7 +116,7 @@
+ windowtype="navigator:browser"
+ screenX="4" screenY="4"
+ browsingmode="normal"
-+ persist="screenX screenY width height sizemode">
++ persist="screenX screenY width height sizemode">
+
+# All JS files which are not content (only) dependent that browser.xul
+# wishes to include *must* go into the global-scripts.inc file
@@ -139,9 +141,6 @@
+ onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;">
+ <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;"
+ oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/>
-+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
-+ tbattr="tabbrowser-multiple"
-+ oncommand="gBrowser.reloadAllTabs();"/>
+ <menuseparator/>
+ <menuitem id="context_pinTab" label="&pinAppTab.label;"
+ accesskey="&pinAppTab.accesskey;"
@@ -154,7 +153,7 @@
+ <menupopup id="context_tabViewMenuPopup"
+ onpopupshowing="if (event.target == this) TabView.updateContextMenu(TabContextMenu.contextTab, this);">
+ <menuseparator id="context_tabViewNamedGroups" hidden="true"/>
-+ <menuitem label="&moveToNewGroup.label;"
++ <menuitem id="context_tabViewNewGroup" label="&moveToNewGroup.label;"
+ oncommand="TabView.moveTabTo(TabContextMenu.contextTab, null);"/>
+ </menupopup>
+ </menu>
@@ -163,13 +162,16 @@
+ tbattr="tabbrowser-multiple"
+ oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
+ <menuseparator/>
++ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
++ tbattr="tabbrowser-multiple"
++ oncommand="gBrowser.reloadAllTabs();"/>
+ <menuitem id="context_bookmarkAllTabs"
+ label="&bookmarkAllTabs.label;"
+ accesskey="&bookmarkAllTabs.accesskey;"
+ command="Browser:BookmarkAllTabs"/>
-+ <menuseparator/>
+ <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;"
+ oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/>
++ <menuseparator/>
+ <menuitem id="context_undoCloseTab"
+ label="&undoCloseTab.label;"
+ accesskey="&undoCloseTab.accesskey;"
@@ -193,11 +195,12 @@
+ <panel type="autocomplete-richlistbox" id="PopupAutoCompleteRichResult" noautofocus="true" hidden="true"/>
+
+ <!-- for invalid form error message -->
-+ <panel id="invalid-form-popup" noautofocus="true" hidden="true" level="parent">
++ <panel id="invalid-form-popup" type="arrow" orient="vertical" noautofocus="true" hidden="true" level="parent">
+ <description/>
+ </panel>
+
+ <panel id="editBookmarkPanel"
++ type="arrow"
+ orient="vertical"
+ ignorekeys="true"
+ hidden="true"
@@ -325,7 +328,7 @@
+ accesskey="&viewCustomizeToolbar.accesskey;"/>
+ </menupopup>
+
-+ <menupopup id="blockedPopupOptions"
++ <menupopup id="blockedPopupOptions"
+ onpopupshowing="gPopupBlockerObserver.fillPopupList(event);">
+ <menuitem observes="blockedPopupAllowSite"/>
+ <menuitem observes="blockedPopupEditSettings"/>
@@ -357,10 +360,14 @@
+
+ <menupopup id="placesContext"/>
+
-+ <panel id="notification-popup" type="arrow" position="after_start" noautofocus="true" hidden="true"/>
++ <panel id="notification-popup" type="arrow" position="after_start"
++ hidden="true" orient="vertical"/>
+
+ <!-- Popup for site identity information -->
-+ <panel id="identity-popup" position="after_start" hidden="true" noautofocus="true"
++ <panel id="identity-popup"
++ type="arrow"
++ hidden="true"
++ noautofocus="true"
+ onpopupshown="document.getElementById('identity-popup-more-info-button').focus();"
+ level="top">
+ <hbox id="identity-popup-container" align="top">
@@ -455,29 +462,27 @@
+ <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/>
+ </popupset>
+
-+#ifdef MENUBAR_CAN_AUTOHIDE
-+ <vbox id="titlebar">
++#ifdef CAN_DRAW_IN_TITLEBAR
++<vbox id="titlebar">
+ <hbox id="titlebar-content">
-+ <hbox id="appmenu-button-container" align="start">
-+ <button id="appmenu-button"
-+ type="menu"
-+#ifdef XP_WIN
-+ label="&brandShortName;"
-+#else
-+ label="&appMenuButton.label;"
-+#endif
-+ style="-moz-user-focus: ignore;">
++ <hbox id="appmenu-button-container">
++ <button id="appmenu-button"
++ type="menu"
++ label="&brandShortName;"
++ style="-moz-user-focus: ignore;">
+#include browser-appmenu.inc
-+ </button>
++ </button>
++ </hbox>
++ <spacer id="titlebar-spacer" flex="1"/>
++ <hbox id="titlebar-buttonbox-container" align="start">
++ <hbox id="titlebar-buttonbox">
++ <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
++ <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
++ <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
++ </hbox>
++ </hbox>
+ </hbox>
-+ <spacer id="titlebar-spacer" flex="1"/>
-+ <hbox id="titlebar-buttonbox">
-+ <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
-+ <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
-+ <toolbarbutton class="titlebar-button" id="titlebar-close" command="cmd_closeWindow"/>
-+ </hbox>
-+ </hbox>
-+ </vbox>
++</vbox>
+#endif
+
+<deck flex="1" id="tab-view-deck">
@@ -501,7 +506,7 @@
+#endif
+ context="toolbar-context-menu">
+ <toolbaritem id="menubar-items" align="center">
-+# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
++# The entire main menubar is placed into browser-menubar.inc, so that it can be shared by
+# hiddenWindow.xul.
+#include browser-menubar.inc
+ </toolbaritem>
@@ -512,10 +517,10 @@
+ fullscreentoolbar="true" mode="icons" customizable="true"
+#ifdef WINCE
+ iconsize="small" defaulticonsize="small"
-+ defaultset="unified-back-forward-button,home-button,urlbar-container,reload-button,stop-button,search-container,bookmarks-menu-button-container,navigator-throbber,fullscreenflex,window-controls"
++ defaultset="unified-back-forward-button,urlbar-container,reload-button,stop-button,search-container,home-button,bookmarks-menu-button-container,navigator-throbber,fullscreenflex,window-controls"
+#else
+ iconsize="large"
-+ defaultset="unified-back-forward-button,home-button,urlbar-container,reload-button,stop-button,search-container,bookmarks-menu-button-container,fullscreenflex,window-controls"
++ defaultset="unified-back-forward-button,urlbar-container,reload-button,stop-button,search-container,home-button,bookmarks-menu-button-container,fullscreenflex,window-controls"
+#endif
+ context="toolbar-context-menu">
+
@@ -534,16 +539,6 @@
+ tooltiptext="&forwardButton.tooltip;"/>
+ </toolbaritem>
+
-+ <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+ persist="class" removable="true"
-+ label="&homeButton.label;"
-+ ondragover="homeButtonObserver.onDragOver(event)"
-+ ondragenter="homeButtonObserver.onDragOver(event)"
-+ ondrop="homeButtonObserver.onDrop(event)"
-+ ondragleave="homeButtonObserver.onDragLeave(event)"
-+ onclick="BrowserGoHome(event);"
-+ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
-+
+ <toolbaritem id="urlbar-container" align="center" flex="400" persist="width" combined="true"
+ title="&locationItem.title;" class="chromeclass-location" removable="true">
+ <textbox id="urlbar" flex="1"
@@ -606,13 +601,16 @@
+ onclick="gURLBar.handleCommand(event);"/>
+ </hbox>
+ <toolbarbutton id="urlbar-go-button"
++ class="chromeclass-toolbar-additional"
+ onclick="gURLBar.handleCommand(event);"
+ tooltiptext="&goEndCap.tooltip;"/>
+ <toolbarbutton id="urlbar-reload-button"
++ class="chromeclass-toolbar-additional"
+ command="Browser:ReloadOrDuplicate"
+ onclick="checkForMiddleClick(this, event);"
+ tooltiptext="&reloadButton.tooltip;"/>
+ <toolbarbutton id="urlbar-stop-button"
++ class="chromeclass-toolbar-additional"
+ command="Browser:Stop"
+ tooltiptext="&stopButton.tooltip;"/>
+ </textbox>
@@ -635,6 +633,16 @@
+ <searchbar id="searchbar" flex="1"/>
+ </toolbaritem>
+
++ <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++ persist="class" removable="true"
++ label="&homeButton.label;"
++ ondragover="homeButtonObserver.onDragOver(event)"
++ ondragenter="homeButtonObserver.onDragOver(event)"
++ ondrop="homeButtonObserver.onDrop(event)"
++ ondragexit="homeButtonObserver.onDragExit(event)"
++ onclick="BrowserGoHome(event);"
++ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
++
+ <toolbaritem id="bookmarks-menu-button-container"
+ class="chromeclass-toolbar-additional"
+ removable="true"
@@ -646,7 +654,7 @@
+ tooltiptext="&bookmarksMenuButton.tooltip;"
+ ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
+ ondragover="PlacesMenuDNDHandler.onDragOver(event);"
-+ ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
++ ondragexit="PlacesMenuDNDHandler.onDragExit(event);"
+ ondrop="PlacesMenuDNDHandler.onDrop(event);">
+ <menupopup id="BMB_bookmarksPopup"
+ placespopup="true"
@@ -666,7 +674,7 @@
+ label="&viewBookmarksToolbar.label;"/>
+ <menuseparator/>
+ <menuitem id="BMB_bookmarksShowAll"
-+ label="&showAllBookmarks.label;"
++ label="&showAllBookmarks2.label;"
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menuseparator/>
@@ -678,11 +686,17 @@
+ command="Browser:AddBookmarkAs"
+ key="addBookmarkAsKb"/>
+ <menuitem id="BMB_subscribeToPageMenuitem"
++#ifndef XP_MACOSX
++ class="menuitem-iconic"
++#endif
+ label="&subscribeToPageMenuitem.label;"
+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
+ onclick="checkForMiddleClick(this, event);"
+ observes="singleFeedMenuitemState"/>
+ <menu id="BMB_subscribeToPageMenupopup"
++#ifndef XP_MACOSX
++ class="menu-iconic"
++#endif
+ label="&subscribeToPageMenupopup.label;"
+ observes="multipleFeedsMenuState">
+ <menupopup id="BMB_subscribeToPageSubmenuMenupopup"
@@ -780,6 +794,13 @@
+ </toolbaritem>
+ </toolbar>
+
++#ifdef MENUBAR_CAN_AUTOHIDE
++#ifndef CAN_DRAW_IN_TITLEBAR
++#define APPMENU_ON_TABBAR
++#endif
++#endif
++
++
+ <toolbar id="TabsToolbar"
+ fullscreentoolbar="true"
+ customizable="true"
@@ -787,9 +808,23 @@
+ iconsize="small" defaulticonsize="small" lockiconsize="true"
+ aria-label="&tabsToolbar.label;"
+ context="toolbar-context-menu"
++#ifdef APPMENU_ON_TABBAR
++ defaultset="appmenu-toolbar-button,tabbrowser-tabs,new-tab-button,alltabs-button,tabview-button,tabs-closebutton"
++#else
+ defaultset="tabbrowser-tabs,new-tab-button,alltabs-button,tabview-button,tabs-closebutton"
++#endif
+ collapsed="true">
+
++#ifdef APPMENU_ON_TABBAR
++ <toolbarbutton id="appmenu-toolbar-button"
++ class="chromeclass-toolbar-additional"
++ type="menu"
++ label="&brandShortName;"
++ tooltiptext="&appMenuButton.tooltip;">
++#include browser-appmenu.inc
++ </toolbarbutton>
++#endif
++
+ <tabs id="tabbrowser-tabs"
+ class="tabbrowser-tabs"
+ tabbrowser="content"
@@ -808,7 +843,7 @@
+ ondrop="newTabButtonObserver.onDrop(event)"
+ ondragover="newTabButtonObserver.onDragOver(event)"
+ ondragenter="newTabButtonObserver.onDragOver(event)"
-+ ondragleave="newTabButtonObserver.onDragLeave(event)"
++ ondragexit="newTabButtonObserver.onDragExit(event)"
+ removable="true"/>
+
+ <toolbarbutton id="alltabs-button"
@@ -855,7 +890,7 @@
+ ondrop="DownloadsButtonDNDObserver.onDrop(event)"
+ ondragover="DownloadsButtonDNDObserver.onDragOver(event)"
+ ondragenter="DownloadsButtonDNDObserver.onDragOver(event)"
-+ ondragleave="DownloadsButtonDNDObserver.onDragLeave(event)"
++ ondragexit="DownloadsButtonDNDObserver.onDragExit(event)"
+ label="&downloads.label;"
+ tooltiptext="&downloads.tooltip;"/>
+
@@ -869,7 +904,7 @@
+ ondrop="bookmarksButtonObserver.onDrop(event)"
+ ondragover="bookmarksButtonObserver.onDragOver(event)"
+ ondragenter="bookmarksButtonObserver.onDragOver(event)"
-+ ondragleave="bookmarksButtonObserver.onDragLeave(event)"/>
++ ondragexit="bookmarksButtonObserver.onDragExit(event)"/>
+
+ <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&newNavigatorCmd.label;"
@@ -878,7 +913,7 @@
+ ondrop="newWindowButtonObserver.onDrop(event)"
+ ondragover="newWindowButtonObserver.onDragOver(event)"
+ ondragenter="newWindowButtonObserver.onDragOver(event)"
-+ ondragleave="newWindowButtonObserver.onDragLeave(event)"/>
++ ondragexit="newWindowButtonObserver.onDragExit(event)"/>
+
+ <toolbarbutton id="cut-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&cutCmd.label;"
@@ -935,6 +970,7 @@
+ </toolbox>
+
+ <hbox flex="1" id="browser">
++ <vbox id="browser-border-start" hidden="true" layer="true"/>
+ <vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
+ <sidebarheader id="sidebar-header" align="center">
+ <label id="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
@@ -954,6 +990,7 @@
+ autocompletepopup="PopupAutoComplete"
+ onclick="return contentAreaClick(event, false);"/>
+ </vbox>
++ <vbox id="browser-border-end" hidden="true" layer="true"/>
+ </hbox>
+
+ <vbox id="browser-bottombox" layer="true">
@@ -964,7 +1001,11 @@
+ context="toolbar-context-menu" toolboxid="navigator-toolbox"
+ mode="icons" iconsize="small" defaulticonsize="small"
+ lockiconsize="true"
-+ customizable="true" align="right">
++ defaultset="addonbar-closebutton,spring,status-bar"
++ customizable="true">
++ <toolbarbutton id="addonbar-closebutton"
++ tooltiptext="&addonBarCloseButton.tooltip;"
++ oncommand="setToolbarVisibility(this.parentNode, false);"/>
+ <statusbar id="status-bar"/>
+ </toolbar>
+ </vbox>
@@ -981,6 +1022,42 @@
+ </svg:mask>
+ </svg:svg>
+#endif
++#ifdef XP_MACOSX
++ <svg:svg height="0">
++ <svg:mask id="pinstripe-tab-ontop-left-curve-mask" maskContentUnits="userSpaceOnUse">
++ <svg:circle cx="9" cy="3" r="3" fill="white"/>
++ <svg:rect x="9" y="0" width="3" height="3" fill="white"/>
++ <svg:rect x="6" y="3" width="6" height="19" fill="white"/>
++ <svg:rect x="1" y="17" width="5" height="5" fill="white"/>
++ <svg:circle cx="1" cy="17" r="5"/>
++ <svg:rect x="0" y="22" width="12" height="1" fill="white"/>
++ </svg:mask>
++ <svg:mask id="pinstripe-tab-ontop-right-curve-mask" maskContentUnits="userSpaceOnUse">
++ <svg:circle cx="3" cy="3" r="3" fill="white"/>
++ <svg:rect x="0" y="0" width="3" height="3" fill="white"/>
++ <svg:rect x="0" y="3" width="6" height="19" fill="white"/>
++ <svg:rect x="6" y="17" width="5" height="5" fill="white"/>
++ <svg:circle cx="11" cy="17" r="5"/>
++ <svg:rect x="0" y="22" width="12" height="1" fill="white"/>
++ </svg:mask>
++ <svg:mask id="pinstripe-tab-onbottom-left-curve-mask" maskContentUnits="userSpaceOnUse">
++ <svg:circle cx="9" cy="20" r="3" fill="white"/>
++ <svg:rect x="9" y="20" width="3" height="3" fill="white"/>
++ <svg:rect x="6" y="1" width="6" height="19" fill="white"/>
++ <svg:rect x="1" y="1" width="5" height="5" fill="white"/>
++ <svg:circle cx="1" cy="6" r="5"/>
++ <svg:rect x="0" y="0" width="12" height="1" fill="white"/>
++ </svg:mask>
++ <svg:mask id="pinstripe-tab-onbottom-right-curve-mask" maskContentUnits="userSpaceOnUse">
++ <svg:circle cx="3" cy="20" r="3" fill="white"/>
++ <svg:rect x="0" y="20" width="3" height="3" fill="white"/>
++ <svg:rect x="0" y="1" width="6" height="19" fill="white"/>
++ <svg:rect x="6" y="1" width="5" height="5" fill="white"/>
++ <svg:circle cx="11" cy="6" r="5"/>
++ <svg:rect x="0" y="0" width="12" height="1" fill="white"/>
++ </svg:mask>
++ </svg:svg>
++#endif
+
+</vbox>
+# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
@@ -1466,7 +1543,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
-@@ -432,16 +432,17 @@
+@@ -441,16 +441,17 @@
#endif
#endif