--- a/firefox-kde.patch Mon Nov 08 14:30:30 2010 +0100
+++ b/firefox-kde.patch Mon Nov 08 14:40:35 2010 +0100
@@ -23,7 +23,7 @@
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1337 @@
+@@ -0,0 +1,965 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -178,9 +178,11 @@
+ oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/>
+ </menupopup>
+
++ <!-- bug 415444/582485: event.stopPropagation is here for the cloned version
++ of this menupopup -->
+ <menupopup id="backForwardMenu"
+ onpopupshowing="return FillHistoryMenu(event.target);"
-+ oncommand="gotoHistoryIndex(event);"
++ oncommand="gotoHistoryIndex(event); event.stopPropagation();"
+ onclick="checkForMiddleClick(this, event);"/>
+ <tooltip id="aHTMLTooltip" onpopupshowing="return FillInHTMLTooltip(document.tooltipNode);"/>
+
@@ -191,7 +193,9 @@
+ <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" noautofocus="true" hidden="true" level="parent">
++ <description/>
++ </panel>
+
+ <panel id="editBookmarkPanel"
+ orient="vertical"
@@ -207,21 +211,10 @@
+ <label id="editBookmarkPanelTitle"/>
+ <description id="editBookmarkPanelDescription"/>
+ <hbox>
-+ <button id="editBookmarkPanelUndoRemoveButton"
-+ class="editBookmarkPanelHeaderButton"
-+ hidden="true"
-+ oncommand="StarUI.undoRemoveBookmarkCommand();"
-+ label="&editBookmark.undo.label;"
-+ accesskey="&editBookmark.undo.accessKey;"/>
+ <button id="editBookmarkPanelRemoveButton"
+ class="editBookmarkPanelHeaderButton"
+ oncommand="StarUI.removeBookmarkButtonCommand();"
+ accesskey="&editBookmark.removeBookmark.accessKey;"/>
-+ <button id="editBookmarkPanelEditButton"
-+ class="editBookmarkPanelHeaderButton"
-+ oncommand="StarUI.editButtonCommand();"
-+ label="&editBookmark.edit.label;"
-+ accesskey="&editBookmark.edit.accessKey;"/>
+ </hbox>
+ </vbox>
+ </row>
@@ -364,7 +357,7 @@
+
+ <menupopup id="placesContext"/>
+
-+ <panel id="notification-popup" position="after_start" noautofocus="true" hidden="true"/>
++ <panel id="notification-popup" type="arrow" position="after_start" noautofocus="true" hidden="true"/>
+
+ <!-- Popup for site identity information -->
+ <panel id="identity-popup" position="after_start" hidden="true" noautofocus="true"
@@ -474,375 +467,14 @@
+ label="&appMenuButton.label;"
+#endif
+ style="-moz-user-focus: ignore;">
-+ <menupopup id="appmenu-popup"
-+#ifdef MOZ_SERVICES_SYNC
-+ onpopupshowing="updateEditUIVisibility();gSyncUI.updateUI();">
-+#else
-+ onpopupshowing="updateEditUIVisibility();">
-+#endif
-+ <hbox>
-+ <vbox id="appmenuPrimaryPane">
-+ <hbox flex="1"
-+ class="split-menuitem">
-+ <menuitem id="appmenu_newTab"
-+ class="menuitem-tooltip split-menuitem-item"
-+ flex="1"
-+ label="&tabCmd.label;"
-+ command="cmd_newNavigatorTab"
-+ key="key_newNavigatorTab"/>
-+ <menu class="split-menuitem-menu">
-+ <menupopup>
-+ <menuitem id="appmenu_newTab_popup"
-+ label="&tabCmd.label;"
-+ command="cmd_newNavigatorTab"
-+ key="key_newNavigatorTab"/>
-+ <menuitem id="appmenu_newNavigator"
-+ label="&newNavigatorCmd.label;"
-+ command="cmd_newNavigator"
-+ key="key_newNavigator"/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_openFile"
-+ label="&openFileCmd.label;"
-+ command="Browser:OpenFile"
-+ key="openFileKb"/>
-+ </menupopup>
-+ </menu>
-+ </hbox>
-+ <menuitem id="appmenu_privateBrowsing"
-+ class="menuitem-iconic menuitem-iconic-tooltip"
-+ label="&privateBrowsingCmd.start.label;"
-+ startlabel="&privateBrowsingCmd.start.label;"
-+ stoplabel="&privateBrowsingCmd.stop.label;"
-+ command="Tools:PrivateBrowsing"
-+ key="key_privatebrowsing"/>
-+ <menuitem label="&goOfflineCmd.label;"
-+ id="appmenu_offlineModeRecovery"
-+ type="checkbox"
-+ observes="workOfflineMenuitemState"
-+ oncommand="BrowserOffline.toggleOfflineStatus();"/>
-+ <menuseparator class="appmenu-menuseparator"/>
-+ <hbox>
-+ <menuitem id="appmenu-edit-label"
-+ label="&appMenuEdit.label;"
-+ disabled="true"/>
-+ <toolbarbutton id="appmenu-cut"
-+ class="appmenu-edit-button"
-+ command="cmd_cut"
-+ onclick="if (!this.disabled) hidePopup();"
-+ tooltiptext="&cutButton.tooltip;"/>
-+ <toolbarbutton id="appmenu-copy"
-+ class="appmenu-edit-button"
-+ command="cmd_copy"
-+ onclick="if (!this.disabled) hidePopup();"
-+ tooltiptext="©Button.tooltip;"/>
-+ <toolbarbutton id="appmenu-paste"
-+ class="appmenu-edit-button"
-+ command="cmd_paste"
-+ onclick="if (!this.disabled) hidePopup();"
-+ tooltiptext="&pasteButton.tooltip;"/>
-+ </hbox>
-+ <menuitem id="appmenu_find"
-+ class="menuitem-tooltip"
-+ label="&appMenuFind.label;"
-+ command="cmd_find"
-+ key="key_find"/>
-+ <menuseparator class="appmenu-menuseparator"/>
-+ <menuitem id="appmenu_savePage"
-+ class="menuitem-tooltip"
-+ label="&savePageCmd.label;"
-+ command="Browser:SavePage"
-+ key="key_savePage"/>
-+ <menuitem id="appmenu_sendLink"
-+ label="&sendPageCmd.label;"
-+ command="Browser:SendLink"/>
-+ <hbox flex="1"
-+ class="split-menuitem">
-+ <menuitem id="appmenu_print"
-+ class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
-+ flex="1"
-+ label="&printCmd.label;"
-+ command="cmd_print"
-+ key="printKb"/>
-+ <menu class="split-menuitem-menu">
-+ <menupopup>
-+ <menuitem id="appmenu_print_popup"
-+ class="menuitem-iconic"
-+ label="&printCmd.label;"
-+ command="cmd_print"
-+ key="printKb"/>
-+ <menuitem id="appmenu_printPreview"
-+ label="&printPreviewCmd.label;"
-+ command="cmd_printPreview"/>
-+ <menuitem id="appmenu_printSetup"
-+ label="&printSetupCmd.label;"
-+ command="cmd_pageSetup"/>
-+ </menupopup>
-+ </menu>
-+ </hbox>
-+ <menuseparator class="appmenu-menuseparator"/>
-+ <menu id="appmenu_webDeveloper"
-+ label="&appMenuWebDeveloper.label;">
-+ <menupopup id="appmenu_webDeveloper_popup">
-+ <menuitem id="appmenu_webConsole"
-+ label="&webConsoleCmd.label;"
-+ type="checkbox"
-+ oncommand="HUDConsoleUI.toggleHUD();"
-+ key="key_webConsole"/>
-+ <menuitem id="appmenu_pageInspect"
-+ hidden="true"
-+ label="&inspectMenu.label;"
-+ type="checkbox"
-+ command="Tools:Inspect"
-+ key="key_inspect"/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_pageSource"
-+ label="&viewPageSourceCmd.label;"
-+ command="View:PageSource"
-+ key="key_viewSource"/>
-+ <menuseparator/>
-+#define ID_PREFIX appmenu_developer_
-+#include browser-charsetmenu.inc
-+#undef ID_PREFIX
-+ <menuseparator/>
-+ <menuitem label="&goOfflineCmd.label;"
-+ type="checkbox"
-+ observes="workOfflineMenuitemState"
-+ oncommand="BrowserOffline.toggleOfflineStatus();"/>
-+ </menupopup>
-+ </menu>
-+ <menuseparator class="appmenu-menuseparator"/>
-+#define ID_PREFIX appmenu_
-+#include browser-charsetmenu.inc
-+#undef ID_PREFIX
-+ <menuitem id="appmenu_fullScreen"
-+ class="menuitem-tooltip"
-+ label="&fullScreenCmd.label;"
-+ type="checkbox"
-+ observes="View:FullScreen"
-+ key="key_fullScreen"/>
-+ <menuitem id="appmenu-quit"
-+ class="menuitem-iconic"
-+#ifdef XP_WIN
-+ label="&quitApplicationCmdWin.label;"
-+#else
-+ label="&quitApplicationCmd.label;"
-+#endif
-+ command="cmd_quitApplication"/>
-+ </vbox>
-+ <vbox id="appmenuSecondaryPane">
-+ <hbox class="split-menuitem">
-+ <menuitem id="appmenu_bookmarks"
-+ class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
-+ flex="1"
-+ label="&bookmarksMenu.label;"
-+ command="Browser:ShowAllBookmarks"
-+ key="manBookmarkKb"/>
-+ <menu id="appmenu_bookmarksMenu"
-+ class="split-menuitem-menu">
-+ <menupopup id="appmenu_bookmarksPopup"
-+ placespopup="true"
-+ context="placesContext"
-+ openInTabs="children"
-+ oncommand="BookmarksEventHandler.onCommand(event);"
-+ onclick="BookmarksEventHandler.onClick(event);"
-+ onpopupshowing="BookmarksMenuButton.onPopupShowing(event);
-+ if (!this.parentNode._placesView)
-+ new PlacesMenu(event, 'place:folder=BOOKMARKS_MENU');"
-+ tooltip="bhTooltip"
-+ popupsinherittooltip="true">
-+ <menuitem id="appmenu_showAllBookmarks"
-+ label="&showAllBookmarks.label;"
-+ command="Browser:ShowAllBookmarks"
-+ context=""
-+ key="manBookmarkKb"/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_bookmarkThisPage"
-+ class="menuitem-iconic"
-+ label="&bookmarkThisPageCmd.label;"
-+ command="Browser:AddBookmarkAs"
-+ key="addBookmarkAsKb"/>
-+ <menuitem id="appmenu_subscribeToPage"
-+ class="menuitem-iconic"
-+ label="&subscribeToPageMenuitem.label;"
-+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
-+ onclick="checkForMiddleClick(this, event);"
-+ observes="singleFeedMenuitemState"/>
-+ <menu id="appmenu_subscribeToPageMenu"
-+ class="menu-iconic"
-+ label="&subscribeToPageMenupopup.label;"
-+ observes="multipleFeedsMenuState">
-+ <menupopup id="appmenu_subscribeToPageMenupopup"
-+ onpopupshowing="return FeedHandler.buildFeedList(event.target);"
-+ oncommand="return FeedHandler.subscribeToFeed(null, event);"
-+ onclick="checkForMiddleClick(this, event);"/>
-+ </menu>
-+ <menuseparator/>
-+ <menu id="appmenu_bookmarksToolbar"
-+ placesanonid="toolbar-autohide"
-+ class="menu-iconic bookmark-item"
-+ label="&personalbarCmd.label;"
-+ container="true">
-+ <menupopup id="appmenu_bookmarksToolbarPopup"
-+ placespopup="true"
-+ context="placesContext"
-+ onpopupshowing="if (!this.parentNode._placesView)
-+ new PlacesMenu(event, 'place:folder=TOOLBAR');"/>
-+ </menu>
-+ <menuseparator/>
-+ <!-- Bookmarks menu items -->
-+ <menuseparator builder="end"
-+ class="hide-if-empty-places-result"/>
-+ <menuitem id="appmenu_unsortedBookmarks"
-+ label="&appMenuUnsorted.label;"
-+ oncommand="PlacesCommandHook.showPlacesOrganizer('UnfiledBookmarks');"
-+ class="menuitem-iconic"/>
-+ </menupopup>
-+ </menu>
-+ </hbox>
-+ <hbox class="split-menuitem">
-+ <menuitem id="appmenu_history"
-+ class="menuitem-iconic menuitem-iconic-tooltip split-menuitem-item"
-+ flex="1"
-+ label="&historyMenu.label;"
-+ command="Browser:ShowAllHistory"
-+ key="showAllHistoryKb"/>
-+ <menu id="appmenu_historyMenu"
-+ class="split-menuitem-menu">
-+ <menupopup id="appmenu_historyMenupopup"
-+ placespopup="true"
-+ oncommand="this.parentNode._placesView._onCommand(event);"
-+ onclick="checkForMiddleClick(this, event);"
-+ onpopupshowing="if (!this.parentNode._placesView)
-+ new HistoryMenu(event);"
-+ tooltip="bhTooltip"
-+ popupsinherittooltip="true">
-+ <menuitem id="appmenu_showAllHistory"
-+ label="&showAllHistoryCmd2.label;"
-+ command="Browser:ShowAllHistory"
-+ key="showAllHistoryKb"/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_sanitizeHistory"
-+ label="&clearRecentHistory.label;"
-+ key="key_sanitize"
-+ command="Tools:Sanitize"/>
-+ <menuseparator class="hide-if-empty-places-result"/>
-+ <menuitem id="appmenu_restoreLastSession"
-+ class="restoreLastSession"
-+ label="&historyRestoreLastSession.label;"
-+ oncommand="restoreLastSession();"
-+ disabled="true"/>
-+ <menu id="appmenu_recentlyClosedTabsMenu"
-+ class="recentlyClosedTabsMenu"
-+ label="&historyUndoMenu.label;"
-+ disabled="true">
-+ <menupopup id="appmenu_recentlyClosedTabsMenupopup"
-+ onpopupshowing="document.getElementById('appmenu_historyMenu')._placesView.populateUndoSubmenu();"/>
-+ </menu>
-+ <menu id="appmenu_recentlyClosedWindowsMenu"
-+ class="recentlyClosedWindowsMenu"
-+ label="&historyUndoWindowMenu.label;"
-+ disabled="true">
-+ <menupopup id="appmenu_recentlyClosedWindowsMenupopup"
-+ onpopupshowing="document.getElementById('appmenu_historyMenu')._placesView.populateUndoWindowSubmenu();"/>
-+ </menu>
-+ <menuseparator/>
-+ </menupopup>
-+ </menu>
-+ </hbox>
-+ <menuitem id="appmenu_downloads"
-+ class="menuitem-tooltip"
-+ label="&downloads.label;"
-+ command="Tools:Downloads"
-+ key="key_openDownloads"/>
-+ <spacer id="appmenuSecondaryPane-spacer"/>
-+ <menuitem id="appmenu_addons"
-+ class="menuitem-iconic menuitem-iconic-tooltip"
-+ label="&addons.label;"
-+ command="Tools:Addons"
-+ key="key_openAddons"/>
-+ <hbox class="split-menuitem">
-+ <menuitem id="appmenu_customize"
-+ label="&preferencesCmd.label;"
-+ class="split-menuitem-item"
-+ flex="1"
-+ oncommand="openPreferences();"/>
-+ <menu class="split-menuitem-menu"
-+ label="&preferencesCmd.label;">
-+ <menupopup id="appmenu_customizeMenu"
-+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('appmenu_toggleTabsOnTop').previousSibling);">
-+ <menuitem id="appmenu_preferences"
-+#ifdef XP_UNIX
-+ label="&preferencesCmdUnix.label;"
-+#else
-+ label="&preferencesCmd.label;"
-+#endif
-+ oncommand="openPreferences();"/>
-+ <menuseparator/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_toggleTabsOnTop"
-+ label="&viewTabsOnTop.label;"
-+ type="checkbox"
-+ command="cmd_ToggleTabsOnTop"/>
-+ <menuitem id="appmenu_toolbarLayout"
-+ label="&appMenuToolbarLayout.label;"
-+ command="cmd_CustomizeToolbars"/>
-+ </menupopup>
-+ </menu>
-+ </hbox>
-+ <hbox class="split-menuitem">
-+ <menuitem id="appmenu_help"
-+ class="split-menuitem-item"
-+ flex="1"
-+ label="&helpMenu.label;"
-+ oncommand="openHelpLink('firefox-help')"/>
-+ <menu class="split-menuitem-menu">
-+ <menupopup id="appmenu_helpMenupopup">
-+ <menuitem id="appmenu_openHelp"
-+ label="&helpMenu.label;"
-+ oncommand="openHelpLink('firefox-help')"
-+ onclick="checkForMiddleClick(this, event);"/>
-+ <menuitem id="appmenu_gettingStarted"
-+ label="&appMenuGettingStarted.label;"
-+ oncommand="gBrowser.loadOneTab('http://www.mozilla.com/firefox/central/', {inBackground: false});"
-+ onclick="checkForMiddleClick(this, event);"/>
-+ <menuitem id="appmenu_troubleshootingInfo"
-+ label="&helpTroubleshootingInfo.label;"
-+ oncommand="openTroubleshootingPage()"
-+ onclick="checkForMiddleClick(this,event);"/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_safeMode"
-+ accesskey="&appMenuSafeMode.accesskey;"
-+ label="&appMenuSafeMode.label;"
-+ oncommand="safeModeRestart();"/>
-+ <menuseparator/>
-+ <menuitem id="appmenu_about"
-+ label="&aboutProduct.label;"
-+ oncommand="openAboutDialog();"/>
-+ </menupopup>
-+ </menu>
-+ </hbox>
-+#ifdef MOZ_SERVICES_SYNC
-+ <spacer flex="1"/>
-+ <!-- only one of sync-setup or sync-syncnow will be showing at once -->
-+ <menuitem id="sync-setup-appmenu"
-+ label="&syncSetup.label;"
-+ observes="sync-setup-state"
-+ oncommand="gSyncUI.openSetup()"/>
-+ <menuitem id="sync-syncnowitem-appmenu"
-+ label="&syncSyncNowItem.label;"
-+ observes="sync-syncnow-state"
-+ oncommand="gSyncUI.doSync(event);"/>
-+#endif
-+ </vbox>
-+ </hbox>
-+ </menupopup>
++#include browser-appmenu.inc
+ </button>
+ </hbox>
+ <spacer id="titlebar-spacer" flex="1"/>
+ <hbox id="titlebar-buttonbox">
-+ <toolbarbutton id="titlebar-min" oncommand="window.minimize();"/>
-+ <toolbarbutton id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
-+ <toolbarbutton id="titlebar-close" command="cmd_closeWindow"/>
++ <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>
@@ -856,12 +488,7 @@
+#ifdef WINCE
+ defaulticonsize="small" iconsize="small"
+#endif
-+#ifdef XP_WIN
+ tabsontop="true"
-+#endif
-+#ifdef XP_MACOSX
-+ tabsontop="true"
-+#endif
+ persist="tabsontop">
+ <!-- Menu -->
+ <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
@@ -905,21 +532,6 @@
+ command="Browser:ForwardOrForwardDuplicate"
+ onclick="checkForMiddleClick(this, event);"
+ tooltiptext="&forwardButton.tooltip;"/>
-+ <toolbarbutton id="back-forward-dropmarker" type="menu"
-+ disabled="true" tooltiptext="&backForwardMenu.tooltip;"
-+ onbroadcast="if (this.disabled) this.disabled =
-+ document.getElementById('Browser:Back').hasAttribute('disabled') &&
-+ document.getElementById('Browser:Forward').hasAttribute('disabled');">
-+ <!-- bug 415444: event.stopPropagation is here for the cloned version of
-+ this menupopup -->
-+ <menupopup context=""
-+ position="after_start"
-+ onpopupshowing="return FillHistoryMenu(event.target);"
-+ oncommand="gotoHistoryIndex(event); event.stopPropagation();"
-+ onclick="checkForMiddleClick(this, event);"/>
-+ <observes element="Browser:Back" attribute="disabled"/>
-+ <observes element="Browser:Forward" attribute="disabled"/>
-+ </toolbarbutton>
+ </toolbaritem>
+
+ <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
@@ -993,7 +605,6 @@
+ tooltiptext="&goEndCap.tooltip;"
+ onclick="gURLBar.handleCommand(event);"/>
+ </hbox>
-+ <progressmeter id="urlbar-progress" mode="normal" value="0" collapsed="true"/>
+ <toolbarbutton id="urlbar-go-button"
+ onclick="gURLBar.handleCommand(event);"
+ tooltiptext="&goEndCap.tooltip;"/>
@@ -1060,7 +671,9 @@
+ key="manBookmarkKb"/>
+ <menuseparator/>
+ <menuitem id="BMB_bookmarkThisPage"
++#ifndef XP_MACOSX
+ class="menuitem-iconic"
++#endif
+ label="&bookmarkThisPageCmd.label;"
+ command="Browser:AddBookmarkAs"
+ key="addBookmarkAsKb"/>
@@ -1305,6 +918,19 @@
+ label="&syncToolbarButton.label;"
+ oncommand="gSyncUI.handleToolbarButton()"/>
+#endif
++ <toolbarbutton id="feed-button"
++ type="menu"
++ class="toolbarbutton-1 chromeclass-toolbar-additional"
++ disabled="true"
++ label="&feedButton.label;"
++ tooltiptext="&feedButton.tooltip;"
++ onclick="return FeedHandler.onFeedButtonClick(event);">
++ <menupopup position="after_end"
++ id="feed-menu"
++ onpopupshowing="return FeedHandler.buildFeedList(this);"
++ oncommand="return FeedHandler.subscribeToFeed(null, event);"
++ onclick="checkForMiddleClick(this, event);"/>
++ </toolbarbutton>
+ </toolbarpalette>
+ </toolbox>
+
@@ -1331,7 +957,9 @@
+ </hbox>
+
+ <vbox id="browser-bottombox" layer="true">
-+ <toolbar id="addon-bar" toolbarname="&addonBarCmd.label;" collapsed="true"
++ <toolbar id="addon-bar"
++ toolbarname="&addonBarCmd.label;" accesskey="&addonBarCmd.accesskey;"
++ collapsed="true"
+ class="toolbar-primary chromeclass-toolbar"
+ context="toolbar-context-menu" toolboxid="navigator-toolbox"
+ mode="icons" iconsize="small" defaulticonsize="small"
@@ -1838,7 +1466,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
-@@ -431,16 +431,17 @@
+@@ -432,16 +432,17 @@
#endif
#endif