first part of syncing LCARStrek with Firefox 37 windows theme changes
[themes.git] / LCARStrek / browser / devtools / performance.css
1 /* vim:set ts=2 sw=2 sts=2 et: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4  * You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 /* CSS Variables specific to this panel that aren't defined by the themes */
7 .theme-dark,
8 .theme-light {
9   --cell-border-color: #A09090;
10   --focus-cell-border-color: #9C9CFF;
11   --row-alt-background-color: #403400;
12   --row-hover-background-color: #544400;
13 }
14
15 /* Toolbar */
16
17 #performance-toolbar > tabs,
18 #performance-toolbar {
19   -moz-border-end-color: var(--theme-splitter-color);
20 }
21
22 #performance-toolbar-controls-detail-views > toolbarbutton {
23   min-width: 0;
24 }
25
26 #performance-toolbar-controls-detail-views .toolbarbutton-text {
27   -moz-padding-start: 4px;
28   -moz-padding-end: 8px;
29 }
30
31 /* Recording Notice */
32
33 #performance-view .notice-container {
34   font-size: 120%;
35   background-color: var(--theme-toolbar-background);
36   color: var(--theme-body-color);
37   padding-bottom: 20vh;
38 }
39
40 #performance-view .notice-container button {
41   min-width: 30px;
42   min-height: 28px;
43   margin: 0;
44 }
45
46 /* Overview Panel */
47
48 .record-button {
49   list-style-image: url(profiler-stopwatch.svg);
50 }
51
52 .record-button[checked] {
53   list-style-image: url(profiler-stopwatch-checked.svg);
54 }
55
56 .record-button[locked] {
57   pointer-events: none;
58 }
59
60 .record-button .button-icon {
61   margin: 0;
62 }
63
64 .record-button .button-text {
65   display: none;
66 }
67
68 /* Details Panel */
69
70 #select-waterfall-view {
71   list-style-image: url(performance-icons.svg#details-waterfall);
72 }
73
74 #select-js-calltree-view,
75 #select-memory-calltree-view {
76   list-style-image: url(performance-icons.svg#details-call-tree);
77 }
78
79 #select-js-flamegraph-view,
80 #select-memory-flamegraph-view {
81   list-style-image: url(performance-icons.svg#details-flamegraph);
82 }
83
84 /* Profile call tree */
85
86 .call-tree-cells-container {
87   /* Hack: force hardware acceleration */
88   transform: translateZ(1px);
89   overflow: auto;
90 }
91
92 .call-tree-cells-container[allocations-hidden] .call-tree-cell[type="allocations"],
93 .call-tree-cells-container[allocations-hidden] .call-tree-cell[type="self-allocations"],
94 .call-tree-cells-container[categories-hidden] .call-tree-category {
95   display: none;
96 }
97
98 .call-tree-header {
99   font-size: 90%;
100   padding-top: 2px !important;
101   padding-bottom: 2px !important;
102 }
103
104 .call-tree-header[type="duration"],
105 .call-tree-cell[type="duration"],
106 .call-tree-header[type="self-duration"],
107 .call-tree-cell[type="self-duration"] {
108   width: 6vw;
109 }
110
111 .call-tree-header[type="percentage"],
112 .call-tree-cell[type="percentage"],
113 .call-tree-header[type="self-percentage"],
114 .call-tree-cell[type="self-percentage"] {
115   width: 5vw;
116 }
117
118 .call-tree-header[type="samples"],
119 .call-tree-cell[type="samples"] {
120   width: 4.5vw;
121 }
122
123 .call-tree-header[type="allocations"],
124 .call-tree-cell[type="allocations"],
125 .call-tree-header[type="self-allocations"],
126 .call-tree-cell[type="self-allocations"] {
127   width: 7vw;
128 }
129
130 .call-tree-header[type="function"],
131 .call-tree-cell[type="function"] {
132   -moz-box-flex: 1;
133 }
134
135 .call-tree-header,
136 .call-tree-cell {
137   -moz-box-align: center;
138   overflow: hidden;
139   padding: 1px 4px;
140   color: var(--theme-body-color);
141   -moz-border-end-color: var(--cell-border-color);
142 }
143
144 .call-tree-header:not(:last-child),
145 .call-tree-cell:not(:last-child) {
146   -moz-border-end-width: 1px;
147   -moz-border-end-style: solid;
148 }
149
150 .call-tree-header:not(:last-child) {
151   text-align: center;
152 }
153
154 .call-tree-cell:not(:last-child) {
155   text-align: end;
156 }
157
158 .call-tree-header {
159   background-color: var(--theme-tab-toolbar-background);
160 }
161
162 .call-tree-item:last-child:not(:focus) {
163   border-bottom: 1px solid var(--cell-border-color);
164 }
165
166 .call-tree-item:nth-child(2n) {
167   background-color: var(--row-alt-background-color);
168 }
169
170 .call-tree-item:hover {
171   background-color: var(--row-hover-background-color);
172 }
173
174 .call-tree-item:focus {
175   background-color: var(--theme-selection-background);
176 }
177
178 .call-tree-item:focus label {
179   color: var(--theme-selection-color) !important;
180 }
181
182 .call-tree-item:focus .call-tree-cell {
183   -moz-border-end-color: var(--focus-cell-border-color);
184 }
185
186 .call-tree-item:not([origin="content"]) .call-tree-name,
187 .call-tree-item:not([origin="content"]) .call-tree-url,
188 .call-tree-item:not([origin="content"]) .call-tree-line,
189 .call-tree-item:not([origin="content"]) .call-tree-column {
190   /* Style chrome and non-JS nodes differently. */
191   opacity: 0.6;
192 }
193
194 .call-tree-url {
195   -moz-margin-start: 4px !important;
196   cursor: pointer;
197 }
198
199 .call-tree-url:hover {
200   text-decoration: underline;
201 }
202
203 .call-tree-url {
204   color: var(--theme-highlight-blue);
205 }
206
207 .call-tree-line {
208   color: var(--theme-highlight-orange);
209 }
210
211 .call-tree-column {
212   color: var(--theme-highlight-orange);
213   opacity: 0.6;
214 }
215
216 .call-tree-host {
217   -moz-margin-start: 8px !important;
218   font-size: 90%;
219   color: var(--theme-content-color2);
220 }
221
222 .call-tree-name[value=""],
223 .call-tree-url[value=""],
224 .call-tree-line[value=""],
225 .call-tree-column[value=""],
226 .call-tree-host[value=""] {
227   display: none;
228 }
229
230 .call-tree-zoom {
231   -moz-appearance: none;
232   background-color: transparent;
233   background-position: center;
234   background-repeat: no-repeat;
235   background-size: 11px;
236   min-width: 11px;
237   -moz-margin-start: 8px !important;
238   cursor: zoom-in;
239   opacity: 0;
240 }
241
242 .theme-dark .call-tree-zoom {
243   background-image: url(magnifying-glass.png);
244 }
245
246 .theme-light .call-tree-zoom {
247   background-image: url(magnifying-glass-light.png);
248 }
249
250 @media (min-resolution: 2dppx) {
251   .theme-dark .call-tree-zoom {
252     background-image: url(magnifying-glass@2x.png);
253   }
254
255   .theme-light .call-tree-zoom {
256     background-image: url(magnifying-glass-light@2x.png);
257   }
258 }
259
260 .call-tree-item:hover .call-tree-zoom {
261   transition: opacity 0.3s ease-in;
262   opacity: 1;
263 }
264
265 .call-tree-item:hover .call-tree-zoom:hover {
266   opacity: 0;
267 }
268
269 .call-tree-category {
270   transform: scale(0.75);
271   transform-origin: center right;
272 }
273
274 /**
275  * Details Waterfall Styles
276  */
277
278 .waterfall-list-contents {
279   /* Hack: force hardware acceleration */
280   transform: translateZ(1px);
281   overflow-x: hidden;
282   overflow-y: auto;
283 }
284
285 .waterfall-header-contents {
286   overflow-x: hidden;
287 }
288
289 .waterfall-background-ticks {
290   /* Background created on a <canvas> in js. */
291   /* @see browser/devtools/timeline/widgets/waterfall.js */
292   background-image: -moz-element(#waterfall-background);
293   background-repeat: repeat-y;
294   background-position: -1px center;
295 }
296
297 .waterfall-marker-container[is-spacer] {
298   pointer-events: none;
299 }
300
301 .waterfall-marker-container:not([is-spacer]):nth-child(2n) {
302   background-color: #403400;
303 }
304
305 .waterfall-marker-container:hover {
306   background-color: #FFCF00 !important;
307 }
308
309 .waterfall-marker-item {
310   overflow: hidden;
311 }
312
313 .waterfall-sidebar {
314   -moz-border-end: 1px solid var(--theme-splitter-color);
315 }
316
317 .waterfall-marker-container:hover > .waterfall-sidebar {
318   background-color: transparent;
319 }
320
321 .waterfall-header-name {
322   padding: 2px 4px;
323   font-size: 90%;
324 }
325
326 .waterfall-header-tick {
327   width: 100px;
328   font-size: 9px;
329   transform-origin: left center;
330   color: var(--theme-body-color);
331 }
332
333 .waterfall-header-tick:not(:first-child) {
334   -moz-margin-start: -100px !important; /* Don't affect layout. */
335 }
336
337 .waterfall-marker-bullet {
338   width: 8px;
339   height: 8px;
340   -moz-margin-start: 8px;
341   -moz-margin-end: 6px;
342   border: 1px solid;
343   border-radius: 1px;
344 }
345
346 .waterfall-marker-name {
347   font-size: 95%;
348   padding-bottom: 1px !important;
349 }
350
351 .waterfall-marker-bar {
352   height: 9px;
353   border: 1px solid;
354   border-radius: 1px;
355   transform-origin: left center;
356 }
357
358 .waterfall-marker-container.selected > .waterfall-sidebar,
359 .waterfall-marker-container.selected > .waterfall-marker-item {
360   background-color: var(--theme-selection-background);
361   color: var(--theme-selection-color);
362 }
363
364 .waterfall-marker-container.selected .waterfall-marker-bullet,
365 .waterfall-marker-container.selected .waterfall-marker-bar {
366   border-color: initial !important;
367 }
368
369 .waterfall-marker-location {
370    color: #3333FF;
371 }
372
373 .waterfall-marker-location:hover,
374 .waterfall-marker-location:focus {
375    text-decoration: underline;
376 }
377
378 #waterfall-details {
379   -moz-padding-start: 8px;
380   -moz-padding-end: 8px;
381   padding-top: 2vh;
382   overflow: auto;
383 }
384
385 .marker-details-bullet {
386   width: 8px;
387   height: 8px;
388   border: 1px solid;
389   border-radius: 1px;
390 }
391
392 #waterfall-details > * {
393   padding-top: 3px;
394 }
395
396 .marker-details-labelname {
397   -moz-padding-end: 4px;
398 }
399
400 .marker-details-type {
401   font-size: 1.2em;
402   font-weight: bold;
403 }
404
405 .marker-details-duration {
406   font-weight: bold;
407 }
408
409 /* Recording items */
410
411 .recording-item {
412   padding: 4px;
413 }
414
415 .recording-item-title {
416   font-size: 110%;
417 }
418
419 .recording-item-footer {
420   padding-top: 4px;
421   font-size: 90%;
422 }
423
424 .recording-item-save {
425   text-decoration: underline;
426   cursor: pointer;
427 }
428
429 .recording-item-duration,
430 .recording-item-save {
431   color: var(--theme-body-color-alt);
432 }
433
434 #recordings-list .selected label {
435   /* Text inside a selected item should not be custom colored. */
436   color: inherit !important;
437 }
438
439 /* Profile call tree */
440
441 .call-tree-cells-container {
442   /* Hack: force hardware acceleration */
443   transform: translateZ(1px);
444   overflow: auto;
445 }
446
447 .call-tree-cells-container[categories-hidden] .call-tree-category {
448   display: none;
449 }
450
451 .call-tree-header[type="duration"],
452 .call-tree-cell[type="duration"],
453 .call-tree-header[type="self-duration"],
454 .call-tree-cell[type="self-duration"] {
455   width: 9em;
456 }
457
458 .call-tree-header[type="percentage"],
459 .call-tree-cell[type="percentage"],
460 .call-tree-header[type="self-percentage"],
461 .call-tree-cell[type="self-percentage"] {
462   width: 6em;
463 }
464
465 .call-tree-header[type="samples"],
466 .call-tree-cell[type="samples"] {
467   width: 5em;
468 }
469
470 .call-tree-header[type="function"],
471 .call-tree-cell[type="function"] {
472   -moz-box-flex: 1;
473 }
474
475 .call-tree-header,
476 .call-tree-cell {
477   -moz-box-align: center;
478   overflow: hidden;
479   padding: 1px 4px;
480 }
481
482 .call-tree-header:not(:last-child),
483 .call-tree-cell:not(:last-child) {
484   -moz-border-end: 1px solid;
485 }
486
487 .call-tree-header,
488 .call-tree-cell {
489   -moz-border-end-color: var(--theme-splitter-color);
490   color: var(--theme-body-color);
491 }
492
493 .call-tree-header:not(:last-child) {
494   text-align: center;
495 }
496
497 .call-tree-cell:not(:last-child) {
498   text-align: end;
499 }
500
501 .call-tree-header {
502   background-color: var(--theme-toolbar-background);
503 }
504
505 .call-tree-item:last-child:not(:focus) {
506   border-bottom: 1px solid var(--theme-splitter-color);
507 }
508
509 .call-tree-item:nth-child(2n) {
510   background-color: var(--theme-contrast-background);
511 }
512
513 .call-tree-item:hover {
514   background-color: var(--theme-hover-background);
515   color: var(--theme-hover-color);
516 }
517
518 .call-tree-item:focus {
519   background-color: var(--theme-selection-background);
520 }
521
522 .call-tree-item:focus label {
523   color: var(--theme-selection-color);
524 }
525
526 .call-tree-item:focus .call-tree-cell {
527   -moz-border-end-color: var(--theme-splitter-color);
528 }
529
530 .call-tree-item:not([origin="content"]) .call-tree-name,
531 .call-tree-item:not([origin="content"]) .call-tree-url,
532 call-tree-item:not([origin="content"]) .call-tree-line {
533   /* Style chrome and non-JS nodes differently. */
534   opacity: 0.6;
535 }
536
537 .call-tree-url {
538   -moz-margin-start: 4px !important;
539   cursor: pointer;
540 }
541
542 .call-tree-url:hover {
543   text-decoration: underline;
544 }
545
546 .call-tree-url {
547   color: var(--theme-text-blue);
548 }
549
550 .call-tree-line {
551   color: var(--theme-contrast-border);
552 }
553
554 .call-tree-host {
555   -moz-margin-start: 8px !important;
556   font-size: 90%;
557 }
558
559 .call-tree-host {
560   color: ver(--theme-body-color);
561 }
562
563 .call-tree-url[value=""],
564 .call-tree-line[value=""],
565 .call-tree-host[value=""] {
566   display: none;
567 }
568
569 .call-tree-zoom {
570   -moz-appearance: none;
571   background-color: transparent;
572   background-position: center;
573   background-repeat: no-repeat;
574   background-size: 11px;
575   min-width: 11px;
576   -moz-margin-start: 8px !important;
577   cursor: zoom-in;
578   opacity: 0;
579 }
580
581 .call-tree-zoom {
582   background-image: url(magnifying-glass.png);
583 }
584
585 @media (min-resolution: 2dppx) {
586   .call-tree-zoom {
587     background-image: url(magnifying-glass@2x.png);
588   }
589 }
590
591 .call-tree-item:hover .call-tree-zoom {
592   transition: opacity 0.3s ease-in;
593   opacity: 1;
594 }
595
596 .call-tree-item:hover .call-tree-zoom:hover {
597   opacity: 0;
598 }
599
600 .call-tree-category {
601   transform: scale(0.75);
602   transform-origin: center right;
603 }