summaryrefslogtreecommitdiffstats
path: root/browser/base/content/tabbrowser.css
blob: 4945c13989fd8b10d4e69d2b684ebf5e5e927617 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* 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], [pinned], [crashed], [pictureinpicture])[selected],
.tab-icon-image:not([src], [pinned], [crashed], [sharing], [pictureinpicture]),
.tab-icon-image[busy],
.tab-throbber:not([busy]),
.tab-sharing-icon-overlay,
.tab-icon-overlay {
  display: none;
}

:root[uidensity=compact] .tab-secondary-label,
.tab-secondary-label:not([soundplaying], [muted], [activemedia-blocked], [pictureinpicture]),
.tab-secondary-label:not([activemedia-blocked]) > .tab-icon-sound-blocked-label,
.tab-secondary-label[muted][activemedia-blocked] > .tab-icon-sound-blocked-label,
.tab-secondary-label[activemedia-blocked] > .tab-icon-sound-playing-label,
.tab-secondary-label[muted] > .tab-icon-sound-playing-label,
.tab-secondary-label[pictureinpicture] > .tab-icon-sound-playing-label,
.tab-secondary-label[pictureinpicture] > .tab-icon-sound-muted-label,
.tab-secondary-label:not([pictureinpicture]) > .tab-icon-sound-pip-label,
.tab-secondary-label:not([muted]) > .tab-icon-sound-muted-label,
.tab-secondary-label:not([showtooltip]) > .tab-icon-sound-tooltip-label,
.tab-secondary-label[showtooltip] > .tab-icon-sound-label:not(.tab-icon-sound-tooltip-label) {
  display: none;
}

.tab-sharing-icon-overlay[sharing]:not([selected]),
.tab-icon-overlay:is([soundplaying], [muted], [activemedia-blocked], [crashed]) {
  display: revert;
}

.tabbrowser-tab {
  --tab-label-mask-size: 2em;
}

.tab-label {
  white-space: nowrap;
  line-height: 1.7;  /* override 'normal' in case of fallback math fonts with huge metrics */
}

.tab-secondary-label {
  margin: -.3em 0 .3em; /* adjust margins to compensate for line-height of .tab-label */
}

.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], [pinned]):-moz-locale-dir(ltr) {
  direction: ltr;
  mask-image: linear-gradient(to left, transparent, black var(--tab-label-mask-size));
}

.tab-label-container[textoverflow][labeldirection=rtl]:not([pinned]),
.tab-label-container[textoverflow]:not([labeldirection], [pinned]):-moz-locale-dir(rtl) {
  direction: rtl;
  mask-image: linear-gradient(to right, transparent, black var(--tab-label-mask-size));
}

tabpanels {
  background-color: transparent;
}

/* 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-arrowscrollbox:not(:hover) > #tabbrowser-arrowscrollbox-periphery > .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;
}