Synchronized browser-kde.xul with browser.xul
authorWolfgang Rosenauer <wr@rosenauer.org>
Wed, 06 Oct 2010 19:28:13 +0200
changeset 178 77b00e921973
parent 177 99d24e6cabb5
child 179 04cdaee22314
Synchronized browser-kde.xul with browser.xul
firefox-kde.patch
--- a/firefox-kde.patch	Wed Oct 06 19:15:35 2010 +0200
+++ b/firefox-kde.patch	Wed Oct 06 19:28:13 2010 +0200
@@ -23,7 +23,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1094 @@
+@@ -0,0 +1,1337 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -61,6 +61,7 @@
 +#   Robert Strong <robert.bugzilla@gmail.com>
 +#   Rob Campbell <rcampbell@mozilla.com>
 +#   Patrick Walton <pcwalton@mozilla.com>
++#   David Dahl <ddahl@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
@@ -128,7 +129,7 @@
 +
 +<script type="application/javascript" src="chrome://browser/content/places/editBookmarkOverlay.js"/>
 +
-+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the 
++# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
 +# browser-sets.inc file for sharing with hiddenWindow.xul.
 +#include browser-sets.inc
 +
@@ -142,21 +143,26 @@
 +                tbattr="tabbrowser-multiple"
 +                oncommand="gBrowser.reloadAllTabs();"/>
 +      <menuseparator/>
-+      <menuitem id="context_openTabInWindow" label="&openTabInNewWindow.label;"
-+                accesskey="&openTabInNewWindow.accesskey;"
++      <menuitem id="context_pinTab" label="&pinAppTab.label;"
++                accesskey="&pinAppTab.accesskey;"
++                oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
++      <menuitem id="context_unpinTab" label="&unpinAppTab.label;" hidden="true"
++                accesskey="&unpinAppTab.accesskey;"
++                oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
++      <menu id="context_tabViewMenu" label="&moveToGroup.label;"
++            accesskey="&moveToGroup.accesskey;">
++        <menupopup id="context_tabViewMenuPopup"
++                   onpopupshowing="if (event.target == this) TabView.updateContextMenu(TabContextMenu.contextTab, this);">
++          <menuseparator id="context_tabViewNamedGroups" hidden="true"/>
++          <menuitem label="&moveToNewGroup.label;"
++                    oncommand="TabView.moveTabTo(TabContextMenu.contextTab, null);"/>
++        </menupopup>
++      </menu>
++      <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
++                accesskey="&moveToNewWindow.accesskey;"
 +                tbattr="tabbrowser-multiple"
 +                oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
-+      <menuitem id="context_pinTab" label="&pinTab.label;"
-+                accesskey="&pinTab.accesskey;"
-+                oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/>
-+      <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
-+                accesskey="&unpinTab.accesskey;"
-+                oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
 +      <menuseparator/>
-+      <menuitem id="context_bookmarkTab"
-+                label="&bookmarkThisTab.label;"
-+                accesskey="&bookmarkThisTab.accesskey;"
-+                oncommand="BookmarkThisTab(TabContextMenu.contextTab);"/>
 +      <menuitem id="context_bookmarkAllTabs"
 +                label="&bookmarkAllTabs.label;"
 +                accesskey="&bookmarkAllTabs.accesskey;"
@@ -184,6 +190,9 @@
 +    <!-- for url bar autocomplete -->
 +    <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="editBookmarkPanel"
 +           orient="vertical"
 +           ignorekeys="true"
@@ -218,7 +227,7 @@
 +      </row>
 +      <vbox id="editBookmarkPanelContent" flex="1" hidden="true"/>
 +      <hbox id="editBookmarkPanelBottomButtons" pack="end">
-+#ifndef XP_UNIX
++#ifdef XP_UNIX // XP_UNIX != KDE
 +        <button id="editBookmarkPanelDoneButton"
 +                class="editBookmarkPanelBottomButton"
 +                label="&editBookmark.done.label;"
@@ -228,7 +237,7 @@
 +                class="editBookmarkPanelBottomButton"
 +                label="&editBookmark.cancel.label;"
 +                oncommand="StarUI.cancelButtonOnCommand();"/>
-+#elif XP_UNIX_GNOME
++#else
 +        <button id="editBookmarkPanelDeleteButton"
 +                class="editBookmarkPanelBottomButton"
 +                label="&editBookmark.cancel.label;"
@@ -238,16 +247,6 @@
 +                label="&editBookmark.done.label;"
 +                default="true"
 +                oncommand="StarUI.panel.hidePopup();"/>
-+#else
-+        <button id="editBookmarkPanelDoneButton"
-+                class="editBookmarkPanelBottomButton"
-+                label="&editBookmark.done.label;"
-+                default="true"
-+                oncommand="StarUI.panel.hidePopup();"/>
-+        <button id="editBookmarkPanelDeleteButton"
-+                class="editBookmarkPanelBottomButton"
-+                label="&editBookmark.cancel.label;"
-+                oncommand="StarUI.cancelButtonOnCommand();"/>
 +#endif
 +      </hbox>
 +    </panel>
@@ -261,14 +260,15 @@
 +           onmousemove="InspectorUI.highlighter.handleMouseMove(event);"
 +           onMozMousePixelScroll="InspectorUI.highlighter.handlePixelScroll(event);"/>
 +
-+    <panel id="inspector-panel"
++    <panel id="inspector-tree-panel"
 +           orient="vertical"
 +           hidden="true"
 +           ignorekeys="true"
 +           noautofocus="true"
 +           noautohide="true"
-+           level="top"
 +           titlebar="normal"
++           close="true"
++           onpopuphiding="InspectorUI.closeInspectorUI(true);"
 +           label="&inspectPanelTitle.label;">
 +      <toolbar id="inspector-toolbar"
 +               nowindowdrag="true">
@@ -291,23 +291,14 @@
 +                       label="&inspectStyleButton.label;"
 +                       accesskey="&inspectStyleButton.accesskey;"
 +                       class="toolbarbutton-text"
-+                       command="Inspector:Style"/>
++                       oncommand="InspectorUI.toggleStylePanel();"/>
++        <toolbarbutton id="inspector-dom-toolbutton"
++                       label="&inspectObjectButton.label;"
++                       accesskey="&inspectObjectButton.accesskey;"
++                       class="toolbarbutton-text"
++                       oncommand="InspectorUI.toggleDOMPanel();"/>
 +      </toolbar>
-+      <tree id="inspector-tree" class="plain"
-+            seltype="single"
-+            treelines="true"
-+            onselect="InspectorUI.onTreeSelected()"
-+            flex="1">
-+        <treecols>
-+          <treecol id="colNodeName" label="nodeName" primary="true"
-+                   persist="width,hidden,ordinal" flex="1"/>
-+          <splitter class="tree-splitter"/>
-+          <treecol id="colNodeValue" label="nodeValue"
-+                   persist="width,hidden,ordinal" flex="1"/>
-+        </treecols>
-+        <treechildren id="inspector-tree-body"/>
-+      </tree>
-+      <hbox align="end">
++      <hbox id="tree-panel-resizer-box" align="end">
 +        <spacer flex="1" />
 +        <resizer dir="bottomend" />
 +      </hbox>
@@ -319,13 +310,12 @@
 +           ignorekeys="true"
 +           noautofocus="true"
 +           noautohide="true"
-+           level="top"
 +           titlebar="normal"
 +           label="&inspectStylePanelTitle.label;">
 +        <listbox id="inspector-style-listbox" flex="1"/>
 +        <hbox align="end">
 +          <spacer flex="1" />
-+          <resizer dir="bottomend" />
++          <resizer dir="bottomend"/>
 +        </hbox>
 +    </panel>
 +
@@ -452,7 +442,7 @@
 +      <stack id="allTabs-stack">
 +        <vbox id="allTabs-container"><hbox/></vbox>
 +        <toolbarbutton id="allTabs-tab-close-button"
-+                       class="tab-close-button"
++                       class="tabs-closebutton"
 +                       oncommand="allTabs.closeTab(event);"
 +                       tooltiptext="&closeCmd.label;"
 +                       style="visibility:hidden"/>
@@ -473,149 +463,394 @@
 +  </popupset>
 +
 +#ifdef MENUBAR_CAN_AUTOHIDE
-+  <hbox id="appmenu-button-container">
-+    <button id="appmenu-button"
-+            type="menu"
-+            label="&brandShortName;"
-+            style="-moz-user-focus: ignore;">
-+      <menupopup id="appmenu-popup">
-+        <hbox flex="1" class="split-menuitem">
-+          <menuitem id="appmenu_newTab"
-+                    class="split-menuitem-item"
-+                    flex="1"
-+                    label="&tabCmd.label;"
-+                    command="cmd_newNavigatorTab"/>
-+          <menu class="split-menuitem-menu">
-+            <menupopup>
-+              <menuitem id="appmenu_newTab_sub"
-+                        label="&tabCmd.label;"
-+                        command="cmd_newNavigatorTab"/>
-+              <menuitem id="appmenu_newNavigator"
-+                        label="&newNavigatorCmd.label;"
-+                        command="cmd_newNavigator"/>
-+            </menupopup>
-+          </menu>
-+        </hbox>
-+        <menuseparator/>
-+        <menuitem id="appmenu_savePage"
-+                  label="&savePageCmd.label;"
-+                  command="Browser:SavePage"/>
-+        <menuitem id="appmenu_sendLink"
-+                  label="&sendPageCmd.label;"
-+                  command="Browser:SendLink"/>
-+        <hbox flex="1" class="split-menuitem">
-+          <menuitem id="appmenu_print"
-+                    class="split-menuitem-item"
-+                    flex="1"
-+                    label="&appMenuPrintCmd.label;"
-+                    command="cmd_print"/>
-+          <menu class="split-menuitem-menu">
-+            <menupopup>
-+              <menuitem id="menu_printSetup"
-+                        label="&printSetupCmd.label;"
-+                        command="cmd_pageSetup"/>
-+              <menuitem id="menu_printPreview"
-+                        label="&printPreviewCmd.label;"
-+                        command="cmd_printPreview"/>
++  <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;">
++    <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="&copyButton.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>
-+        </hbox>
-+        <menuitem id="appmenu_find"
-+                  label="&findOnCmd.label;"
-+                  command="cmd_find"/>
-+        <menuseparator/>
-+        <menu id="appmenu_history"
-+              label="&historyMenu.label;">
-+          <menupopup id="appmenu_history_popup"
-+                     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_sanitizeHistory"
-+                      label="&clearRecentHistory.label;"
-+                      key="key_sanitize"
-+                      command="Tools:Sanitize"/>
-+            <menuseparator/>
-+            <menuitem id="appmenu_showAllHistory"
-+                      label="&showAllHistoryCmd2.label;"
-+                      key="showAllHistoryKb"
-+                      command="Browser:ShowAllHistory"/>
-+            <menuseparator class="hide-if-empty-places-result"/>
-+          </menupopup>
-+        </menu>
-+        <menuseparator/>
-+        <menu id="appmenu_developer"
-+              label="&developerMenu.label;">
-+          <menupopup id="appmenu_developer_popup">
-+            <menuitem id="appmenu_pageSource"
-+                      label="&pageSourceCmd.label;"
-+                      command="View:PageSource"/>
-+            <menuseparator/>
-+            <menuitem id="appmenu_pageInspect"
-+                      label="&inspectMenu.label;"
-+                      command="Tools:Inspect"/>
-+            <menuitem id="appmenu_webConsole"
-+                      label="&webConsoleCmd.label;"
-+                      oncommand="HUDConsoleUI.toggleHUD();"/>
-+          </menupopup>
-+        </menu>
-+        <menuseparator/>
-+        <menu id="appmenu_customize"
-+              label="&appMenuCustomize.label;">
-+          <menupopup id="appmenu_customizeMenu"
-+                     onpopupshowing="onViewToolbarsPopupShowing(event);">
-+            <menuseparator/>
-+            <menuitem command="cmd_ToggleTabsOnTop"
-+                      type="checkbox"
-+                      label="&viewTabsOnTop.label;"/>
-+            <menuitem id="appmenu_toolbarLayout"
-+                      label="&appMenuToolbarLayout.label;"
-+                      command="cmd_CustomizeToolbars"/>
-+            <menu id="appmenu_sidebars"
-+                  label="&appMenuSidebars.label;">
-+              <menupopup id="appmenu_sidebarMenu">
-+                <menuitem id="appmenu_bookmarksSidebar"
-+                          key="viewBookmarksSidebarKb"
-+                          observes="viewBookmarksSidebar"/>
-+                <menuitem id="appmenu_historySidebar"
-+                          key="key_gotoHistory"
-+                          observes="viewHistorySidebar"
-+                          label="&historyButton.label;"/>
++          <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>
-+            <menuseparator/>
-+            <menuitem id="appmenu_openAddons"
++          </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"/>
-+          </menupopup>
-+        </menu>
-+        <menuitem id="appmenu_preferences"
++                      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;"
++                            label="&preferencesCmdUnix.label;"
 +#else
-+                  label="&preferencesCmd.label;"
++                            label="&preferencesCmd.label;"
 +#endif
-+                  oncommand="openPreferences();"/>
-+        <menuitem id="appmenu_openHelp"
-+                  label="&appMenuHelp.label;"
-+                  oncommand="openHelpLink('firefox-help')"
-+                  onclick="checkForMiddleClick(this, event);"/>
-+        <menuseparator/>
-+        <menuitem id="appmenu_quit"
-+#ifdef XP_WIN
-+                  label="&quitApplicationCmdWin.label;"
-+#else
-+                  label="&quitApplicationCmd.label;"
++                            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
-+                  command="cmd_quitApplication"/>
-+      </menupopup>
-+    </button>
++        </vbox>
++      </hbox>
++    </menupopup>
++  </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"/>
++  </hbox>
++  </hbox>
++  </vbox>
 +#endif
 +
++<deck flex="1" id="tab-view-deck">
++<vbox flex="1">
++
 +  <toolbox id="navigator-toolbox"
 +           defaultmode="icons" mode="icons"
 +#ifdef WINCE
@@ -650,10 +885,10 @@
 +             fullscreentoolbar="true" mode="icons" customizable="true"
 +#ifdef WINCE
 +             iconsize="small" defaulticonsize="small"
-+             defaultset="unified-back-forward-button,reload-button,stop-button,home-button,urlbar-container,search-container,bookmarks-menu-button-container,navigator-throbber,fullscreenflex,window-controls"
++             defaultset="unified-back-forward-button,home-button,urlbar-container,reload-button,stop-button,search-container,bookmarks-menu-button-container,navigator-throbber,fullscreenflex,window-controls"
 +#else
 +             iconsize="large"
-+             defaultset="unified-back-forward-button,reload-button,stop-button,home-button,urlbar-container,search-container,bookmarks-menu-button-container,fullscreenflex,window-controls"
++             defaultset="unified-back-forward-button,home-button,urlbar-container,reload-button,stop-button,search-container,bookmarks-menu-button-container,fullscreenflex,window-controls"
 +#endif
 +             context="toolbar-context-menu">
 +
@@ -687,17 +922,6 @@
 +        </toolbarbutton>
 +      </toolbaritem>
 +
-+      <toolbarbutton id="reload-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+                     label="&reloadCmd.label;" removable="true"
-+                     command="Browser:ReloadOrDuplicate"
-+                     onclick="checkForMiddleClick(this, event);"
-+                     tooltiptext="&reloadButton.tooltip;"/>
-+
-+      <toolbarbutton id="stop-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
-+                     label="&stopCmd.label;" removable="true"
-+                     command="Browser:Stop"
-+                     tooltiptext="&stopButton.tooltip;"/>
-+
 +      <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
 +                     persist="class" removable="true"
 +                     label="&homeButton.label;"
@@ -705,9 +929,10 @@
 +                     ondragenter="homeButtonObserver.onDragOver(event)"
 +                     ondrop="homeButtonObserver.onDrop(event)"
 +                     ondragleave="homeButtonObserver.onDragLeave(event)"
-+                     onclick="BrowserGoHome(event);"/>
++                     onclick="BrowserGoHome(event);"
++                     aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
 +
-+      <toolbaritem id="urlbar-container" align="center" flex="400" persist="width"
++      <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"
 +                 placeholder="&urlbar.placeholder;"
@@ -733,6 +958,8 @@
 +          <box id="notification-popup-box" hidden="true" align="center">
 +            <image id="geo-notification-icon" class="notification-anchor-icon" role="button"/>
 +            <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"/>
 +          </box>
 +          <!-- Use onclick instead of normal popup= syntax since the popup
 +               code fires onmousedown, and hence eats our favicon drag events.
@@ -740,14 +967,14 @@
 +               has focus, otherwise pressing F6 focuses it instead of the location bar -->
 +          <box id="identity-box" role="button"
 +               onclick="gIdentityHandler.handleIdentityButtonEvent(event);"
-+               onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);">
++               onkeypress="gIdentityHandler.handleIdentityButtonEvent(event);"
++               ondragstart="gIdentityHandler.onDragStart(event);">
 +            <hbox id="identity-box-inner" align="center">
 +              <stack id="page-proxy-stack"
 +                     onclick="PageProxyClickHandler(event);">
 +                <image id="urlbar-throbber" busy="false"/>
 +                <image id="page-proxy-favicon" validate="never"
 +                       pageproxystate="invalid"
-+                       ondragstart="proxyIconDNDObserver.onDragStart(event);"
 +                       onerror="this.removeAttribute('src');"/>
 +              </stack>
 +              <hbox id="identity-icon-labels">
@@ -758,19 +985,6 @@
 +          </box>
 +          <label id="urlbar-display" value="&urlbar.switchToTab.label;"/>
 +          <hbox id="urlbar-icons">
-+            <button type="menu"
-+                    style="-moz-user-focus: none"
-+                    class="plain urlbar-icon"
-+                    id="feed-button"
-+                    collapsed="true"
-+                    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);"/>
-+            </button>
 +            <image id="star-button"
 +                   class="urlbar-icon"
 +                   onclick="PlacesStarButton.onClick(event);"/>
@@ -779,9 +993,31 @@
 +                   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;"/>
++          <toolbarbutton id="urlbar-reload-button"
++                         command="Browser:ReloadOrDuplicate"
++                         onclick="checkForMiddleClick(this, event);"
++                         tooltiptext="&reloadButton.tooltip;"/>
++          <toolbarbutton id="urlbar-stop-button"
++                         command="Browser:Stop"
++                         tooltiptext="&stopButton.tooltip;"/>
 +        </textbox>
 +      </toolbaritem>
 +
++      <toolbarbutton id="reload-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++                     label="&reloadCmd.label;" removable="true"
++                     command="Browser:ReloadOrDuplicate"
++                     onclick="checkForMiddleClick(this, event);"
++                     tooltiptext="&reloadButton.tooltip;"/>
++
++      <toolbarbutton id="stop-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++                     label="&stopCmd.label;" removable="true"
++                     command="Browser:Stop"
++                     tooltiptext="&stopButton.tooltip;"/>
++
 +      <toolbaritem id="search-container" title="&searchItem.title;"
 +                   align="center" class="chromeclass-toolbar-additional"
 +                   flex="100" persist="width" removable="true">
@@ -811,47 +1047,56 @@
 +                                     if (!this.parentNode._placesView)
 +                                       new PlacesMenu(event, 'place:folder=BOOKMARKS_MENU');"
 +                     tooltip="bhTooltip" popupsinherittooltip="true">
-+            <menuitem id="BMB_bookmarkAllTabs"
-+                      label="&addCurPagesCmd.label;"
-+                      command="Browser:BookmarkAllTabs"
-+                      key="bookmarkAllTabsKb"/>
-+            <menuitem id="BMB_bookmarksShowAll"
-+                      label="&organizeBookmarks.label;"
-+                      command="Browser:ShowAllBookmarks"
-+                      key="manBookmarkKb"/>
-+            <menuseparator/>
 +            <menuitem id="BMB_viewBookmarksToolbar"
++                      placesanonid="view-toolbar"
++                      toolbarId="PersonalToolbar"
 +                      type="checkbox"
 +                      oncommand="onViewToolbarCommand(event)"
 +                      label="&viewBookmarksToolbar.label;"/>
-+            <menuitem id="BMB_viewBookmarksSidebar"
-+                      label="&viewBookmarksSidebar.label;"
-+                      type="checkbox"
-+                      oncommand="toggleSidebar('viewBookmarksSidebar');"
-+                      key="viewBookmarksSidebarKb">
-+              <observes element="viewBookmarksSidebar" attribute="checked"/>
-+            </menuitem>
++            <menuseparator/>
++            <menuitem id="BMB_bookmarksShowAll"
++                      label="&showAllBookmarks.label;"
++                      command="Browser:ShowAllBookmarks"
++                      key="manBookmarkKb"/>
 +            <menuseparator/>
-+            <menu id="BMB_bookmarksToolbarFolderMenu"
++            <menuitem id="BMB_bookmarkThisPage"
++                      class="menuitem-iconic"
++                      label="&bookmarkThisPageCmd.label;"
++                      command="Browser:AddBookmarkAs"
++                      key="addBookmarkAsKb"/>
++            <menuitem id="BMB_subscribeToPageMenuitem"
++                      label="&subscribeToPageMenuitem.label;"
++                      oncommand="return FeedHandler.subscribeToFeed(null, event);"
++                      onclick="checkForMiddleClick(this, event);"
++                      observes="singleFeedMenuitemState"/>
++            <menu id="BMB_subscribeToPageMenupopup"
++                  label="&subscribeToPageMenupopup.label;"
++                  observes="multipleFeedsMenuState">
++              <menupopup id="BMB_subscribeToPageSubmenuMenupopup"
++                         onpopupshowing="return FeedHandler.buildFeedList(event.target);"
++                         oncommand="return FeedHandler.subscribeToFeed(null, event);"
++                         onclick="checkForMiddleClick(this, event);"/>
++            </menu>
++            <menuseparator/>
++            <menu id="BMB_bookmarksToolbar"
++                  placesanonid="toolbar-autohide"
 +                  class="menu-iconic bookmark-item"
 +                  label="&personalbarCmd.label;"
 +                  container="true">
-+              <menupopup id="BMB_bookmarksToolbarFolderPopup"
++              <menupopup id="BMB_bookmarksToolbarPopup"
 +                         placespopup="true"
 +                         context="placesContext"
 +                         onpopupshowing="if (!this.parentNode._placesView)
 +                                           new PlacesMenu(event, 'place:folder=TOOLBAR');"/>
 +            </menu>
-+            <menu id="BMB_unsortedBookmarksFolderMenu"
-+                  class="menu-iconic bookmark-item"
-+                  container="true">
-+              <menupopup id="BMB_unsortedBookmarksFolderPopup"
-+                         placespopup="true"
-+                         context="placesContext"
-+                         onpopupshowing="if (!this.parentNode._placesView)
-+                                           new PlacesMenu(event, 'place:folder=UNFILED_BOOKMARKS');"/>
-+            </menu>
 +            <menuseparator/>
++            <!-- Bookmarks menu items -->
++            <menuseparator builder="end"
++                           class="hide-if-empty-places-result"/>
++            <menuitem id="BMB_unsortedBookmarks"
++                      label="&bookmarksMenuButton.unsorted.label;"
++                      oncommand="PlacesCommandHook.showPlacesOrganizer('UnfiledBookmarks');"
++                      class="menuitem-iconic"/>
 +          </menupopup>
 +        </toolbarbutton>
 +      </toolbaritem>
@@ -929,7 +1174,7 @@
 +             iconsize="small" defaulticonsize="small" lockiconsize="true"
 +             aria-label="&tabsToolbar.label;"
 +             context="toolbar-context-menu"
-+             defaultset="tabbrowser-tabs,new-tab-button,alltabs-button,tabs-closebutton"
++             defaultset="tabbrowser-tabs,new-tab-button,alltabs-button,tabview-button,tabs-closebutton"
 +             collapsed="true">
 +
 +      <tabs id="tabbrowser-tabs"
@@ -963,6 +1208,13 @@
 +                   position="after_end"/>
 +      </toolbarbutton>
 +
++      <toolbarbutton id="tabview-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
++                     label="&tabGroupsButton.label;"
++                     command="Browser:ToggleTabView"
++                     tooltiptext="&tabGroupsButton.tooltip;"
++                     removable="true"
++                     observes="tabviewGroupsNumber"/>
++
 +      <toolbarbutton id="tabs-closebutton"
 +                     class="close-button tabs-closebutton"
 +                     command="cmd_close"
@@ -973,6 +1225,9 @@
 +
 +    <toolbarpalette id="BrowserToolbarPalette">
 +
++# Update primaryToolbarButtons in browser/themes/browserShared.inc when adding
++# or removing default items with the toolbarbutton-1 class.
++
 +      <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
 +                     label="&printButton.label;" command="cmd_print"
 +                     tooltiptext="&printButton.tooltip;"/>
@@ -1033,6 +1288,23 @@
 +                     label="&fullScreenCmd.label;"
 +                     tooltiptext="&fullScreenButton.tooltip;"/>
 +
++      <toolbaritem id="zoom-controls" class="chromeclass-toolbar-additional"
++                   title="&zoomControls.label;">
++        <toolbarbutton id="zoom-out-button" class="toolbarbutton-1"
++                       label="&fullZoomReduceCmd.label;"
++                       command="cmd_fullZoomReduce"
++                       tooltiptext="&zoomOutButton.tooltip;"/>
++        <toolbarbutton id="zoom-in-button" class="toolbarbutton-1"
++                       label="&fullZoomEnlargeCmd.label;"
++                       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
 +    </toolbarpalette>
 +  </toolbox>
 +
@@ -1058,53 +1330,17 @@
 +    </vbox>
 +  </hbox>
 +
-+  <vbox id="browser-bottombox">
-+    <statusbar class="chromeclass-status" id="status-bar"
-+#ifdef WINCE
-+               hidden="true"
-+#endif
-+               >
-+      <statusbarpanel id="statusbar-display" label="" flex="1"/>
-+      <statusbarpanel class="statusbarpanel-progress" collapsed="true" id="statusbar-progresspanel">
-+        <progressmeter class="progressmeter-statusbar" id="statusbar-icon" mode="normal" value="0"/>
-+      </statusbarpanel>
-+      <statusbarpanel id="download-monitor" class="statusbarpanel-iconic-text"
-+                      tooltiptext="&downloadMonitor2.tooltip;" hidden="true"
-+                      command="Tools:Downloads"/>
-+      <statusbarpanel id="security-button" class="statusbarpanel-iconic"
-+                      hidden="true"
-+                      onclick="if (event.button == 0 &amp;&amp; event.detail == 1) displaySecurityInfo();"/>
-+#ifdef MOZ_SERVICES_SYNC
-+      <statusbarpanel id="sync-status-button"
-+                      class="statusbarpanel-iconic-text"
-+                      image="chrome://browser/skin/sync-16.png"
-+                      label="&syncLogInItem.label;"
-+                      oncommand="gSyncUI.handleStatusbarButton();"
-+                      onmousedown="event.preventDefault();">
-+      </statusbarpanel>
-+      <separator class="thin"/>
-+      <statusbarpanel id="sync-notifications-button"
-+                      class="statusbarpanel-iconic-text"
-+                      hidden="true"
-+                      popup="sync-notifications-panel">
-+      </statusbarpanel>
-+      <panel id="sync-notifications-panel" position="before_end">
-+          <notificationbox id="sync-notifications-box"/>
-+      </panel>
-+#endif
-+      <statusbarpanel id="page-report-button" type="menu"
-+                      class="statusbarpanel-menu-iconic"
-+                      hidden="true"
-+                      tooltiptext="&pageReportIcon.tooltip;">
-+        <menupopup onpopupshowing="gPopupBlockerObserver.fillPopupList(event);">
-+          <menuitem observes="blockedPopupAllowSite"/>
-+          <menuitem observes="blockedPopupEditSettings"/>
-+          <menuitem observes="blockedPopupDontShowMessage"/>
-+          <menuseparator observes="blockedPopupsSeparator"/>
-+        </menupopup>
-+      </statusbarpanel>
-+    </statusbar>
++  <vbox id="browser-bottombox" layer="true">
++    <toolbar id="addon-bar" toolbarname="&addonBarCmd.label;" collapsed="true"
++             class="toolbar-primary chromeclass-toolbar"
++             context="toolbar-context-menu" toolboxid="navigator-toolbox"
++             mode="icons" iconsize="small" defaulticonsize="small"
++             lockiconsize="true"
++             customizable="true" align="right">
++      <statusbar id="status-bar"/>
++    </toolbar>
 +  </vbox>
++
 +#ifndef XP_UNIX
 +  <svg:svg height="0">
 +    <svg:mask id="winstripe-keyhole-forward-mask" maskContentUnits="objectBoundingBox">
@@ -1117,6 +1353,13 @@
 +    </svg:mask>
 +  </svg:svg>
 +#endif
++
++</vbox>
++# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
++#     Introducing the iframe dynamically, as needed, was found to be better than
++#     starting with an empty iframe here in browser.xul from a Ts standpoint.
++</deck>
++
 +</window>
 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
 --- a/browser/base/jar.mn