|
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/. */ |
|
4 |
|
5 /*** Status and progress indicator ***/ |
|
6 |
|
7 #downloads-indicator-anchor { |
|
8 min-width: 18px; |
|
9 min-height: 18px; |
|
10 } |
|
11 |
|
12 #downloads-animation-container { |
|
13 min-height: 1px; |
|
14 min-width: 1px; |
|
15 height: 1px; |
|
16 margin-bottom: -1px; |
|
17 /* Makes the outermost animation container element positioned, so that its |
|
18 contents are rendered over the main browser window in the Z order. |
|
19 This is required by the animated event notification. */ |
|
20 position: relative; |
|
21 /* The selected tab may overlap #downloads-indicator-notification */ |
|
22 z-index: 5; |
|
23 } |
|
24 |
|
25 /*** Main indicator icon ***/ |
|
26 |
|
27 #downloads-indicator-icon { |
|
28 background: -moz-image-rect(url("chrome://browser/skin/Toolbar.png"), |
|
29 0, 198, 18, 180) center no-repeat; |
|
30 } |
|
31 |
|
32 toolbar[brighttext] #downloads-indicator-icon { |
|
33 background-image: -moz-image-rect(url("chrome://browser/skin/Toolbar-inverted.png"), 0, 198, 18, 180); |
|
34 } |
|
35 |
|
36 #downloads-button[attention] > #downloads-indicator-anchor > #downloads-indicator-icon { |
|
37 background-image: url("chrome://browser/skin/downloads/download-glow.png"); |
|
38 } |
|
39 |
|
40 #downloads-button[cui-areatype="menu-panel"][attention] { |
|
41 list-style-image: url("chrome://browser/skin/downloads/download-glow-menuPanel.png"); |
|
42 -moz-image-region: auto; |
|
43 } |
|
44 |
|
45 /* In the next few rules, we use :not([counter]) as a shortcut that is |
|
46 equivalent to -moz-any([progress], [paused]). */ |
|
47 |
|
48 #downloads-button:not([counter]) > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { |
|
49 background: -moz-image-rect(url("chrome://browser/skin/Toolbar.png"), |
|
50 0, 198, 18, 180) center no-repeat; |
|
51 background-size: 12px; |
|
52 } |
|
53 |
|
54 toolbar[brighttext] #downloads-button:not([counter]):not([attention]) > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { |
|
55 background-image: -moz-image-rect(url("chrome://browser/skin/Toolbar-inverted.png"), 0, 198, 18, 180); |
|
56 } |
|
57 |
|
58 #downloads-button:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { |
|
59 background-image: url("chrome://browser/skin/downloads/download-glow.png"); |
|
60 } |
|
61 |
|
62 @media (min-resolution: 2dppx) { |
|
63 #downloads-indicator-icon { |
|
64 background-image: -moz-image-rect(url("chrome://browser/skin/Toolbar@2x.png"), 0, 396, 36, 360); |
|
65 background-size: 18px; |
|
66 } |
|
67 |
|
68 toolbar[brighttext] #downloads-indicator-icon { |
|
69 background-image: -moz-image-rect(url("chrome://browser/skin/Toolbar-inverted@2x.png"), 0, 396, 36, 360); |
|
70 } |
|
71 |
|
72 #downloads-button:not([counter]) > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { |
|
73 background-image: -moz-image-rect(url("chrome://browser/skin/Toolbar@2x.png"), 0, 396, 36, 360); |
|
74 } |
|
75 |
|
76 toolbar[brighttext] #downloads-button:not([counter]) > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { |
|
77 background-image: -moz-image-rect(url("chrome://browser/skin/Toolbar-inverted@2x.png"), |
|
78 0, 396, 36, 360); |
|
79 } |
|
80 |
|
81 #downloads-button[attention] > #downloads-indicator-anchor > #downloads-indicator-icon { |
|
82 background-image: url("chrome://browser/skin/downloads/download-glow@2x.png"); |
|
83 } |
|
84 |
|
85 #downloads-button[cui-areatype="menu-panel"][attention] { |
|
86 list-style-image: url("chrome://browser/skin/downloads/download-glow-menuPanel@2x.png"); |
|
87 } |
|
88 |
|
89 #downloads-button:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { |
|
90 background-image: url("chrome://browser/skin/downloads/download-glow@2x.png"); |
|
91 } |
|
92 } |
|
93 |
|
94 /*** Download notifications ***/ |
|
95 |
|
96 #downloads-indicator-notification { |
|
97 opacity: 0; |
|
98 background-size: 16px; |
|
99 background-position: center; |
|
100 background-repeat: no-repeat; |
|
101 width: 16px; |
|
102 height: 16px; |
|
103 } |
|
104 |
|
105 @keyframes downloadsIndicatorNotificationStartRight { |
|
106 from { opacity: 0; transform: translate(-128px, 128px) scale(8); } |
|
107 20% { opacity: .85; animation-timing-function: ease-out; } |
|
108 to { opacity: 0; transform: translate(0) scale(1); } |
|
109 } |
|
110 |
|
111 @keyframes downloadsIndicatorNotificationStartLeft { |
|
112 from { opacity: 0; transform: translate(128px, 128px) scale(8); } |
|
113 20% { opacity: .85; animation-timing-function: ease-out; } |
|
114 to { opacity: 0; transform: translate(0) scale(1); } |
|
115 } |
|
116 |
|
117 #downloads-notification-anchor[notification="start"] > #downloads-indicator-notification { |
|
118 background-image: url("chrome://browser/skin/downloads/download-notification-start.png"); |
|
119 animation-name: downloadsIndicatorNotificationStartRight; |
|
120 animation-duration: 1s; |
|
121 } |
|
122 |
|
123 @media (min-resolution: 2dppx) { |
|
124 #downloads-notification-anchor[notification="start"] > #downloads-indicator-notification { |
|
125 background-image: url("chrome://browser/skin/downloads/download-notification-start@2x.png"); |
|
126 } |
|
127 } |
|
128 |
|
129 #downloads-notification-anchor[notification="start"]:-moz-locale-dir(rtl) > #downloads-indicator-notification { |
|
130 animation-name: downloadsIndicatorNotificationStartLeft; |
|
131 } |
|
132 |
|
133 @keyframes downloadsIndicatorNotificationFinish { |
|
134 from { opacity: 0; transform: scale(1); } |
|
135 20% { opacity: .65; animation-timing-function: ease-in; } |
|
136 to { opacity: 0; transform: scale(8); } |
|
137 } |
|
138 |
|
139 #downloads-notification-anchor[notification="finish"] > #downloads-indicator-notification { |
|
140 background-image: url("chrome://browser/skin/downloads/download-notification-finish.png"); |
|
141 animation-name: downloadsIndicatorNotificationFinish; |
|
142 animation-duration: 1s; |
|
143 } |
|
144 |
|
145 @media (min-resolution: 2dppx) { |
|
146 #downloads-notification-anchor[notification="finish"] > #downloads-indicator-notification { |
|
147 background-image: url("chrome://browser/skin/downloads/download-notification-finish@2x.png"); |
|
148 } |
|
149 } |
|
150 |
|
151 /*** Progress bar and text ***/ |
|
152 |
|
153 #downloads-indicator-counter { |
|
154 height: 9px; |
|
155 margin: -3px 0 0; |
|
156 color: hsl(0,0%,30%); |
|
157 text-shadow: 0 1px 0 hsla(0,0%,100%,.5); |
|
158 font-size: 9px; |
|
159 line-height: 9px; |
|
160 text-align: center; |
|
161 } |
|
162 |
|
163 #downloads-indicator-progress { |
|
164 width: 16px; |
|
165 height: 5px; |
|
166 min-width: 0; |
|
167 min-height: 0; |
|
168 margin-top: 1px; |
|
169 margin-bottom: 2px; |
|
170 border-radius: 2px; |
|
171 box-shadow: 0 1px 0 hsla(0,0%,100%,.4); |
|
172 } |
|
173 |
|
174 #downloads-indicator-progress > .progress-bar { |
|
175 -moz-appearance: none; |
|
176 min-width: 0; |
|
177 min-height: 0; |
|
178 /* The background-clip: border-box; and background-image: none; are there to expand the background-color behind the border */ |
|
179 background-clip: padding-box, border-box; |
|
180 background-color: rgb(90, 185, 255); |
|
181 background-image: linear-gradient(transparent 1px, rgba(255, 255, 255, 0.4) 1px, rgba(255, 255, 255, 0.4) 2px, transparent 2px), none; |
|
182 border: 1px solid; |
|
183 border-color: rgba(0,43,86,.6) rgba(0,43,86,.4) rgba(0,43,86,.4); |
|
184 border-radius: 2px 0 0 2px; |
|
185 } |
|
186 |
|
187 #downloads-indicator-progress > .progress-remainder { |
|
188 -moz-appearance: none; |
|
189 min-width: 0; |
|
190 min-height: 0; |
|
191 background-image: linear-gradient(#505050, #575757); |
|
192 border: 1px solid; |
|
193 border-color: hsla(0,0%,0%,.6) hsla(0,0%,0%,.4) hsla(0,0%,0%,.4); |
|
194 -moz-border-start: none; |
|
195 border-radius: 0 2px 2px 0; |
|
196 } |
|
197 |
|
198 #downloads-button[paused] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-progress > .progress-bar { |
|
199 background-color: rgb(220, 230, 81); |
|
200 } |
|
201 |
|
202 #downloads-button[paused] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-progress > .progress-remainder { |
|
203 background-image: linear-gradient(#4b5000, #515700); |
|
204 } |