summaryrefslogtreecommitdiffstats
path: root/toolkit/themes/shared/media
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/themes/shared/media')
-rw-r--r--toolkit/themes/shared/media/TopLevelImageDocument.css17
-rw-r--r--toolkit/themes/shared/media/TopLevelVideoDocument.css12
-rw-r--r--toolkit/themes/shared/media/clicktoplay-bgtexture.pngbin0 -> 5940 bytes
-rw-r--r--toolkit/themes/shared/media/closeCaptionButton.pngbin0 -> 583 bytes
-rw-r--r--toolkit/themes/shared/media/closeCaptionButton@2x.pngbin0 -> 1335 bytes
-rw-r--r--toolkit/themes/shared/media/error.pngbin0 -> 433 bytes
-rw-r--r--toolkit/themes/shared/media/fullscreenButton.pngbin0 -> 733 bytes
-rw-r--r--toolkit/themes/shared/media/fullscreenButton@2x.pngbin0 -> 1759 bytes
-rw-r--r--toolkit/themes/shared/media/imagedoc-darknoise.pngbin0 -> 3050 bytes
-rw-r--r--toolkit/themes/shared/media/imagedoc-lightnoise.pngbin0 -> 4025 bytes
-rw-r--r--toolkit/themes/shared/media/muteButton.pngbin0 -> 619 bytes
-rw-r--r--toolkit/themes/shared/media/muteButton@2x.pngbin0 -> 1185 bytes
-rw-r--r--toolkit/themes/shared/media/noAudio.pngbin0 -> 930 bytes
-rw-r--r--toolkit/themes/shared/media/noAudio@2x.pngbin0 -> 1756 bytes
-rw-r--r--toolkit/themes/shared/media/pauseButton.pngbin0 -> 269 bytes
-rw-r--r--toolkit/themes/shared/media/pauseButton@2x.pngbin0 -> 434 bytes
-rw-r--r--toolkit/themes/shared/media/playButton.pngbin0 -> 448 bytes
-rw-r--r--toolkit/themes/shared/media/playButton@2x.pngbin0 -> 831 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumb.pngbin0 -> 562 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumb@2x.pngbin0 -> 1354 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumbWide.pngbin0 -> 563 bytes
-rw-r--r--toolkit/themes/shared/media/scrubberThumbWide@2x.pngbin0 -> 1396 bytes
-rw-r--r--toolkit/themes/shared/media/stalled.pngbin0 -> 20763 bytes
-rw-r--r--toolkit/themes/shared/media/throbber.pngbin0 -> 30718 bytes
-rw-r--r--toolkit/themes/shared/media/unmuteButton.pngbin0 -> 324 bytes
-rw-r--r--toolkit/themes/shared/media/unmuteButton@2x.pngbin0 -> 542 bytes
-rw-r--r--toolkit/themes/shared/media/videoClickToPlayButton.svg30
-rw-r--r--toolkit/themes/shared/media/videocontrols.css440
-rw-r--r--toolkit/themes/shared/media/volume-empty.pngbin0 -> 295 bytes
-rw-r--r--toolkit/themes/shared/media/volume-empty@2x.pngbin0 -> 268 bytes
-rw-r--r--toolkit/themes/shared/media/volume-full.pngbin0 -> 297 bytes
-rw-r--r--toolkit/themes/shared/media/volume-full@2x.pngbin0 -> 267 bytes
32 files changed, 499 insertions, 0 deletions
diff --git a/toolkit/themes/shared/media/TopLevelImageDocument.css b/toolkit/themes/shared/media/TopLevelImageDocument.css
new file mode 100644
index 000000000..524217516
--- /dev/null
+++ b/toolkit/themes/shared/media/TopLevelImageDocument.css
@@ -0,0 +1,17 @@
+/* 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/. */
+
+@media not print {
+ /* N.B.: Remember to update ImageDocument.css in the tree or reftests may fail! */
+
+ body {
+ color: #eee;
+ background-image: url("chrome://global/skin/media/imagedoc-darknoise.png");
+ }
+
+ img.transparent {
+ background: hsl(0,0%,90%) url("chrome://global/skin/media/imagedoc-lightnoise.png");
+ color: #222;
+ }
+}
diff --git a/toolkit/themes/shared/media/TopLevelVideoDocument.css b/toolkit/themes/shared/media/TopLevelVideoDocument.css
new file mode 100644
index 000000000..760cdcd53
--- /dev/null
+++ b/toolkit/themes/shared/media/TopLevelVideoDocument.css
@@ -0,0 +1,12 @@
+/* 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/. */
+
+body {
+ background-image: url("chrome://global/skin/media/imagedoc-darknoise.png");
+ background-color: rgb(33,33,33); /* Average color of that ^ image. */
+}
+
+video {
+ box-shadow: 0 0 15px #000;
+}
diff --git a/toolkit/themes/shared/media/clicktoplay-bgtexture.png b/toolkit/themes/shared/media/clicktoplay-bgtexture.png
new file mode 100644
index 000000000..caffc241c
--- /dev/null
+++ b/toolkit/themes/shared/media/clicktoplay-bgtexture.png
Binary files differ
diff --git a/toolkit/themes/shared/media/closeCaptionButton.png b/toolkit/themes/shared/media/closeCaptionButton.png
new file mode 100644
index 000000000..469310fb1
--- /dev/null
+++ b/toolkit/themes/shared/media/closeCaptionButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/closeCaptionButton@2x.png b/toolkit/themes/shared/media/closeCaptionButton@2x.png
new file mode 100644
index 000000000..033507892
--- /dev/null
+++ b/toolkit/themes/shared/media/closeCaptionButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/error.png b/toolkit/themes/shared/media/error.png
new file mode 100644
index 000000000..58e37283a
--- /dev/null
+++ b/toolkit/themes/shared/media/error.png
Binary files differ
diff --git a/toolkit/themes/shared/media/fullscreenButton.png b/toolkit/themes/shared/media/fullscreenButton.png
new file mode 100644
index 000000000..ffbc3d5ae
--- /dev/null
+++ b/toolkit/themes/shared/media/fullscreenButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/fullscreenButton@2x.png b/toolkit/themes/shared/media/fullscreenButton@2x.png
new file mode 100644
index 000000000..b09ebbd43
--- /dev/null
+++ b/toolkit/themes/shared/media/fullscreenButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/imagedoc-darknoise.png b/toolkit/themes/shared/media/imagedoc-darknoise.png
new file mode 100644
index 000000000..5c33e24d4
--- /dev/null
+++ b/toolkit/themes/shared/media/imagedoc-darknoise.png
Binary files differ
diff --git a/toolkit/themes/shared/media/imagedoc-lightnoise.png b/toolkit/themes/shared/media/imagedoc-lightnoise.png
new file mode 100644
index 000000000..3467cf4d4
--- /dev/null
+++ b/toolkit/themes/shared/media/imagedoc-lightnoise.png
Binary files differ
diff --git a/toolkit/themes/shared/media/muteButton.png b/toolkit/themes/shared/media/muteButton.png
new file mode 100644
index 000000000..894480761
--- /dev/null
+++ b/toolkit/themes/shared/media/muteButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/muteButton@2x.png b/toolkit/themes/shared/media/muteButton@2x.png
new file mode 100644
index 000000000..b2cd21c5e
--- /dev/null
+++ b/toolkit/themes/shared/media/muteButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/noAudio.png b/toolkit/themes/shared/media/noAudio.png
new file mode 100644
index 000000000..3db8c973b
--- /dev/null
+++ b/toolkit/themes/shared/media/noAudio.png
Binary files differ
diff --git a/toolkit/themes/shared/media/noAudio@2x.png b/toolkit/themes/shared/media/noAudio@2x.png
new file mode 100644
index 000000000..7de728b2d
--- /dev/null
+++ b/toolkit/themes/shared/media/noAudio@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/pauseButton.png b/toolkit/themes/shared/media/pauseButton.png
new file mode 100644
index 000000000..944098ca1
--- /dev/null
+++ b/toolkit/themes/shared/media/pauseButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/pauseButton@2x.png b/toolkit/themes/shared/media/pauseButton@2x.png
new file mode 100644
index 000000000..df2291941
--- /dev/null
+++ b/toolkit/themes/shared/media/pauseButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/playButton.png b/toolkit/themes/shared/media/playButton.png
new file mode 100644
index 000000000..11e2731df
--- /dev/null
+++ b/toolkit/themes/shared/media/playButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/playButton@2x.png b/toolkit/themes/shared/media/playButton@2x.png
new file mode 100644
index 000000000..fb20075b2
--- /dev/null
+++ b/toolkit/themes/shared/media/playButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumb.png b/toolkit/themes/shared/media/scrubberThumb.png
new file mode 100644
index 000000000..f15962763
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumb.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumb@2x.png b/toolkit/themes/shared/media/scrubberThumb@2x.png
new file mode 100644
index 000000000..f8790f467
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumb@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumbWide.png b/toolkit/themes/shared/media/scrubberThumbWide.png
new file mode 100644
index 000000000..96d2ed751
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumbWide.png
Binary files differ
diff --git a/toolkit/themes/shared/media/scrubberThumbWide@2x.png b/toolkit/themes/shared/media/scrubberThumbWide@2x.png
new file mode 100644
index 000000000..52c9d7272
--- /dev/null
+++ b/toolkit/themes/shared/media/scrubberThumbWide@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/stalled.png b/toolkit/themes/shared/media/stalled.png
new file mode 100644
index 000000000..525375889
--- /dev/null
+++ b/toolkit/themes/shared/media/stalled.png
Binary files differ
diff --git a/toolkit/themes/shared/media/throbber.png b/toolkit/themes/shared/media/throbber.png
new file mode 100644
index 000000000..8e49fe5b2
--- /dev/null
+++ b/toolkit/themes/shared/media/throbber.png
Binary files differ
diff --git a/toolkit/themes/shared/media/unmuteButton.png b/toolkit/themes/shared/media/unmuteButton.png
new file mode 100644
index 000000000..5b76e2fa4
--- /dev/null
+++ b/toolkit/themes/shared/media/unmuteButton.png
Binary files differ
diff --git a/toolkit/themes/shared/media/unmuteButton@2x.png b/toolkit/themes/shared/media/unmuteButton@2x.png
new file mode 100644
index 000000000..86f21859e
--- /dev/null
+++ b/toolkit/themes/shared/media/unmuteButton@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/videoClickToPlayButton.svg b/toolkit/themes/shared/media/videoClickToPlayButton.svg
new file mode 100644
index 000000000..f7ca6b653
--- /dev/null
+++ b/toolkit/themes/shared/media/videoClickToPlayButton.svg
@@ -0,0 +1,30 @@
+<!-- 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/. -->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 64 64">
+ <defs>
+ <linearGradient id="whiteGradientStops">
+ <stop style="stop-color:#fff;stop-opacity:.95" offset="0"/>
+ <stop style="stop-color:#fff;stop-opacity:.75" offset=".45"/>
+ <stop style="stop-color:#fff;stop-opacity:.72" offset=".55"/>
+ <stop style="stop-color:#fff;stop-opacity:.65" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="32" y1="0" x2="32" y2="62" id="whiteGradient" xlink:href="#whiteGradientStops" gradientUnits="userSpaceOnUse"/>
+ <linearGradient id="arrowGradientStops">
+ <stop style="stop-color:#333;stop-opacity:.5" offset="0"/>
+ <stop style="stop-color:#666;stop-opacity:.5" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="32" y1="16" x2="32" y2="48" id="arrowGradient" xlink:href="#arrowGradientStops" gradientUnits="userSpaceOnUse"/>
+ <filter x="-0.15" y="-0.15" width="1.25" height="1.25" color-interpolation-filters="sRGB" id="dropShadow">
+ <feDropShadow dx="0" dy="1" flood-opacity="0.5"/>
+ </filter>
+ <mask id="dropShadowMask">
+ <path style="fill:#fff;" d="M47.285,30.991L23.75,17.24c-0.357-0.208-0.692-0.278-0.969-0.221 C22.32,17.115,22,17.555,22,18.252v27.499c0,1.112,0.797,1.568,1.75,1.011l23.535-13.748C48.238,32.458,48.238,31.547,47.285,30.991 z M0,0v64h64V0H0z M32,60C16.536,60,4,47.464,4,32S16.536,4,32,4s28,12.536,28,28S47.464,60,32,60z"/>
+ </mask>
+ </defs>
+ <path mask="url(#dropShadowMask)" id="playButtonShadow" style="filter:url(#dropShadow);" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M47.285,33.014 L23.75,46.762C22.797,47.319,22,46.863,22,45.751v-27.5c0-0.697,0.32-1.137,0.781-1.232c0.277-0.058,0.612,0.012,0.969,0.221 l23.535,13.751C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonArrow" style="fill:url(#arrowGradient);" d="M22.781,17.019C22.32,17.114,22,17.555,22,18.251v27.5c0,1.112,0.797,1.568,1.75,1.011 l23.535-13.748c0.953-0.556,0.953-1.467,0-2.023L23.75,17.24C23.393,17.031,23.058,16.961,22.781,17.019z"/>
+ <path id="playButton" style="fill:url(#whiteGradient);" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M47.285,33.014 L23.75,46.762C22.797,47.319,22,46.863,22,45.751v-27.5c0-0.697,0.32-1.137,0.781-1.232c0.277-0.058,0.612,0.012,0.969,0.221 l23.535,13.751C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonEdgeHighlights" style="fill:white;fill-opacity:.3;" d="M32,4C16.536,4,4,16.536,4,32s12.536,28,28,28s28-12.536,28-28S47.464,4,32,4z M32,59C17.112,59,5,46.888,5,32S17.112,5,32,5s27,12.112,27,27S46.888,59,32,59z M47.789,30.127l-23.534-13.75 C23.826,16.126,23.396,16,22.976,16c-0.135,0-0.27,0.014-0.398,0.041C21.62,16.238,21,17.106,21,18.251v27.5 C21,47.075,21.812,48,22.977,48c0.423,0,0.854-0.126,1.279-0.375L47.79,33.877c0.769-0.449,1.21-1.132,1.21-1.875 S48.559,30.576,47.789,30.127z M47.285,33.014L23.75,46.762C23.474,46.924,23.211,47,22.977,47C22.402,47,22,46.541,22,45.751v-27.5 c0-0.697,0.32-1.137,0.781-1.232L22.976,17c0.233,0,0.498,0.079,0.775,0.24l23.535,13.751 C48.238,31.546,48.238,32.458,47.285,33.014z"/>
+ <path id="playButtonTopEdgeHighlights" style="fill:white;fill-opacity:.8;" d="M32,4C16.536,4,4,16.536,4,32c0,0.167,0.01,0.333,0.013,0.5 C4.28,17.268,16.704,5,32,5c15.296,0,27.72,12.268,27.987,27.5C59.99,32.333,60,32.167,60,32C60,16.536,47.464,4,32,4z M47.285,33.014L23.75,46.762C22.797,47.319,22,46.863,22,45.751v1c0,1.112,0.797,1.568,1.75,1.011l23.535-13.748 c0.697-0.406,0.879-1.003,0.556-1.512C47.723,32.688,47.541,32.864,47.285,33.014z"/>
+</svg>
diff --git a/toolkit/themes/shared/media/videocontrols.css b/toolkit/themes/shared/media/videocontrols.css
new file mode 100644
index 000000000..a40d77fe3
--- /dev/null
+++ b/toolkit/themes/shared/media/videocontrols.css
@@ -0,0 +1,440 @@
+/* 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");
+
+.controlBar {
+ height: 28px;
+ background-color: rgba(35,31,32,.74);
+}
+
+.playButton,
+.muteButton,
+.closedCaptionButton,
+.fullscreenButton {
+ background-color: transparent;
+ background-repeat: no-repeat;
+ background-position: center;
+ -moz-appearance: none; /* Remove the native button appearance and styling */
+ margin: 0;
+ padding: 0;
+ min-height: 28px;
+ min-width: 28px;
+ border: none;
+ opacity: 0.7;
+}
+
+.playButton:hover,
+.muteButton:hover,
+.closedCaptionButton:hover,
+.fullscreenButton:hover {
+ opacity: 1;
+}
+
+.playButton:hover:active,
+.muteButton:hover:active,
+.closedCaptionButton:hover:active,
+.fullscreenButton:hover:active {
+ opacity: 0.4;
+}
+
+.playButton {
+ background-image: url(chrome://global/skin/media/pauseButton.png);
+ margin-right: -22px; /* 1/2 of scrubber thumb width, for overhang. */
+ position: relative; /* Trick to work around negative margin interfering with clicking on the button. */
+}
+
+.playButton[paused] {
+ background-image: url(chrome://global/skin/media/playButton.png);
+}
+
+.muteButton {
+ background-image: url(chrome://global/skin/media/muteButton.png);
+ min-width: 33px;
+}
+.muteButton[muted] {
+ background-image: url(chrome://global/skin/media/unmuteButton.png);
+}
+
+.muteButton[noAudio] {
+ background-image: url(chrome://global/skin/media/noAudio.png);
+}
+
+.muteButton[noAudio] + .volumeStack {
+ display: none;
+}
+
+.closedCaptionButton {
+ background-image: url(chrome://global/skin/media/closeCaptionButton.png);
+ background-position: 4px;
+}
+
+.closedCaptionButton[enabled] {
+ opacity: 1;
+}
+
+.closedCaptionButton[hidden] {
+ display: none;
+}
+
+.fullscreenButton {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 16, 16, 0);
+}
+
+.fullscreenButton[fullscreened] {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton.png"), 0, 32, 16, 16);
+}
+
+.volumeControl {
+ width: 32px;
+ opacity: 0;
+}
+
+.volumeBackground,
+.volumeForeground {
+ background-repeat: no-repeat;
+ background-position: center;
+ width: 32px;
+}
+
+.volumeBackground {
+ background-image: url(chrome://global/skin/media/volume-empty.png);
+}
+
+.volumeForeground {
+ background-image: url(chrome://global/skin/media/volume-full.png);
+ background-clip: content-box;
+}
+
+.textTrackList {
+ display: -moz-box;
+ -moz-appearance: none;
+ -moz-box-pack: end;
+ -moz-box-align: end;
+ padding: 0;
+}
+
+.textTrackList[hidden] {
+ display: none;
+}
+
+.textTrackList > html|*.textTrackItem {
+ -moz-appearance: none;
+ -moz-box-align: start;
+ text-align: start;
+ overflow: hidden;
+ margin: 0;
+ padding: 2px 10px;
+ -moz-margin-end: 10px;
+ border: none;
+ color: rgba(255,255,255,.5);
+ background-color: rgba(35,31,32,.74);
+ white-space: nowrap;
+}
+
+.textTrackList > html|*.textTrackItem[on] {
+ color: white;
+ background-color: black;
+}
+
+.textTrackList > html|*.textTrackItem:hover {
+ background-color: rgba(0,0,0,.55);
+}
+
+.controlBar[fullscreen-unavailable] {
+ /* This value is duplicated in the videocontrols.xml adjustControlSize function. */
+ padding-inline-end: 8px;
+}
+
+.volumeControl .scale-thumb {
+ min-width: 0;
+ opacity: 0;
+}
+
+.durationBox {
+ -moz-box-pack: center;
+}
+
+.durationLabel {
+ margin-left: -22px; /* 1/2 of scrubber thumb width, for overhang. */
+ padding-left: 8px; /* don't bump into the scrubber bar */
+ color: rgba(255,255,255,.75);
+ font: message-box;
+ font-size: 11px;
+}
+
+%ifdef XP_MACOSX
+.durationLabel {
+ padding-top: 2px; /* center vertically with scrubber bar */
+}
+%else
+.durationLabel {
+ padding-top: 0; /* center vertically with scrubber bar */
+}
+%endif
+
+.positionLabel {
+ display: none;
+}
+
+.backgroundBar {
+ /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
+ /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
+ margin: 10px 22px;
+ background-color: rgba(255,255,255,.5);
+ border-radius: 2.5px;
+}
+
+.bufferBar,
+.progressBar {
+ /* margin top/bottom: make bar 8px tall (control height = 28, minus 2 * 10 margin) */
+ /* margin left/right: 1/2 of scrubber thumb width, for overhang. */
+ margin: 10px 22px;
+ -moz-appearance: none;
+ border: none;
+ background-color: transparent;
+ min-width: 0;
+ min-height: 0;
+}
+
+/* .progress-bar is an element inside the <progressmeter> implementation. */
+.bufferBar .progress-bar {
+ /*
+ * Note that this is drawn on top of the .backgroundBar. So although this
+ * has the same background-color specified, the semitransparent
+ * compositing gives it a different visual appearance.
+ */
+ background-color: rgba(255,255,255,.5);
+ border-radius: 2.5px;
+ -moz-appearance: none;
+}
+
+.progressBar .progress-bar {
+ background-color: white;
+ border-radius: 2.5px;
+ -moz-appearance: none;
+}
+
+/* .scale-slider is an element inside the <scale> implementation. */
+.scrubber .scale-slider,
+.volumeControl .scale-slider {
+ /* Hide the default horizontal bar. */
+ -moz-appearance: none;
+ background: none;
+ margin: 0;
+}
+
+.scrubber .scale-slider {
+ /* abs(margin-top) + margin-bottom + bar height == timeThumb height */
+ margin-top: -10px;
+ margin-bottom: 10px;
+}
+/* .scale-thumb is an element inside the <scale> implementation. */
+.scrubber .scale-thumb,
+.volumeControl .scale-thumb {
+ /* Override the default thumb appearance with a custom image. */
+ -moz-appearance: none;
+ background: transparent;
+ border: none;
+}
+
+.timeThumb {
+ background: url(chrome://global/skin/media/scrubberThumb.png) no-repeat center;
+ min-width: 45px;
+ min-height: 28px;
+ -moz-box-pack: center;
+}
+
+.timeThumb[showhours="true"] {
+ background-image: url(chrome://global/skin/media/scrubberThumbWide.png);
+}
+
+.timeLabel {
+ color: rgba(255,255,255,.75);
+ font: message-box;
+ font-size: 10px;
+ text-shadow: rgba(0,0,0,.3) 0 1px;
+ padding-top: 7px;
+}
+
+%ifdef XP_MACOSX
+.timeLabel {
+ padding-top: 7px; /* center vertically with scrubber bar */
+}
+%else
+.timeLabel {
+ padding-top: 5px; /* center vertically with scrubber bar */
+}
+%endif
+
+.statusOverlay {
+ -moz-box-align: center;
+ -moz-box-pack: center;
+ background-color: rgba(0,0,0,.55);
+}
+
+.statusIcon {
+ margin-bottom: 28px; /* same height as .controlBar, to keep icon centered above it */
+ width: 36px;
+ height: 36px;
+}
+
+.statusIcon[type="throbber"] {
+ background: url(chrome://global/skin/media/throbber.png) no-repeat center;
+}
+
+.statusIcon[type="throbber"][stalled] {
+ background: url(chrome://global/skin/media/stalled.png) no-repeat center;
+}
+
+.statusIcon[type="error"] {
+ background: url(chrome://global/skin/media/error.png) no-repeat center;
+}
+
+/* Overlay Play button */
+.clickToPlay {
+ width: 64px;
+ height: 64px;
+ -moz-box-pack: center;
+ -moz-box-align: center;
+ opacity: 0.7;
+ background-image: url(chrome://global/skin/media/clicktoplay-bgtexture.png),
+ url(chrome://global/skin/media/videoClickToPlayButton.svg);
+ background-repeat: repeat, no-repeat;
+ background-position: center, center;
+ background-size: auto, 64px 64px;
+ background-color: hsla(0,0%,10%,.5);
+}
+.clickToPlay:hover {
+ opacity: 1;
+}
+
+/* Statistics formatting */
+html|*.statsDiv {
+ position: relative;
+}
+html|td {
+ height: 1em;
+ max-height: 1em;
+ padding: 0 2px;
+}
+html|table {
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 11px;
+ color: white;
+ text-shadow:
+ -1px -1px 0 #000,
+ 1px -1px 0 #000,
+ -1px 1px 0 #000,
+ 1px 1px 0 #000;
+ min-width: 100%;
+ background: rgba(68,68,68,.7);
+ table-layout: fixed;
+ border-collapse: collapse;
+ position: absolute;
+}
+
+/* CSS Transitions */
+.clickToPlay {
+ transition-property: opacity, background-size;
+ transition-duration: 400ms, 400ms;
+}
+.clickToPlay[fadeout] {
+ background-size: auto, 192px 192px;
+ opacity: 0;
+}
+.clickToPlay[fadeout][immediate] {
+ transition-property: opacity, background-size;
+ transition-duration: 0s, 0s;
+}
+.controlBar:not([immediate]) {
+ transition-property: opacity;
+ transition-duration: 200ms;
+}
+.controlBar[fadeout] {
+ opacity: 0;
+}
+.volumeStack:not([immediate]) {
+ transition-property: opacity, margin-top;
+ transition-duration: 200ms, 200ms;
+}
+.volumeStack[fadeout] {
+ opacity: 0;
+ margin-top: 0;
+}
+.statusOverlay:not([immediate]) {
+ transition-property: opacity;
+ transition-duration: 300ms;
+ transition-delay: 750ms;
+}
+.statusOverlay[fadeout] {
+ opacity: 0;
+}
+
+/* Error description formatting */
+.errorLabel {
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 11px;
+ color: #bbb;
+ text-shadow:
+ -1px -1px 0 #000,
+ 1px -1px 0 #000,
+ -1px 1px 0 #000,
+ 1px 1px 0 #000;
+ padding: 0 10px;
+ text-align: center;
+}
+
+@media (min-resolution: 2dppx) {
+ .playButton {
+ background-image: url(chrome://global/skin/media/pauseButton@2x.png);
+ background-size: 28px 28px;
+ }
+ .playButton[paused] {
+ background-image: url(chrome://global/skin/media/playButton@2x.png);
+ background-size: 28px 28px;
+ }
+ .volumeBackground {
+ background-image: url(chrome://global/skin/media/volume-empty@2x.png);
+ background-size: 32px 16px;
+ }
+ .volumeForeground {
+ background-image: url(chrome://global/skin/media/volume-full@2x.png);
+ background-size: 32px 16px;
+ }
+ .muteButton {
+ background-image: url(chrome://global/skin/media/muteButton@2x.png);
+ background-size: 33px 28px;
+ }
+ .muteButton[muted] {
+ background-image: url(chrome://global/skin/media/unmuteButton@2x.png);
+ background-size: 33px 28px;
+ }
+ .muteButton[noAudio] {
+ background-image: url(chrome://global/skin/media/noAudio@2x.png);
+ background-size: 33px 28px;
+ }
+ .closedCaptionButton {
+ background-image: url(chrome://global/skin/media/closeCaptionButton@2x.png);
+ background-position: 4px;
+ background-size: 28px 28px;
+ }
+ .fullscreenButton {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 32, 32, 0);
+ background-size: 16px 16px;
+ }
+ .fullscreenButton[fullscreened] {
+ background-image: -moz-image-rect(url("chrome://global/skin/media/fullscreenButton@2x.png"), 0, 64, 32, 32);
+ background-size: 16px 16px;
+ }
+ .timeThumb {
+ background-image: url(chrome://global/skin/media/scrubberThumb@2x.png);
+ background-size: 33px 28px;
+ }
+ .timeThumb[showhours="true"] {
+ background-image: url(chrome://global/skin/media/scrubberThumbWide@2x.png);
+ background-size: 45px 28px;
+ }
+}
diff --git a/toolkit/themes/shared/media/volume-empty.png b/toolkit/themes/shared/media/volume-empty.png
new file mode 100644
index 000000000..589abfbd5
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-empty.png
Binary files differ
diff --git a/toolkit/themes/shared/media/volume-empty@2x.png b/toolkit/themes/shared/media/volume-empty@2x.png
new file mode 100644
index 000000000..ca494e893
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-empty@2x.png
Binary files differ
diff --git a/toolkit/themes/shared/media/volume-full.png b/toolkit/themes/shared/media/volume-full.png
new file mode 100644
index 000000000..4398a569b
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-full.png
Binary files differ
diff --git a/toolkit/themes/shared/media/volume-full@2x.png b/toolkit/themes/shared/media/volume-full@2x.png
new file mode 100644
index 000000000..5bf63c7ee
--- /dev/null
+++ b/toolkit/themes/shared/media/volume-full@2x.png
Binary files differ