Bug 719008 - Add toolbar to Gloda search results tab with text input for modifying search query. Patch by mconley and andreasn. r=asuth,ui-r=bwinton,a=Standard8 SEAMONKEY_2_8b4_BUILD1 SEAMONKEY_2_8b4_RELEASE
authorMark Banner <bugzilla@standard8.plus.com>
Wed, 22 Feb 2012 12:04:49 +0000
changeset 10200 b23b75bf76e85cb25d931b5bb9347b6e3eae6338
parent 10199 5b08357336fb99dba4e07ed494aabf973ba1bb56
child 10201 973a3ab6aea1b54829096d470afdb68a003756b5
child 10204 d65c641e10ff6e24bc5ab4740c1e0cfc1079e965
child 10206 d91300fbe97dd38df1c9f1839341b6a02990a470
push id365
push userbugzilla@standard8.plus.com
push dateWed, 22 Feb 2012 12:05:33 +0000
treeherdercomm-beta@b23b75bf76e8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersasuth, bwinton, Standard8
bugs719008
Bug 719008 - Add toolbar to Gloda search results tab with text input for modifying search query. Patch by mconley and andreasn. r=asuth,ui-r=bwinton,a=Standard8
mail/base/content/glodaFacetTab.js
mail/base/content/mailWindowOverlay.js
mail/base/content/messenger.css
mail/base/content/messenger.xul
mail/base/content/searchBar.js
mail/base/content/specialTabs.xul
mail/themes/gnomestripe/mail/messenger.css
mail/themes/pinstripe/mail/primaryToolbar.css
mail/themes/pinstripe/mail/searchBox.css
mail/themes/qute/mail/messenger-aero.css
mail/themes/qute/mail/messenger.css
mail/themes/qute/mail/primaryToolbar-aero.css
mail/themes/qute/mail/primaryToolbar.css
--- a/mail/base/content/glodaFacetTab.js
+++ b/mail/base/content/glodaFacetTab.js
@@ -1,29 +1,44 @@
 Components.utils.import("resource:///modules/StringBundle.js");
 
 Components.utils.import("resource:///modules/gloda/facet.js");
 // needed by search.xml to use us
 Components.utils.import("resource:///modules/gloda/msg_search.js");
 
 var glodaFacetTabType = {
   name: "glodaFacet",
-  perTabPanel: "iframe",
+  perTabPanel: "vbox",
   strings:
     new StringBundle("chrome://messenger/locale/glodaFacetView.properties"),
   modes: {
     glodaFacet: {
       // this is what get exposed on the tab for icon purposes
       type: "glodaSearch"
     }
   },
   openTab: function glodaFacetTabType_openTab(aTab, aArgs) {
     // we have no browser until our XUL document loads
     aTab.browser = null;
 
+    // First clone the page and set up the basics.
+    let clone = document.getElementById("glodaTab")
+                        .firstChild
+                        .cloneNode(true);
+
+    aTab.panel.appendChild(clone);
+    aTab.iframe = aTab.panel.querySelector("iframe");
+
+    // Wire up the search input icon click event
+    let searchInput = aTab.panel.querySelector(".remote-gloda-search");
+    let searchIcon = aTab.panel.querySelector(".gloda-search-icon");
+    searchIcon.addEventListener("click", function(e) {
+      searchInput.doSearch();
+    });
+
     if ("query" in aArgs) {
       aTab.query = aArgs.query;
       aTab.collection = aTab.query.getCollection();
 
       aTab.title = this.strings.get("glodaFacetView.tab.query.label");
       aTab.searchString = null;
     }
     else if ("searcher" in aArgs) {
@@ -38,26 +53,26 @@ var glodaFacetTabType = {
     else if ("collection" in aArgs) {
       aTab.collection = aArgs.collection;
 
       aTab.title = this.strings.get("glodaFacetView.tab.query.label");
       aTab.searchString = null;
     }
 
     function xulLoadHandler() {
-      aTab.panel.contentWindow.removeEventListener("load", xulLoadHandler,
-                                                   false);
-      aTab.panel.contentWindow.tab = aTab;
-      aTab.browser = aTab.panel.contentDocument.getElementById("browser");
+      aTab.iframe.contentWindow.removeEventListener("load", xulLoadHandler,
+                                                    false);
+      aTab.iframe.contentWindow.tab = aTab;
+      aTab.browser = aTab.iframe.contentDocument.getElementById("browser");
       aTab.browser.setAttribute("src",
         "chrome://messenger/content/glodaFacetView.xhtml");
     }
 
-    aTab.panel.contentWindow.addEventListener("load", xulLoadHandler, false);
-    aTab.panel.setAttribute("src",
+    aTab.iframe.contentWindow.addEventListener("load", xulLoadHandler, false);
+    aTab.iframe.setAttribute("src",
       "chrome://messenger/content/glodaFacetViewWrapper.xul");
   },
   closeTab: function glodaFacetTabType_closeTab(aTab) {
   },
   saveTabState: function glodaFacetTabType_saveTabState(aTab) {
     // nothing to do; we are not multiplexed
   },
   showTab: function glodaFacetTabType_showTab(aTab) {
--- a/mail/base/content/mailWindowOverlay.js
+++ b/mail/base/content/mailWindowOverlay.js
@@ -3067,16 +3067,31 @@ function SendMDNResponse()
 function IgnoreMDNResponse()
 {
   gMessageNotificationBar.mdnGenerator.userDeclined();
   gMessageNotificationBar.updateMsgNotificationBar(kMsgNotificationMDN, false);
 }
 
 function QuickSearchFocus()
 {
+  let tabmail = document.getElementById('tabmail');
+
+  // If we're currently viewing a Gloda tab, drill down to find the
+  // built-in search input, and select that.
+  if (tabmail
+      && tabmail.currentTabInfo.mode.name == "glodaFacet") {
+    let searchInput = tabmail.currentTabInfo
+                             .panel
+                             .querySelector(".remote-gloda-search");
+    if (searchInput)
+      searchInput.select();
+
+    return;
+  }
+
   var quickSearchTextBox = document.getElementById('searchInput');
   if (quickSearchTextBox)
     quickSearchTextBox.select();
 }
 
 /**
  * Opens a search window with the given folder, or the displayed one if none is
  * chosen.
--- a/mail/base/content/messenger.css
+++ b/mail/base/content/messenger.css
@@ -227,16 +227,24 @@ searchterm {
 dummy.usesMailWidgets {
   -moz-binding: url("chrome://messenger/content/mailWidgets.xml#dummy");
 }
 
 #searchInput {
   -moz-binding: url("chrome://messenger/content/search.xml#glodaSearch");
 }
 
+.remote-gloda-search {
+  -moz-binding: url("chrome://messenger/content/search.xml#glodaSearch") !important;
+}
+
+.remote-gloda-search-container {
+  min-width: 10em;
+}
+
 .quick-search-button {
   -moz-binding: url("chrome://messenger/content/search.xml#searchBarDropMarker");
   cursor: default;
   -moz-user-focus: none;
 }
 
 .quick-search-clearbutton{
   cursor: default;
--- a/mail/base/content/messenger.xul
+++ b/mail/base/content/messenger.xul
@@ -565,16 +565,17 @@
               </box>
             </vbox>
           </box>
         </box> <!-- end of mailContent -->
       </tabpanels>
     </tabmail>
     <vbox id="contentTab"/>
     <vbox id="chromeTab"/>
+    <vbox id="glodaTab"/>
   </hbox>
   <panel id="customizeToolbarSheetPopup" noautohide="true">
     <iframe id="customizeToolbarSheetIFrame"
             style="&dialog.style;"
             hidden="true"/>
   </panel>
 
   <notificationbox id="mail-notification-box"/>
--- a/mail/base/content/searchBar.js
+++ b/mail/base/content/searchBar.js
@@ -75,16 +75,23 @@ var GlodaSearchBoxTabMonitor = {
 
   onTabTitleChanged: function() {
   },
 
   onTabOpened: function GSBTM_onTabOpened(aTab, aFirstTab, aOldTab) {
     aTab._ext.glodaSearchBox = {
       value: (aTab.mode.name === "glodaFacet") ? aTab.searchString : "",
     };
+
+    if (aTab.mode.name === "glodaFacet") {
+      let searchInput = aTab.panel
+                            .querySelector(".remote-gloda-search");
+      if (searchInput)
+        searchInput.value = aTab.searchString;
+    }
   },
 
   onTabSwitched: function (aTab, aOldTab) {
     let searchInput = document.getElementById("searchInput");
     if (!searchInput) // customized out of the way
       return;
 
     // save the current search field value
--- a/mail/base/content/specialTabs.xul
+++ b/mail/base/content/specialTabs.xul
@@ -31,16 +31,21 @@
    - use your version of this file under the terms of the MPL, indicate your
    - decision by deleting the provisions above and replace them with the notice
    - and other provisions required by the LGPL or the GPL. If you do not delete
    - the provisions above, a recipient may use your version of this file under
    - the terms of any one of the MPL, the GPL or the LGPL.
    -
    - ***** END LICENSE BLOCK ***** -->
 
+<!DOCTYPE overlay [
+  <!ENTITY % messengerDTD SYSTEM "chrome://messenger/locale/messenger.dtd">
+  %messengerDTD;
+]>
+
 <overlay id="specialTabs"
          xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
   <popupset id="mainPopupSet">
     <!-- for search and content formfill/pw manager -->
     <panel type="autocomplete" id="PopupAutoComplete" noautofocus="true"/>
   </popupset>
 
@@ -66,10 +71,42 @@
       </toolbox>
       <notificationbox flex="1">
         <browser id="dummychromebrowser" flex="1"
                  disablesecurity="true" disablehistory="true"
                  autocompletepopup="PopupAutoComplete"/>
       </notificationbox>
     </vbox>
   </vbox>
+
+  <vbox id="glodaTab" collapsed="true">
+    <vbox flex="1" class="chromeTabInstance">
+      <toolbox class="contentTabToolbox">
+        <toolbar class="glodaTabToolbar inline-toolbar chromeclass-toolbar">
+          <spacer flex="1" />
+          <spacer flex="1" />
+          <hbox flex="1" class="remote-gloda-search-container">
+            <textbox class="remote-gloda-search"
+                     flex="1"
+                     type="glodacomplete"
+                     searchbutton="true"
+                     autocompletesearch="gloda"
+                     autocompletepopup="PopupGlodaAutocomplete"
+                     autocompletesearchparam="global"
+                     enablehistory="false"
+                     timeout="200"
+                     maxlength="192"
+                     placeholder=""
+                     emptytextbase="&searchAllMessages.label.base;"
+                     keyLabelNonMac="&searchAllMessages.keyLabel2.nonmac;"
+                     keyLabelMac="&searchAllMessages.keyLabel2.mac;">
+              <hbox>
+                <image class="gloda-search-icon" />
+              </hbox>
+            </textbox>
+          </hbox>
+        </toolbar>
+      </toolbox>
+      <iframe flex="1"/>
+    </vbox>
+  </vbox>
 </overlay>
 
--- a/mail/themes/gnomestripe/mail/messenger.css
+++ b/mail/themes/gnomestripe/mail/messenger.css
@@ -41,23 +41,25 @@ toolbar:not(.inline-toolbar):not(:-moz-l
 menulist > menupopup > menuitem > .menu-iconic-left,
 .menulist-menupopup > menu > .menu-iconic-left,
 menulist > menupopup > menu > .menu-iconic-left {
   display: -moz-box;
 }
 
 /* ::::: Mail Toolbars and Menubars ::::: */
 
-.mail-toolbox {
+.mail-toolbox,
+.contentTabToolbox {
   -moz-appearance: none;
   border-bottom: 1px solid threedshadow;
   background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 19px);
 }
 
-.mail-toolbox > toolbar {
+.mail-toolbox > toolbar,
+.contentTabToolbox > toolbar {
   -moz-appearance: none;
   background: transparent;
 }
 
 /* ::::: throbber ::::: */
 
 #throbber-box {
   width: 16px;
@@ -140,24 +142,31 @@ toolbarbutton[open="true"]:not(:-moz-lwt
 toolbar[mode="full"] .toolbarbutton-1 {
   min-width: 55px;
 }
 
 sidebarheader .toolbarbutton-text:not([value]) {
   display: none;
 }
 
-#searchInput {
+#searchInput,
+.remote-gloda-search {
   padding: 2px;
 }
 
-#searchInput:-moz-lwtheme:not([focused="true"]) {
+#searchInput:-moz-lwtheme:not([focused="true"]),
+.remote-gloda-search:-moz-lwtheme:not([focused="true"]) {
   opacity: .85;
 }
 
+.remote-gloda-search-container {
+  padding-top: 3px;
+  padding-bottom: 2px;
+}
+
 /* Stock icons for the menu bar items */
 menuitem:not([type]) {
   -moz-binding: url("chrome://global/content/bindings/menu.xml#menuitem-iconic");
 }
 
 #menu_New {
   -moz-binding: url("chrome://global/content/bindings/menu.xml#menu-iconic");
   list-style-image: url("moz-icon://stock/gtk-new?size=menu");
--- a/mail/themes/pinstripe/mail/primaryToolbar.css
+++ b/mail/themes/pinstripe/mail/primaryToolbar.css
@@ -43,46 +43,52 @@
    == the standalone message window.  The other native-OS-style toolbars
    == (addressbook and compose) are already styled elsewhere.
    ====================================================================== */
 
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 
 /* ::::: Mail Toolbars and Menubars ::::: */
 
-.mail-toolbox {
+.mail-toolbox,
+.contentTabToolbox {
   -moz-appearance: none;
   border-bottom: 1px solid rgba(0, 0, 0, 0.57);
   background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0) 19px);
 }
 
-.mail-toolbox:not(:-moz-lwtheme) {
+.mail-toolbox:not(:-moz-lwtheme),
+.contentTabToolbox:not(:-moz-lwtheme) {
   background-color: -moz-mac-chrome-active;
 }
 
-.mail-toolbox:not(:-moz-lwtheme):-moz-window-inactive {
+.mail-toolbox:not(:-moz-lwtheme):-moz-window-inactive,
+.contentTabToolbox:not(:-moz-lwtheme):-moz-window-inactive {
   background-color: -moz-mac-chrome-inactive;
   background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 19px);
 }
 
 /* Inactive window state */
-.mail-toolbox:-moz-window-inactive {
+.mail-toolbox:-moz-window-inactive,
+.contentTabToolbox:-moz-window-inactive {
   -moz-appearance: none;
   border-bottom: 1px solid rgba(0, 0, 0, 0.32);
 }
 
-.mail-toolbox:-moz-lwtheme {
+.mail-toolbox:-moz-lwtheme,
+.contentTabToolbox:-moz-lwtheme {
   background-color: rgba(255, 255, 255, 0.3);
 }
 
 .mail-bar3 {
   padding: 4px 4px 0;
 }
 
-.mail-toolbox > toolbar {
+.mail-toolbox > toolbar
+.contentTabToolbox > toolbar {
   -moz-appearance: none;
 }
 
 /* ::::: primary toolbar buttons ::::: */
 
 .toolbarbutton-1 {
   -moz-box-orient: vertical;
   min-width: 0px;
--- a/mail/themes/pinstripe/mail/searchBox.css
+++ b/mail/themes/pinstripe/mail/searchBox.css
@@ -37,34 +37,43 @@
 # ***** END LICENSE BLOCK *****
 */
 
 .quick-search-button-image {
   padding: 0px;
 }
 
 /* it looks like appearance: searchfield gets us our search icon... */
-#searchInput {
+#searchInput,
+.remote-gloda-search {
   margin: 3px 4px 4px !important;
   -moz-appearance: searchfield;
   font: icon;
   height: 22px !important;
 }
 
-#searchInput > .textbox-input-box {
+#searchInput > .textbox-input-box,
+.remote-gloda-search > .textbox-input-box {
   border: none;
   padding-top: 1px;
   height: 21px !important;
   margin: 0 !important;
 }
 
-#searchInput:-moz-lwtheme:not([focused="true"]) {
+#searchInput:-moz-lwtheme:not([focused="true"]),
+.remote-gloda-search:-moz-lwtheme:not([focused="true"]) {
   opacity: .9;
 }
 
+.remote-gloda-search-container {
+  padding-top: 1px;
+  padding-bottom: 1px;
+}
+
+
 /* things from xul.css that only exist if Thunderbird did not define
  * AUTOCOMPLETE_OLD_STYLE
  */
 
 .autocomplete-history-dropmarker {
   display: none;
 }
 
--- a/mail/themes/qute/mail/messenger-aero.css
+++ b/mail/themes/qute/mail/messenger-aero.css
@@ -7,40 +7,48 @@ treechildren::-moz-tree-cell-text {
 .toolbar-primary {
   -moz-appearance: none;
 }
 
 .toolbarbutton-1[checked="true"] {
   padding: 1px 5px !important;
 }
 
-#searchInput {
+#searchInput,
+.remote-gloda-search {
   background-clip: padding-box;
   border: 1px solid ThreeDDarkShadow;
   -moz-border-radius: 3.5px;
   min-height: 24px;
   margin-top: 1px;
   margin-bottom: 1px;
 }
 
+.remote-gloda-search-container {
+  padding-top: 1px;
+  padding-bottom: 1px;
+}
+
 .foldersTree {
   -moz-appearance: none;
 }
 
 #tabmail-buttons > toolbarbutton {
   margin-top: 3px;
   margin-bottom: 0;
 }
 
 @media all and (-moz-windows-default-theme) {
-  #searchInput {
+  #searchInput,
+  .remote-gloda-search {
     border-color: rgba(0, 0, 0, .32);
   }
 
-  #searchInput:-moz-lwtheme {
+  #searchInput:-moz-lwtheme,
+  .remote-gloda-search:-moz-lwtheme {
     background-color: rgba(255, 255, 255, .8);
     border-color: rgba(0, 0, 0, .32);
     color: black;
   }
 
   treechildren::-moz-tree-row {
     border: 1px solid transparent;
   }
@@ -107,21 +115,24 @@ treechildren::-moz-tree-cell-text {
 
 @media all and (-moz-windows-compositor) {
   #unifinder-searchBox,
   #task-addition-box {
     border-top: none;
     background-color: -moz-dialog;
   }
 
-  #searchInput {
+  #searchInput,
+  .remote-gloda-search {
     background-color: rgba(255, 255, 255, .725);
     color: black;
   }
 
-  #searchInput:hover {
+  #searchInput:hover,
+  .remote-gloda-search:hover {
     background-color: rgba(255, 255, 255, .898);
   }
 
-  #searchInput[focused="true"] {
+  #searchInput[focused="true"],
+  .remote-gloda-search[focused="true"] {
     background-color: white;
   }
 }
--- a/mail/themes/qute/mail/messenger.css
+++ b/mail/themes/qute/mail/messenger.css
@@ -119,28 +119,36 @@ menuitem.menuitem-iconic > .menu-iconic-
 toolbar[mode="full"] .toolbarbutton-1 {
   min-width: 55px;
 }
 
 sidebarheader .toolbarbutton-text:not([value]) {
   display: none;
 }
 
-#searchInput {
+#searchInput,
+.remote-gloda-search {
   -moz-appearance: none;
   min-height: 22px;
   border: 1px solid threedshadow;
   -moz-padding-end: 2px;
   -moz-padding-start: 2px;
 }
 
-#searchInput:-moz-lwtheme:not([focused="true"]) {
+#searchInput:-moz-lwtheme:not([focused="true"]),
+.remote-gloda-search:-moz-lwtheme:not([focused="true"]) {
   opacity: .85;
 }
 
+.remote-gloda-search-container {
+  padding-top: 7px;
+  padding-bottom: 6px;
+}
+
+
 #status-bar:-moz-lwtheme {
   padding-bottom: 1px;
 }
 
 #tabmail-buttons > toolbarbutton {
   margin-top: 1px;
   margin-bottom: 1px;
 }
--- a/mail/themes/qute/mail/primaryToolbar-aero.css
+++ b/mail/themes/qute/mail/primaryToolbar-aero.css
@@ -44,68 +44,74 @@
    == (addressbook and compose) are already styled elsewhere.
    ====================================================================== */
 
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 
 /* :::: Toolbar :::: */
 
 .mail-toolbox:not(:-moz-lwtheme),
-#navigation-toolbox:not(:-moz-lwtheme) {
+#navigation-toolbox:not(:-moz-lwtheme),
+.contentTabToolbox:not(:-moz-lwtheme) {
   -moz-appearance: none;
   border-top: none;
   background-color: -moz-Dialog;
 }
 
-.mail-toolbox {
+.mail-toolbox,
+.contentTabToolbox {
   border-bottom: 1px solid ThreeDShadow;
 }
 
 .mail-toolbox > toolbar {
   -moz-margin-start: 0;
   border-bottom: none;
 }
 
 .mail-toolbox > toolbar:not(:-moz-lwtheme),
-#navigation-toolbox > toolbar:not(:-moz-lwtheme) {
+#navigation-toolbox > toolbar:not(:-moz-lwtheme),
+.contentTabToolbox:not(:-moz-lwtheme) > toolbar:not(:-moz-lwtheme) {
   -moz-appearance: none;
   border-style: none;
   background-color: transparent;
 }
 
 #navigation-toolbox #tabs-toolbar:not(:-moz-lwtheme) {
   border-bottom: 1px solid ThreeDDarkShadow;
 }
 
 #navigation-toolbox #tabs-toolbar:-moz-lwtheme {
   border-bottom: 1px solid transparent;
 }
 
-.mail-toolbox:-moz-lwtheme {
+.mail-toolbox:-moz-lwtheme,
+.contentTabToolbox:-moz-lwtheme {
   background-color: rgba(255, 255, 255, 0.3) !important;
   background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5),
                     rgba(255, 255, 255, 0) 28px) !important;
 }
 
 #mail-bar3 {
   padding: 1px 0;
 }
 
 @media all and (-moz-windows-default-theme) {
   .mail-toolbox:not(:-moz-lwtheme),
-  #navigation-toolbox:not(:-moz-lwtheme) {
+  #navigation-toolbox:not(:-moz-lwtheme),
+  .contentTabToolbox:not(:-moz-lwtheme) {
     background-color: rgb(207, 219, 236);
   }
 
   #navigation-toolbox:not(:-moz-lwtheme) {
   background-color: rgb(227, 237, 246);
   }
 }
 
-.mail-toolbox:not(:-moz-lwtheme) {
+.mail-toolbox:not(:-moz-lwtheme),
+.contentTabToolbox:not(:-moz-lwtheme) {
   background-image: -moz-linear-gradient(rgba(255, 255, 255, .5),
                     rgba(255, 255, 255, 0) 28px);
 }
 
 /* ::::: primary toolbar buttons ::::: */
 
 .toolbarbutton-menubutton-button,
 .toolbarbutton-menubutton-dropmarker,
@@ -293,24 +299,25 @@ toolbox[labelalign="end"] > toolbar[mode
 
   #navigation-toolbox:not(:-moz-lwtheme),
   #tabs-toolbar {
     background: transparent !important;
     border-style: none;
   }
 
   #mail-toolbox:not(:-moz-lwtheme),
-  #navigation-toolbox:not(:-moz-lwtheme) {
+  #navigation-toolbox:not(:-moz-lwtheme),
+  .glodaTabToolbar {
     color: black;
     text-shadow: 0 0 .7em white, 0 0 .7em white, 0 1px 0 rgba(255, 255, 255, .4);
   }
 
   #mail-toolbar-menubar2 {
     padding-bottom: 1px;
-	padding-top: 2px;
+    padding-top: 2px;
   }
 
   #mail-toolbar-menubar2:-moz-lwtheme {
     background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5) 50%);
     background-color: rgba(255, 255, 255, 0.3);
   }
 
   #navigation-toolbox > #mail-toolbar-menubar2:not(:-moz-lwtheme) {
--- a/mail/themes/qute/mail/primaryToolbar.css
+++ b/mail/themes/qute/mail/primaryToolbar.css
@@ -58,25 +58,27 @@
 #tabs-toolbar {
   -moz-box-ordinal-group: 20;
 }
 
 #mail-toolbar-menubar2 {
   -moz-box-ordinal-group: 10;
 }
 
-.mail-toolbox {
+.mail-toolbox,
+.contentTabToolbox {
   -moz-appearance: none;
   border-top: none;
   border-bottom: 1px solid threedshadow;
   background-image: -moz-linear-gradient(rgba(255, 255, 255, .5),
                     rgba(255, 255, 255, .1) 19px) !important;
 }
 
-.mail-toolbox > toolbar:-moz-lwtheme {
+.mail-toolbox > toolbar:-moz-lwtheme,
+.contentTabToolbox > toolbar:-moz-lwtheme {
   border-top: none;
 }
 
 #mail-bar3 {
   padding: 1px 0;
 }
 
 /* ::::: primary toolbar buttons ::::: */