summaryrefslogtreecommitdiff
path: root/toolkit/content/widgets/videocontrols.css
blob: 99dbf5a2ff0122a3a671376818bb634b3be804b2 (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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/* 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");

.scrubber,
.volumeControl {
  -moz-binding: url("chrome://global/content/bindings/videocontrols.xml#suppressChangeEvent");
}

.scrubber .scale-thumb {
  -moz-binding: url("chrome://global/content/bindings/videocontrols.xml#timeThumb");
}

.playButton,
.muteButton,
.scrubber .scale-slider,
.volumeControl .scale-slider {
  -moz-user-focus: none;
}

.controlBar[fullscreen-unavailable] > .fullscreenButton {
  display: none;
}

.mediaControlsFrame {
  direction: ltr;
  /* Prevent unwanted style inheritance. See bug 554717. */
  text-align: left;
  list-style-image: none !important;
  font: normal normal normal 100%/normal sans-serif !important;
  text-decoration: none !important;
}

.controlsSpacer[hideCursor] {
  cursor: none;
}

.controlsOverlay[scaled] {
  -moz-box-align: center;
}

/* CSS Transitions
 *
 * These are overriden by the default theme; the rules here just 
 * provide a fallback to drive the required transitionend event
 * (in case a 3rd party theme does not provide transitions).
 */
.controlBar:not([immediate]) {
  transition-property: opacity;
  transition-duration: 1ms;
}
.controlBar[fadeout] {
  opacity: 0;
}
.volumeStack:not([immediate]) {
  transition-property: opacity, margin-top;
  transition-duration: 1ms, 1ms;
}
.volumeStack[fadeout] {
  opacity: 0;
  margin-top: 0;
}
.statusOverlay:not([immediate]) {
  transition-property: opacity;
  transition-duration: 1ms;
  transition-delay: 750ms;
}
.statusOverlay[fadeout] {
  opacity: 0;
}

/* Statistics formatting */
html|td.statLabel {
  font-weight: bold;
  max-width: 20%;
  white-space: nowrap;
}
html|td.statValue {
  max-width: 30%;
}
html|td.filename {
  max-width: 80%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html|span.statActivity > html|span {
  display: none;
}
html|span.statActivity[activity="paused"] > html|span.statActivityPaused,
html|span.statActivity[activity="playing"] > html|span.statActivityPlaying,
html|span.statActivity[activity="ended"] > html|span.statActivityEnded,
html|span.statActivity[seeking] > html|span.statActivitySeeking {
  display: inline;
}

.controlBar[size="hidden"],
.controlBar[size="small"] .durationBox,
.controlBar[size="small"] .durationLabel,
.controlBar[size="small"] .positionLabel,
.controlBar[size="small"] .volumeStack {
  visibility: collapse;
}

.controlBar[size="small"] .scrubberStack,
.controlBar[size="small"] .backgroundBar,
.controlBar[size="small"] .bufferBar,
.controlBar[size="small"] .progressBar,
.controlBar[size="small"] .scrubber {
  visibility: hidden;
}

/* Error description formatting */
.errorLabel {
  display: none;
}

[error="errorAborted"]         > [anonid="errorAborted"],
[error="errorNetwork"]         > [anonid="errorNetwork"],
[error="errorDecode"]          > [anonid="errorDecode"],
[error="errorSrcNotSupported"] > [anonid="errorSrcNotSupported"],
[error="errorNoSource"]        > [anonid="errorNoSource"],
[error="errorGeneric"]         > [anonid="errorGeneric"] {
  display: inline;
}