summaryrefslogtreecommitdiffstats
path: root/browser/themes/shared/downloads/progressmeter.inc.css
blob: 22e780e09016e04a4e1602eaa76d6534aabd75bb (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
/*** Common-styled progressmeter ***/
.downloadProgress {
  height: 8px;
  border-radius: 1px;
  margin: 4px 0 0;
  margin-inline-end: 12px;

  /* for overriding rules in progressmeter.css */
  -moz-appearance: none;
  border-style: none;
  background-color: transparent;
  min-width: initial;
  min-height: initial;
}

.downloadProgress[mode="undetermined"] {
  /* for overriding rules on global.css in Linux. */
  -moz-binding: url("chrome://global/content/bindings/progressmeter.xml#progressmeter");
}

.downloadProgress > .progress-bar {
  background-color: Highlight;

  /* for overriding rules in progressmeter.css */
  -moz-appearance: none;
}

.downloadProgress[paused="true"] > .progress-bar {
  background-color: GrayText;
}

.downloadProgress[mode="undetermined"] > .progress-bar {
  /* Make a white reflecting animation.
     Create a gradient with 2 identical pattern, and enlarge the size to 200%.
     This allows us to animate background-position with percentage. */
  background-image: linear-gradient(90deg, transparent 0%,
                                           rgba(255,255,255,0.5) 25%,
                                           transparent 50%,
                                           rgba(255,255,255,0.5) 75%,
                                           transparent 100%);
  background-blend-mode: lighten;
  background-size: 200% 100%;
  animation: downloadProgressSlideX 1.5s linear infinite;
}

.downloadProgress > .progress-remainder {
  border: solid ButtonShadow;
  border-block-start-width: 1px;
  border-block-end-width: 1px;
  border-inline-start-width: 0;
  border-inline-end-width: 1px;
  background-color: ButtonFace;
}

.downloadProgress[value="0"] > .progress-remainder {
  border-width: 1px;
}

.downloadProgress > .progress-remainder[mode="undetermined"] {
  border: none;
}

@keyframes downloadProgressSlideX {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -100% 0;
  }
}