1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 /*** Status and progress indicator ***/
7 #downloads-animation-container {
12 /* Makes the outermost animation container element positioned, so that its
13 contents are rendered over the main browser window in the Z order.
14 This is required by the animated event notification. */
16 /* The selected tab may overlap #downloads-indicator-notification */
20 /*** Main indicator icon ***/
22 /*@media not all and (min-resolution: 1.1dppx) {*/
24 --downloads-indicator-icon: -moz-image-rect(url("chrome://browser/skin/ToolbarFx.png"), 0, 198, 18, 180);
25 --downloads-indicator-icon-hover: -moz-image-rect(url("chrome://browser/skin/ToolbarFx.png"), 18, 198, 36, 180);
26 --downloads-indicator-icon-attention: url("chrome://browser/skin/downloads/download-glow.png");
31 #downloads-indicator-icon {
32 background: var(--downloads-indicator-icon) center no-repeat;
35 background-size: 18px;
38 #downloads-button:hover > #downloads-indicator-anchor > #downloads-indicator-icon,
39 #downloads-button[open="true"] > #downloads-indicator-anchor > #downloads-indicator-icon,
40 #downloads-button[attention]:hover > #downloads-indicator-anchor > #downloads-indicator-icon {
41 background-image: var(--downloads-indicator-icon-hover);
45 toolbar[brighttext] #downloads-button:not([attention]) > #downloads-indicator-anchor > #downloads-indicator-icon {
46 /* background-image: var(--downloads-indicator-icon-inverted); */
49 #downloads-button[attention] > #downloads-indicator-anchor > #downloads-indicator-icon {
50 background-image: var(--downloads-indicator-icon-attention);
53 #downloads-button[cui-areatype="menu-panel"][attention] {
54 list-style-image: url("chrome://browser/skin/downloads/download-glow-menuPanel.png");
55 -moz-image-region: auto;
58 /* In the next few rules, we use :not([counter]) as a shortcut that is
59 equivalent to -moz-any([progress], [paused]). */
61 #downloads-button:not([counter]) > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter {
62 background: var(--downloads-indicator-icon) center no-repeat;
63 background-size: 12px;
66 #downloads-button:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter {
67 background-image: var(--downloads-indicator-icon-attention);
70 #downloads-button:not([counter]):hover > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter,
71 #downloads-button[open="true"]:not([counter]) > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter,
72 #downloads-button:not([counter])[attention]:hover > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter {
73 background-image: var(--downloads-indicator-icon-hover);
74 background-size: 12px;
77 /*** Download notifications ***/
79 #downloads-indicator-notification {
81 background-size: 16px;
82 background-position: center;
83 background-repeat: no-repeat;
88 @keyframes downloadsIndicatorNotificationStartRight {
89 from { opacity: 0; transform: translate(-128px, 128px) scale(8); }
90 20% { opacity: .85; animation-timing-function: ease-out; }
91 to { opacity: 0; transform: translate(0) scale(1); }
94 @keyframes downloadsIndicatorNotificationStartLeft {
95 from { opacity: 0; transform: translate(128px, 128px) scale(8); }
96 20% { opacity: .85; animation-timing-function: ease-out; }
97 to { opacity: 0; transform: translate(0) scale(1); }
100 #downloads-notification-anchor[notification="start"] > #downloads-indicator-notification {
101 background-image: url("chrome://browser/skin/downloads/download-notification-start.png");
102 animation-name: downloadsIndicatorNotificationStartRight;
103 animation-duration: 1s;
106 #downloads-notification-anchor[notification="start"]:-moz-locale-dir(rtl) > #downloads-indicator-notification {
107 animation-name: downloadsIndicatorNotificationStartLeft;
110 @keyframes downloadsIndicatorNotificationFinish {
111 from { opacity: 0; transform: scale(1); }
112 20% { opacity: .65; animation-timing-function: ease-in; }
113 to { opacity: 0; transform: scale(8); }
116 #downloads-notification-anchor[notification="finish"] > #downloads-indicator-notification {
117 background-image: url("chrome://browser/skin/downloads/download-notification-finish.png");
118 animation-name: downloadsIndicatorNotificationFinish;
119 animation-duration: 1s;
122 /*** Progress bar and text ***/
124 #downloads-indicator-counter {
133 toolbar[brighttext] #downloads-indicator-counter {
135 text-shadow: 0 0 1px rgba(0,0,0,.7),
136 0 1px 1.5px rgba(0,0,0,.5);*/
139 #downloads-button[counter]:hover > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter,
140 #downloads-button[counter][open="true"] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter {
144 #downloads-indicator-progress {
152 background-color: #795900;
155 #downloads-indicator-progress > .progress-bar {
156 -moz-appearance: none;
159 background-color: #008484;
160 border-radius: 2px 0 0 2px;
163 #downloads-indicator-progress > .progress-remainder {
166 background-color: #A09090;
167 border-radius: 0 2px 2px 0;
170 #downloads-button[paused] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-progress > .progress-bar {
171 background-color: #8050B0;
174 #downloads-button[paused] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-progress > .progress-remainder {
175 background-color: #404048;
178 toolbar[mode="full"] > #downloads-button > .toolbarbutton-text {