diff -r 000000000000 -r 6474c204b198 browser/base/content/browser.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/base/content/browser.css Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,1093 @@ +/* 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/. */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace html url("http://www.w3.org/1999/xhtml"); +@namespace svg url("http://www.w3.org/2000/svg"); + +#main-window:not([chromehidden~="toolbar"]) { +%ifdef XP_MACOSX + min-width: 335px; +%else + min-width: 300px; +%endif +} + +#main-window[customize-entered] { + min-width: -moz-fit-content; +} + +searchbar { + -moz-binding: url("chrome://browser/content/search/search.xml#searchbar"); +} + +.browserStack > browser[remote="true"] { + -moz-binding: url("chrome://global/content/bindings/remote-browser.xml#remote-browser"); +} + +toolbar[customizable="true"] { + -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar"); +} + +%ifdef XP_MACOSX +#toolbar-menubar { + -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-menubar-stub"); +} + +toolbar[customizable="true"]:not([nowindowdrag="true"]) { + -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-drag"); +} +%endif + +#toolbar-menubar[autohide="true"] { + -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#toolbar-menubar-autohide"); +} + +#addon-bar { + -moz-binding: url("chrome://browser/content/customizableui/toolbar.xml#addonbar-delegating"); + visibility: visible; + margin: 0; + height: 0 !important; + overflow: hidden; + padding: 0; + border: 0 none; +} + +#addonbar-closebutton { + visibility: visible; + height: 0 !important; +} + +#status-bar { + height: 0 !important; + -moz-binding: none; + padding: 0; + margin: 0; +} + +panelmultiview { + -moz-binding: url("chrome://browser/content/customizableui/panelUI.xml#panelmultiview"); +} + +panelview { + -moz-binding: url("chrome://browser/content/customizableui/panelUI.xml#panelview"); + -moz-box-orient: vertical; +} + +.panel-mainview { + transition: transform 150ms; +} + +panelview:not([mainview]):not([current]) { + display: none; +} + +tabbrowser { + -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser"); +} + +.tabbrowser-tabs { + -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-tabs"); +} + +#tabbrowser-tabs:not([overflow="true"]) ~ #alltabs-button, +#tabbrowser-tabs:not([overflow="true"]) + #new-tab-button, +#tabbrowser-tabs[overflow="true"] > .tabbrowser-arrowscrollbox > .tabs-newtab-button, +#TabsToolbar[currentset]:not([currentset*="tabbrowser-tabs,new-tab-button"]) > #tabbrowser-tabs > .tabbrowser-arrowscrollbox > .tabs-newtab-button, +#TabsToolbar[customizing="true"] > #tabbrowser-tabs > .tabbrowser-arrowscrollbox > .tabs-newtab-button { + visibility: collapse; +} + +#tabbrowser-tabs:not([overflow="true"])[using-closing-tabs-spacer] ~ #alltabs-button { + visibility: hidden; /* temporary space to keep a tab's close button under the cursor */ +} + +.tabbrowser-tab { + -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-tab"); +} + +.tabbrowser-tab:not([pinned]) { + -moz-box-flex: 100; + max-width: 210px; + min-width: 100px; + width: 0; + transition: min-width 200ms ease-out, + max-width 230ms ease-out; +} + +.tabbrowser-tab:not([pinned]):not([fadein]) { + max-width: 0.1px; + min-width: 0.1px; + visibility: hidden; +} + +.tab-close-button, +.tab-background { + /* Explicitly set the visibility to override the value (collapsed) + * we inherit from #TabsToolbar[collapsed] upon opening a browser window. */ + visibility: visible; +} + +.tab-close-button[fadein], +.tab-background[fadein] { + /* This transition is only wanted for opening tabs. */ + transition: visibility 0ms 25ms; +} + +.tab-close-button:not([fadein]), +.tab-background:not([fadein]) { + visibility: hidden; +} + +.tab-label:not([fadein]), +.tab-throbber:not([fadein]), +.tab-icon-image:not([fadein]) { + display: none; +} + +.tabbrowser-tabs[positionpinnedtabs] > .tabbrowser-tab[pinned] { + position: fixed !important; + display: block; /* position:fixed already does this (bug 579776), but let's be explicit */ +} + +.tabbrowser-tabs[movingtab] > .tabbrowser-tab[selected] { + position: relative; + z-index: 2; + pointer-events: none; /* avoid blocking dragover events on scroll buttons */ +} + +.tabbrowser-tabs[movingtab] > .tabbrowser-tab[fadein]:not([selected]) { + transition: transform 200ms ease-out; +} + +#alltabs-popup { + -moz-binding: url("chrome://browser/content/tabbrowser.xml#tabbrowser-alltabs-popup"); +} + +toolbar[printpreview="true"] { + -moz-binding: url("chrome://global/content/printPreviewBindings.xml#printpreviewtoolbar"); +} + +toolbar[overflowable] > .customization-target { + overflow: hidden; +} + +toolbar:not([overflowing]) > .overflow-button, +toolbar[customizing] > .overflow-button { + display: none; +} + +%ifdef CAN_DRAW_IN_TITLEBAR +#main-window:not([chromemargin]) > #titlebar, +#main-window[inFullscreen] > #titlebar, +#main-window[inFullscreen] .titlebar-placeholder, +#main-window:not([tabsintitlebar]) .titlebar-placeholder { + display: none; +} + +#titlebar { + -moz-binding: url("chrome://global/content/bindings/general.xml#windowdragbox"); +} + +#titlebar-spacer { + pointer-events: none; +} + +#main-window[tabsintitlebar] #titlebar-buttonbox { + position: relative; +} + +#titlebar-buttonbox { + -moz-appearance: -moz-window-button-box; +} + +%ifdef XP_MACOSX +#titlebar-fullscreen-button { + -moz-appearance: -moz-mac-fullscreen-button; +} + +/* Because these buttons don't move, they should always be aligned the same, + * left and right were deprecated, so we have to do work to get it to mean that: */ +#titlebar-buttonbox-container:-moz-locale-dir(ltr) { + -moz-box-align: start; +} + +#titlebar-buttonbox-container:-moz-locale-dir(rtl) { + -moz-box-align: end; +} + +/* Fullscreen and caption buttons don't move with RTL on OS X so override the automatic ordering. */ +#titlebar-secondary-buttonbox:-moz-locale-dir(ltr), +#titlebar-buttonbox-container:-moz-locale-dir(rtl), +.titlebar-placeholder[type="fullscreen-button"]:-moz-locale-dir(ltr), +.titlebar-placeholder[type="caption-buttons"]:-moz-locale-dir(rtl) { + -moz-box-ordinal-group: 1000; +} + +#titlebar-secondary-buttonbox:-moz-locale-dir(rtl), +#titlebar-buttonbox-container:-moz-locale-dir(ltr), +.titlebar-placeholder[type="caption-buttons"]:-moz-locale-dir(ltr), +.titlebar-placeholder[type="fullscreen-button"]:-moz-locale-dir(rtl) { + -moz-box-ordinal-group: 0; +} +%else +/* On non-OSX, these should be start-aligned */ +#titlebar-buttonbox-container { + -moz-box-align: start; +} +%endif + +%if !defined(MOZ_WIDGET_GTK) && !defined(MOZ_WIDGET_QT) +#TabsToolbar > .private-browsing-indicator { + -moz-box-ordinal-group: 1000; +} +%endif + +%ifdef XP_WIN +#main-window[sizemode="maximized"] #titlebar-buttonbox { + -moz-appearance: -moz-window-button-box-maximized; +} +%endif + +%endif + +/* Rules to help integrate SDK widgets */ +toolbaritem[sdkstylewidget="true"] > toolbarbutton, +toolbarpaletteitem > toolbaritem[sdkstylewidget="true"] > iframe, +toolbarpaletteitem > toolbaritem[sdkstylewidget="true"] > .toolbarbutton-text { + display: none; +} + +toolbarpaletteitem:-moz-any([place="palette"], [place="panel"]) > toolbaritem[sdkstylewidget="true"] > toolbarbutton { + display: -moz-box; +} + +toolbarpaletteitem > toolbaritem[sdkstylewidget="true"][cui-areatype="toolbar"] > .toolbarbutton-text { + display: -moz-box; +} + +toolbarpaletteitem[removable="false"] { + opacity: 0.5; + cursor: default; +} + +#bookmarks-toolbar-placeholder, +toolbarpaletteitem > #personal-bookmarks > #PlacesToolbar, +#personal-bookmarks[cui-areatype="menu-panel"] > #PlacesToolbar, +#personal-bookmarks[cui-areatype="toolbar"][overflowedItem=true] > #PlacesToolbar { + display: none; +} + +#PlacesToolbarDropIndicatorHolder { + position: absolute; + top: 25%; +} + +toolbarpaletteitem > #personal-bookmarks > #bookmarks-toolbar-placeholder, +#personal-bookmarks[cui-areatype="menu-panel"] > #bookmarks-toolbar-placeholder, +#personal-bookmarks[cui-areatype="toolbar"][overflowedItem=true] > #bookmarks-toolbar-placeholder { + display: -moz-box; +} + +toolbar:not(#TabsToolbar) > #wrapper-personal-bookmarks, +toolbar:not(#TabsToolbar) > #personal-bookmarks { + -moz-box-flex: 1; +} + +#zoom-controls[cui-areatype="toolbar"]:not([overflowedItem=true]) > #zoom-reset-button > .toolbarbutton-text { + display: -moz-box; +} + +#urlbar-reload-button:not([displaystop]) + #urlbar-stop-button, +#urlbar-reload-button[displaystop] { + visibility: collapse; +} + +#PanelUI-feeds > .feed-toolbarbutton:-moz-locale-dir(rtl) { + direction: rtl; +} + +#panelMenu_bookmarksMenu > .bookmark-item { + max-width: none; +} + +#urlbar-container { + min-width: 50ch; +} + +#search-container { + min-width: 25ch; +} + +#urlbar, +.searchbar-textbox { + /* Setting a width and min-width to let the location & search bars maintain + a constant width in case they haven't be resized manually. (bug 965772) */ + width: 1px; + min-width: 1px; +} + +#main-window:-moz-lwtheme { + background-repeat: no-repeat; + background-position: top right; +} + +%ifdef XP_MACOSX +#main-window[inFullscreen="true"] { + padding-top: 0; /* override drawintitlebar="true" */ +} +%endif + +#browser-bottombox[lwthemefooter="true"] { + background-repeat: no-repeat; + background-position: bottom left; +} + +.menuitem-tooltip { + -moz-binding: url("chrome://browser/content/urlbarBindings.xml#menuitem-tooltip"); +} + +.menuitem-iconic-tooltip, +.menuitem-tooltip[type="checkbox"], +.menuitem-tooltip[type="radio"] { + -moz-binding: url("chrome://browser/content/urlbarBindings.xml#menuitem-iconic-tooltip"); +} + +/* Hide menu elements intended for keyboard access support */ +#main-menubar[openedwithkey=false] .show-only-for-keyboard { + display: none; +} + +/* ::::: location bar ::::: */ +#urlbar { + -moz-binding: url(chrome://browser/content/urlbarBindings.xml#urlbar); +} + +.ac-url-text:-moz-locale-dir(rtl), +.ac-title:-moz-locale-dir(rtl) > description { + direction: ltr !important; +} + +/* For results that are actions, their description text is shown instead of + the URL - this needs to follow the locale's direction, unlike URLs. */ +panel:not([noactions]) > richlistbox > richlistitem[type~="action"]:-moz-locale-dir(rtl) > .ac-url-box { + direction: rtl; +} + +panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .ac-url > .ac-action-text, +panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .ac-action-icon { + visibility: collapse; +} + +panel[noactions] > richlistbox > richlistitem[type~="action"] > .ac-url-box > .ac-url > .ac-url-text { + visibility: visible; +} + +#urlbar:not([actiontype]) > #urlbar-display-box { + display: none; +} + +#PopupAutoComplete { + -moz-binding: url("chrome://browser/content/urlbarBindings.xml#browser-autocomplete-result-popup"); +} + +#PopupAutoCompleteRichResult { + -moz-binding: url("chrome://browser/content/urlbarBindings.xml#urlbar-rich-result-popup"); +} + +#urlbar[pageproxystate="invalid"] > #urlbar-icons > .urlbar-icon, +#urlbar[pageproxystate="invalid"][focused="true"] > #urlbar-go-button ~ toolbarbutton, +#urlbar[pageproxystate="valid"] > #urlbar-go-button, +#urlbar:not([focused="true"]) > #urlbar-go-button { + visibility: collapse; +} + +#urlbar[pageproxystate="invalid"] > #identity-box > #identity-icon-labels { + visibility: collapse; +} + +#urlbar[pageproxystate="invalid"] > #identity-box { + pointer-events: none; +} + +#identity-icon-labels { + max-width: 18em; +} +@media (max-width: 700px) { + #urlbar-container { + min-width: 45ch; + } + #identity-icon-labels { + max-width: 70px; + } +} +@media (max-width: 600px) { + #urlbar-container { + min-width: 40ch; + } + #identity-icon-labels { + max-width: 60px; + } +} +@media (max-width: 500px) { + #urlbar-container { + min-width: 35ch; + } + #identity-icon-labels { + max-width: 50px; + } +} +@media (max-width: 400px) { + #urlbar-container { + min-width: 28ch; + } + #identity-icon-labels { + max-width: 40px; + } +} + +#identity-icon-country-label { + direction: ltr; +} + +#identity-box.verifiedIdentity > #identity-icon-labels > #identity-icon-label { + -moz-margin-end: 0.25em !important; +} + +#main-window[customizing] :-moz-any(#urlbar, .searchbar-textbox) > .autocomplete-textbox-container > .textbox-input-box { + visibility: hidden; +} + +/* ::::: Unified Back-/Forward Button ::::: */ +#back-button > .toolbarbutton-menu-dropmarker, +#forward-button > .toolbarbutton-menu-dropmarker { + display: none; +} +.unified-nav-current { + font-weight: bold; +} + +toolbarbutton.bookmark-item { + max-width: 13em; +} + +#editBMPanel_tagsSelector { + /* override default listbox width from xul.css */ + width: auto; +} + +/* The star doesn't make sense as text */ +toolbar[mode="text"] #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-icon { + display: -moz-box !important; +} +toolbar[mode="text"] #bookmarks-menu-button > .toolbarbutton-menubutton-button > .toolbarbutton-text, +toolbar[mode="full"] #bookmarks-menu-button.bookmark-item > .toolbarbutton-menubutton-button > .toolbarbutton-text { + display: none; +} + +menupopup[emptyplacesresult="true"] > .hide-if-empty-places-result { + display: none; +} + +menuitem.spell-suggestion { + font-weight: bold; +} + +/* apply Fitts' law to the notification bar's close button */ +window[sizemode="maximized"] #content .notification-inner { + border-right: 0px !important; +} + +/* Hide extension toolbars that neglected to set the proper class */ +window[chromehidden~="location"][chromehidden~="toolbar"] toolbar:not(.chromeclass-menubar), +window[chromehidden~="toolbar"] toolbar:not(.toolbar-primary):not(.chromeclass-menubar) { + display: none; +} + +#navigator-toolbox , +#mainPopupSet { + min-width: 1px; +} + +%ifdef MOZ_SERVICES_SYNC +/* Sync notification UI */ +#sync-notifications { + -moz-binding: url("chrome://browser/content/sync/notification.xml#notificationbox"); + overflow-y: visible !important; +} + +#sync-notifications notification { + -moz-binding: url("chrome://browser/content/sync/notification.xml#notification"); +} +%endif + +/* History Swipe Animation */ + +#historySwipeAnimationContainer { + overflow: hidden; +} + +#historySwipeAnimationPreviousPage, +#historySwipeAnimationCurrentPage, +#historySwipeAnimationNextPage { + background: none top left no-repeat white; +} + +#historySwipeAnimationPreviousPage { + background-image: -moz-element(#historySwipeAnimationPreviousPageSnapshot); +} + +#historySwipeAnimationCurrentPage { + background-image: -moz-element(#historySwipeAnimationCurrentPageSnapshot); +} + +#historySwipeAnimationNextPage { + background-image: -moz-element(#historySwipeAnimationNextPageSnapshot); +} + +/* Identity UI */ +#identity-popup-content-box:not(.chromeUI) > #identity-popup-brandName, +#identity-popup-content-box:not(.chromeUI) > #identity-popup-chromeLabel, +#identity-popup-content-box.chromeUI > .identity-popup-label:not(#identity-popup-brandName):not(#identity-popup-chromeLabel), +#identity-popup-content-box.chromeUI > .identity-popup-description, +#identity-popup.chromeUI > #identity-popup-button-container, +#identity-popup-content-box.unknownIdentity > #identity-popup-connectedToLabel , +#identity-popup-content-box.unknownIdentity > #identity-popup-runByLabel , +#identity-popup-content-box.unknownIdentity > #identity-popup-content-host , +#identity-popup-content-box.unknownIdentity > #identity-popup-content-owner , +#identity-popup-content-box.verifiedIdentity > #identity-popup-connectedToLabel2 , +#identity-popup-content-box.verifiedDomain > #identity-popup-connectedToLabel2 { + display: none; +} + +/* Full Screen UI */ + +#fullscr-toggler { + height: 1px; + background: black; +} + +#full-screen-warning-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 2147483647 !important; +} + +#full-screen-warning-container[fade-warning-out] { + transition-property: opacity !important; + transition-duration: 500ms !important; + opacity: 0.0; +} + +/* When the modal fullscreen approval UI is showing, don't allow interaction + with the page, but when we're just showing the warning upon entering + fullscreen on an already approved page, do allow interaction with the page. + */ +#full-screen-warning-container:not([obscure-browser]) { + pointer-events: none; +} + +#full-screen-warning-message { + /* We must specify a max-width, otherwise word-wrap:break-word doesn't + work in descendant and