Bug 749804 - part 0: remove the add-on bar, r=jaws

This commit is contained in:
Gijs Kruitbosch 2013-05-09 12:08:07 +02:00
parent 1711df8096
commit 14106e017a
16 changed files with 18 additions and 446 deletions

View File

@ -178,50 +178,6 @@ const gXPInstallObserver = {
}
};
/*
* When addons are installed/uninstalled, check and see if the number of items
* on the add-on bar changed:
* - If an add-on was installed, incrementing the count, show the bar.
* - If an add-on was uninstalled, and no more items are left, hide the bar.
*/
let AddonsMgrListener = {
get addonBar() document.getElementById("addon-bar"),
get statusBar() document.getElementById("status-bar"),
getAddonBarItemCount: function() {
// Take into account the contents of the status bar shim for the count.
var itemCount = this.statusBar.childNodes.length;
var defaultOrNoninteractive = this.addonBar.getAttribute("defaultset")
.split(",")
.concat(["separator", "spacer", "spring"]);
for (let item of this.addonBar.currentSet.split(",")) {
if (defaultOrNoninteractive.indexOf(item) == -1)
itemCount++;
}
return itemCount;
},
onInstalling: function(aAddon) {
this.lastAddonBarCount = this.getAddonBarItemCount();
},
onInstalled: function(aAddon) {
if (this.getAddonBarItemCount() > this.lastAddonBarCount)
setToolbarVisibility(this.addonBar, true);
},
onUninstalling: function(aAddon) {
this.lastAddonBarCount = this.getAddonBarItemCount();
},
onUninstalled: function(aAddon) {
if (this.getAddonBarItemCount() == 0)
setToolbarVisibility(this.addonBar, false);
},
onEnabling: function(aAddon) this.onInstalling(),
onEnabled: function(aAddon) this.onInstalled(),
onDisabling: function(aAddon) this.onUninstalling(),
onDisabled: function(aAddon) this.onUninstalled(),
};
var LightWeightThemeWebInstaller = {
handleEvent: function (event) {
switch (event.type) {

View File

@ -107,7 +107,6 @@
oncommand="OpenBrowserWindow({private: true});"/>
<command id="History:UndoCloseTab" oncommand="undoCloseTab();"/>
<command id="History:UndoCloseWindow" oncommand="undoCloseWindow();"/>
<command id="Browser:ToggleAddonBar" oncommand="toggleAddonBar();"/>
<command id="Social:TogglePageMark" oncommand="SocialMark.togglePageMark();" disabled="true"/>
<command id="Social:SharePage" oncommand="SocialShare.sharePage();" disabled="true"/>
<command id="Social:ToggleSidebar" oncommand="Social.toggleSidebar();"/>
@ -412,8 +411,6 @@
#expand <key id="key_selectTab8" oncommand="gBrowser.selectTabAtIndex(7, event);" key="8" modifiers="__NUM_SELECT_TAB_MODIFIER__"/>
#expand <key id="key_selectLastTab" oncommand="gBrowser.selectTabAtIndex(-1, event);" key="9" modifiers="__NUM_SELECT_TAB_MODIFIER__"/>
<key id="key_toggleAddonBar" command="Browser:ToggleAddonBar" key="&toggleAddonBarCmd.key;" modifiers="accel"/>
</keyset>
# Used by baseMenuOverlay

View File

@ -352,7 +352,6 @@ window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(.chromeclass-m
}
#navigator-toolbox ,
#status-bar ,
#mainPopupSet {
min-width: 1px;
}
@ -510,17 +509,6 @@ window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(.chromeclass-m
-moz-binding: url("chrome://browser/content/urlbarBindings.xml#plugin-popupnotification-center-item");
}
/* override hidden="true" for the status bar compatibility shim
in case it was persisted for the real status bar */
#status-bar {
display: -moz-box;
}
/* Remove the resizer from the statusbar compatibility shim */
#status-bar[hideresizer] > .statusbar-resizerpanel {
display: none;
}
browser[tabmodalPromptShowing] {
-moz-user-focus: none !important;
}

View File

@ -935,9 +935,6 @@ var gBrowserInit = {
document.documentElement.setAttribute("height", defaultHeight);
}
if (!gShowPageResizers)
document.getElementById("status-bar").setAttribute("hideresizer", "true");
if (!window.toolbar.visible) {
// adjust browser UI for popups
if (gURLBar) {
@ -1048,7 +1045,6 @@ var gBrowserInit = {
PanelUI.init();
SocialUI.init();
LightweightThemeListener.init();
AddonManager.addAddonListener(AddonsMgrListener);
WebrtcIndicator.init();
// Ensure login manager is up and running.
@ -1355,7 +1351,6 @@ var gBrowserInit = {
BrowserOffline.uninit();
OfflineApps.uninit();
IndexedDBPromptHelper.uninit();
AddonManager.removeAddonListener(AddonsMgrListener);
SocialUI.uninit();
LightweightThemeListener.uninit();
gCustomizeMode.uninit();
@ -1385,7 +1380,7 @@ var gBrowserInit = {
'viewToolbarsMenu', 'viewSidebarMenuMenu', 'Browser:Reload',
'viewFullZoomMenu', 'pageStyleMenu', 'charsetMenu', 'View:PageSource', 'View:FullScreen',
'viewHistorySidebar', 'Browser:AddBookmarkAs', 'Browser:BookmarkAllTabs',
'View:PageInfo', 'Browser:ToggleTabView', 'Browser:ToggleAddonBar'];
'View:PageInfo', 'Browser:ToggleTabView'];
var element;
for (let disabledItem of disabledItems) {
@ -2682,9 +2677,6 @@ var PrintPreviewListener = {
notificationBox.notificationsHidden = true;
document.getElementById("sidebar").setAttribute("src", "about:blank");
var addonBar = document.getElementById("addon-bar");
this._chromeState.addonBarOpen = !addonBar.collapsed;
addonBar.collapsed = true;
gBrowser.updateWindowResizers();
this._chromeState.findOpen = gFindBarInitialized && !gFindBar.hidden;
@ -2706,11 +2698,6 @@ var PrintPreviewListener = {
if (this._chromeState.notificationsOpen)
gBrowser.getNotificationBox().notificationsHidden = false;
if (this._chromeState.addonBarOpen) {
document.getElementById("addon-bar").collapsed = false;
gBrowser.updateWindowResizers();
}
if (this._chromeState.findOpen)
gFindBar.open();
@ -4299,7 +4286,6 @@ function onViewToolbarsPopupShowing(aEvent, aInsertPoint) {
var firstMenuItem = aInsertPoint || popup.firstChild;
let toolbarNodes = Array.slice(gNavToolbox.childNodes);
toolbarNodes.push(document.getElementById("addon-bar"));
for (let toolbar of toolbarNodes) {
let toolbarName = toolbar.getAttribute("toolbarname");
@ -6905,11 +6891,6 @@ function duplicateTabIn(aTab, where, delta) {
}
}
function toggleAddonBar() {
let addonBar = document.getElementById("addon-bar");
setToolbarVisibility(addonBar, addonBar.collapsed);
}
var Scratchpad = {
prefEnabledName: "devtools.scratchpad.enabled",

View File

@ -997,22 +997,6 @@
tooltiptext="&devToolbarCloseButton.tooltiptext;"/>
#endif
</toolbar>
<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"
lockiconsize="true"
defaultset="addonbar-closebutton,spring,status-bar"
key="key_toggleAddonBar">
<toolbarbutton id="addonbar-closebutton"
class="close-icon"
tooltiptext="&addonBarCloseButton.tooltip;"
oncommand="setToolbarVisibility(this.parentNode, false);"/>
<statusbar id="status-bar" ordinal="1000"/>
</toolbar>
</vbox>
<svg:svg height="0">

View File

@ -140,8 +140,7 @@
if (!window.gShowPageResizers)
return;
var show = document.getElementById("addon-bar").collapsed &&
window.windowState == window.STATE_NORMAL;
var show = window.windowState == window.STATE_NORMAL;
for (let i = 0; i < this.browsers.length; i++) {
this.browsers[i].showWindowResizer = show;
}
@ -1341,8 +1340,7 @@
b.setAttribute("remote", "true");
}
if (window.gShowPageResizers && document.getElementById("addon-bar").collapsed &&
window.windowState == window.STATE_NORMAL) {
if (window.gShowPageResizers && window.windowState == window.STATE_NORMAL) {
b.setAttribute("showresizer", "true");
}

View File

@ -137,7 +137,6 @@ MOCHITEST_BROWSER_FILES = \
browser_bug595507.js \
browser_bug596687.js \
browser_bug597218.js \
browser_bug598923.js \
browser_bug609700.js \
browser_bug623155.js \
browser_bug623893.js \
@ -282,9 +281,6 @@ MOCHITEST_BROWSER_FILES = \
app_bug575561.html \
app_subframe_bug575561.html \
browser_contentAreaClick.js \
browser_addon_bar_close_button.js \
browser_addon_bar_shortcut.js \
browser_addon_bar_aomlistener.js \
test_bug628179.html \
browser_wyciwyg_urlbarCopying.js \
test_wyciwyg_copying.html \

View File

@ -1,61 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
waitForExplicitFinish();
let addonbar = document.getElementById("addon-bar");
ok(addonbar.collapsed, "addon bar is collapsed by default");
let topMenu, toolbarMenu;
function onTopMenuShown(event) {
ok(1, "top menu popupshown listener called");
event.currentTarget.removeEventListener("popupshown", arguments.callee, false);
// open the toolbars menu
toolbarMenu = document.getElementById("viewToolbarsMenu").firstElementChild;
toolbarMenu.addEventListener("popupshown", onToolbarMenuShown, false);
toolbarMenu.addEventListener("popuphidden", onToolbarMenuHidden, false);
toolbarMenu.openPopup();
}
function onTopMenuHidden(event) {
ok(1, "top menu popuphidden listener called");
event.currentTarget.removeEventListener("popuphidden", arguments.callee, false);
finish();
}
function onToolbarMenuShown(event) {
ok(1, "sub menu popupshown listener called");
event.currentTarget.removeEventListener("popupshown", arguments.callee, false);
// test the menu item's default state
let menuitem = document.getElementById("toggle_addon-bar");
ok(menuitem, "found the menu item");
is(menuitem.getAttribute("checked"), "false", "menuitem is not checked by default");
// click on the menu item
// TODO: there's got to be a way to check+command in one shot
menuitem.setAttribute("checked", "true");
menuitem.click();
// now the addon bar should be visible and the menu checked
is(addonbar.getAttribute("collapsed"), "false", "addon bar is visible after executing the command");
is(menuitem.getAttribute("checked"), "true", "menuitem is checked after executing the command");
toolbarMenu.hidePopup();
}
function onToolbarMenuHidden(event) {
ok(1, "toolbar menu popuphidden listener called");
event.currentTarget.removeEventListener("popuphidden", arguments.callee, false);
topMenu.hidePopup();
}
// open the view menu
topMenu = document.getElementById("menu_viewPopup");
topMenu.addEventListener("popupshown", onTopMenuShown, false);
topMenu.addEventListener("popuphidden", onTopMenuHidden, false);
topMenu.openPopup();
}

View File

@ -1,67 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
let addonbar = document.getElementById("addon-bar");
ok(addonbar.collapsed, "addon bar is collapsed by default");
function addItem(id) {
let button = document.createElement("toolbarbutton");
button.id = id;
let palette = document.getElementById("navigator-toolbox").palette;
palette.appendChild(button);
addonbar.insertItem(id, null, null, false);
}
// call onInstalling
AddonsMgrListener.onInstalling();
// add item to the bar
let id = "testbutton";
addItem(id);
// call onInstalled
AddonsMgrListener.onInstalled();
// confirm bar is visible
ok(!addonbar.collapsed, "addon bar is not collapsed after toggle");
// call onUninstalling
AddonsMgrListener.onUninstalling();
// remove item from the bar
addonbar.currentSet = addonbar.currentSet.replace("," + id, "");
// call onUninstalled
AddonsMgrListener.onUninstalled();
// confirm bar is not visible
ok(addonbar.collapsed, "addon bar is collapsed after toggle");
// call onEnabling
AddonsMgrListener.onEnabling();
// add item to the bar
let id = "testbutton";
addItem(id);
// call onEnabled
AddonsMgrListener.onEnabled();
// confirm bar is visible
ok(!addonbar.collapsed, "addon bar is not collapsed after toggle");
// call onDisabling
AddonsMgrListener.onDisabling();
// remove item from the bar
addonbar.currentSet = addonbar.currentSet.replace("," + id, "");
// call onDisabled
AddonsMgrListener.onDisabled();
// confirm bar is not visible
ok(addonbar.collapsed, "addon bar is collapsed after toggle");
}

View File

@ -1,19 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
let addonbar = document.getElementById("addon-bar");
ok(addonbar.collapsed, "addon bar is collapsed by default");
// make add-on bar visible
setToolbarVisibility(addonbar, true);
ok(!addonbar.collapsed, "addon bar is not collapsed after toggle");
// click the close button
let closeButton = document.getElementById("addonbar-closebutton");
EventUtils.synthesizeMouseAtCenter(closeButton, {});
// confirm addon bar is closed
ok(addonbar.collapsed, "addon bar is collapsed after clicking close button");
}

View File

@ -1,18 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
let addonbar = document.getElementById("addon-bar");
ok(addonbar.collapsed, "addon bar is collapsed by default");
// show the add-on bar
EventUtils.synthesizeKey("/", { accelKey: true }, window);
ok(!addonbar.collapsed, "addon bar is not collapsed after toggle");
// hide the add-on bar
EventUtils.synthesizeKey("/", { accelKey: true }, window);
// confirm addon bar is closed
ok(addonbar.collapsed, "addon bar is collapsed after toggle");
}

View File

@ -1,33 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
// Test:
// * if add-on is installed to the add-on bar, the bar is made visible.
// * if add-on is uninstalled from the add-on bar, and no more add-ons there,
// the bar is hidden.
function test() {
let aml = AddonsMgrListener;
ok(aml, "AddonsMgrListener exists");
// check is hidden
is(aml.addonBar.collapsed, true, "add-on bar is hidden initially");
// aob gets the count
AddonsMgrListener.onInstalling();
// add an item
let element = document.createElement("toolbaritem");
element.id = "bug598923-addon-item";
aml.addonBar.appendChild(element);
// aob checks the count, makes visible
AddonsMgrListener.onInstalled();
// check is visible
is(aml.addonBar.collapsed, false, "add-on bar has been made visible");
// aob gets the count
AddonsMgrListener.onUninstalling();
// remove an item
aml.addonBar.removeChild(element);
// aob checks the count, makes hidden
AddonsMgrListener.onUninstalled();
// check is hidden
is(aml.addonBar.collapsed, true, "add-on bar is hidden again");
}

View File

@ -79,8 +79,6 @@ can reach it easily. -->
<!ENTITY personalbarCmd.label "Bookmarks Toolbar">
<!ENTITY personalbarCmd.accesskey "B">
<!ENTITY bookmarksToolbarItem.label "Bookmarks Toolbar Items">
<!ENTITY addonBarCmd.label "Add-on Bar">
<!ENTITY addonBarCmd.accesskey "A">
<!ENTITY pageSourceCmd.label "Page Source">
<!ENTITY pageSourceCmd.accesskey "o">
@ -624,9 +622,6 @@ just addresses the organization to follow, e.g. "This site is run by " -->
<!ENTITY syncSyncNowItem.accesskey "S">
<!ENTITY syncToolbarButton.label "Sync">
<!ENTITY addonBarCloseButton.tooltip "Close Add-on Bar">
<!ENTITY toggleAddonBarCmd.key "/">
<!ENTITY socialToolbar.title "Social Toolbar Button">
<!ENTITY social.notLoggedIn.label "Not logged in">

View File

@ -1689,42 +1689,6 @@ toolbarbutton.chevron > .toolbarbutton-icon {
margin-top: 10px;
}
/* Add-on bar */
#addon-bar {
box-shadow: 0 1px 0 rgba(0,0,0,.15) inset;
padding: 0;
min-height: 20px;
}
#status-bar {
min-height: 0;
-moz-appearance: none;
background-color: transparent;
border: none;
}
#addon-bar[customizing] > #status-bar {
opacity: .5;
background-image: repeating-linear-gradient(135deg,
rgba(255,255,255,.3), rgba(255,255,255,.3) 5px,
rgba(0,0,0,.3) 5px, rgba(0,0,0,.3) 10px);
}
#status-bar > statusbarpanel {
border-width: 0;
-moz-appearance: none;
}
#addonbar-closebutton {
list-style-image: url("moz-icon://stock/gtk-close?size=menu");
}
#addonbar-closebutton > .toolbarbutton-icon {
margin-top: -2px;
margin-bottom: -2px;
}
/* Status panel */
.statuspanel-label {

View File

@ -2492,9 +2492,9 @@ toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
* Tabstrip & add-on bar toolbar buttons
*/
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
#TabsToolbar .toolbarbutton-1,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
-moz-appearance: none;
/* !important flags needed because of bug 561154: */
margin: 0 !important;
@ -2505,31 +2505,31 @@ toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
box-shadow: none !important;
}
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1:not([type="menu-button"]),
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button {
#TabsToolbar .toolbarbutton-1:not([type="menu-button"]),
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button {
margin: 0;
padding: 0 1px;
}
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
padding-left: 4px;
padding-right: 4px;
}
.tabbrowser-arrowscrollbox > .scrollbutton-up:not([disabled]):hover,
.tabbrowser-arrowscrollbox > .scrollbutton-down:not([disabled]):hover,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1:not([type="menu-button"]):not([disabled]):not([open]):hover,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled]):hover,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1:not([disabled]):not([buttonover]):hover > .toolbarbutton-menubutton-dropmarker {
#TabsToolbar .toolbarbutton-1:not([type="menu-button"]):not([disabled]):not([open]):hover,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled]):hover,
#TabsToolbar .toolbarbutton-1:not([disabled]):not([buttonover]):hover > .toolbarbutton-menubutton-dropmarker {
background-image: linear-gradient(transparent, rgba(0,0,0,.15)) !important;
}
.tabbrowser-arrowscrollbox > .scrollbutton-up:not([disabled]):hover:active,
.tabbrowser-arrowscrollbox > .scrollbutton-down:not([disabled]):hover:active,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1:not([type="menu-button"]):not([disabled]):hover:active,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1[type="menu"][open],
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled]):hover:active,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1[open]:not([disabled]):hover > .toolbarbutton-menubutton-dropmarker {
#TabsToolbar .toolbarbutton-1:not([type="menu-button"]):not([disabled]):hover:active,
#TabsToolbar .toolbarbutton-1[type="menu"][open],
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled]):hover:active,
#TabsToolbar .toolbarbutton-1[open]:not([disabled]):hover > .toolbarbutton-menubutton-dropmarker {
background-image: linear-gradient(transparent, rgba(0,0,0,.3)) !important;
}
@ -3192,46 +3192,6 @@ toolbarbutton.chevron > .toolbarbutton-menu-dropmarker {
margin-top: .5em;
}
/* Add-on bar */
#addon-bar {
min-height: 18px;
padding-right: 16px; /* replace with -moz-padding-end when/if bug 631729 gets fixed */
}
#addon-bar:not(:-moz-lwtheme) {
-moz-appearance: statusbar;
}
#status-bar {
-moz-appearance: none;
padding-right: 0;
}
#addon-bar[customizing] > #status-bar {
opacity: .5;
background-image: repeating-linear-gradient(135deg,
rgba(255,255,255,.3), rgba(255,255,255,.3) 5px,
rgba(0,0,0,.3) 5px, rgba(0,0,0,.3) 10px);
}
#status-bar > statusbarpanel {
border-width: 0;
-moz-appearance: none;
}
#addonbar-closebutton {
padding: 0;
margin: 0 6px;
border: none;
}
@media (min-resolution: 2dppx) {
#addonbar-closebutton > .toolbarbutton-icon {
width: 16px;
}
}
/* Status panel */
.statuspanel-label {

View File

@ -521,8 +521,8 @@ menuitem.bookmark-item {
transition: background-color .4s;
}
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1,
:-moz-any(#TabsToolbar, #addon-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-button,
#TabsToolbar .toolbarbutton-1,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-menubutton-button,
.tabbrowser-arrowscrollbox > .scrollbutton-up,
.tabbrowser-arrowscrollbox > .scrollbutton-down {
-moz-appearance: none;
@ -543,17 +543,6 @@ menuitem.bookmark-item {
background-repeat: no-repeat;
}
#addon-bar .toolbarbutton-1:not([disabled]):hover,
#addon-bar .toolbarbutton-1[open],
#addon-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled]):hover {
background-image: linear-gradient(to top, transparent, rgba(0,0,0,.15)),
linear-gradient(to top, transparent, rgba(0,0,0,.15) 30%),
linear-gradient(to top, transparent, rgba(0,0,0,.15) 30%);
background-position: left, left, right;
background-size: auto, 1px 100%, 1px 100%;
background-repeat: no-repeat;
}
/* unified back/forward button */
#back-button {
@ -2158,44 +2147,6 @@ toolbarbutton.bookmark-item[dragover="true"][open="true"] {
margin-top: .5em;
}
/* Add-on bar */
#addon-bar {
-moz-appearance: none;
min-height: 20px;
border-top-style: none;
border-bottom-style: none;
padding-top: 1px;
background-image: linear-gradient(rgba(0,0,0,.15) 1px, rgba(255,255,255,.15) 1px);
background-size: 100% 2px;
background-repeat: no-repeat;
}
#status-bar {
-moz-appearance: none;
background-color: transparent;
border: none;
min-height: 0;
}
#addon-bar[customizing] > #status-bar {
opacity: .5;
background-image: repeating-linear-gradient(135deg,
rgba(255,255,255,.3), rgba(255,255,255,.3) 5px,
rgba(0,0,0,.3) 5px, rgba(0,0,0,.3) 10px);
}
#status-bar > statusbarpanel {
border-width: 0;
-moz-appearance: none;
}
#addonbar-closebutton {
border: none;
padding: 0 5px;
-moz-appearance: none;
}
/* Status panel */
.statuspanel-label {