forked from mirrors/gecko-dev
The conversion for "regular" <tabs> elements is straightforward, most of the work here is to support the tab strip (the <tabs> element with the id "tabbrowser-tabs"). The markup needed for the tab strip moves directly into browser.xhtml and the construction/teardown logic is now explicitly driven from gBrowser. There are many more little tweaks too numerous to enumerate. Differential Revision: https://phabricator.services.mozilla.com/D32855 --HG-- rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser-tabs.js extra : source : c163881a80c9a032b40f7d965fad6a6850fcf8a4 extra : intermediate-source : a5c6deeda8a9475ac0268a4351417c8ff659c962 extra : histedit_source : 5eb8b3d14027f2aeca5c52534096837cd0343104%2Ca23a07ddd5e1fb8bd084644dd6db0ee028b7c4b4
91 lines
2.4 KiB
CSS
91 lines
2.4 KiB
CSS
/* 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/. */
|
|
|
|
.tab-close-button[pinned],
|
|
#tabbrowser-tabs[closebuttons="activetab"] > .tabbrowser-arrowscrollbox > .tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button:not([selected="true"]),
|
|
.tab-icon-pending:not([pendingicon]),
|
|
.tab-icon-pending[busy],
|
|
.tab-icon-pending[pinned],
|
|
.tab-icon-image:not([src]):not([pinned]):not([crashed])[selected],
|
|
.tab-icon-image:not([src]):not([pinned]):not([crashed]):not([sharing]),
|
|
.tab-icon-image[busy],
|
|
.tab-throbber:not([busy]),
|
|
.tab-icon-sound:not([soundplaying]):not([muted]):not([activemedia-blocked]):not([pictureinpicture]),
|
|
.tab-icon-sound[pinned],
|
|
.tab-sharing-icon-overlay,
|
|
.tab-icon-overlay {
|
|
display: none;
|
|
}
|
|
|
|
.tab-sharing-icon-overlay[sharing]:not([selected]),
|
|
.tab-icon-overlay[soundplaying][pinned],
|
|
.tab-icon-overlay[muted][pinned],
|
|
.tab-icon-overlay[activemedia-blocked][pinned],
|
|
.tab-icon-overlay[crashed] {
|
|
display: -moz-box;
|
|
}
|
|
|
|
.tab-label {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.tab-label-container {
|
|
overflow: hidden;
|
|
}
|
|
|
|
.tab-label-container[pinned] {
|
|
width: 0;
|
|
}
|
|
|
|
.tab-label-container[textoverflow][labeldirection=ltr]:not([pinned]),
|
|
.tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(ltr) {
|
|
direction: ltr;
|
|
mask-image: linear-gradient(to left, transparent, black 2em);
|
|
}
|
|
|
|
.tab-label-container[textoverflow][labeldirection=rtl]:not([pinned]),
|
|
.tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(rtl) {
|
|
direction: rtl;
|
|
mask-image: linear-gradient(to right, transparent, black 2em);
|
|
}
|
|
|
|
tabpanels {
|
|
background-color: transparent;
|
|
}
|
|
|
|
.tab-drop-indicator-box {
|
|
-moz-box-align: end;
|
|
}
|
|
|
|
.tab-drop-indicator {
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
|
|
/* Apply crisp rendering for favicons at exactly 2dppx resolution */
|
|
@media (resolution: 2dppx) {
|
|
.tab-icon-image {
|
|
image-rendering: -moz-crisp-edges;
|
|
}
|
|
}
|
|
|
|
.closing-tabs-spacer {
|
|
pointer-events: none;
|
|
}
|
|
|
|
#tabbrowser-tabs:not(:hover) > .tabbrowser-arrowscrollbox > .closing-tabs-spacer {
|
|
transition: width .15s ease-out;
|
|
}
|
|
|
|
browser[blank],
|
|
browser[pendingpaint] {
|
|
opacity: 0;
|
|
}
|
|
|
|
#tabbrowser-tabpanels[pendingpaint] {
|
|
background-image: url(chrome://browser/skin/tabbrowser/pendingpaint.png);
|
|
background-repeat: no-repeat;
|
|
background-position: center center;
|
|
background-size: 30px;
|
|
}
|