first part of syncing LCARStrek with Firefox 40 windows theme changes
[themes.git] / LCARStrek / browser / devtools / performance.css
CommitLineData
8c5bee4f
RK
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
ae90b726
RK
22#performance-toolbar-control-other {
23 -moz-padding-end: 5px;
24}
25
8c5bee4f
RK
26#performance-toolbar-controls-detail-views > toolbarbutton {
27 min-width: 0;
28}
29
30#performance-toolbar-controls-detail-views .toolbarbutton-text {
31 -moz-padding-start: 4px;
32 -moz-padding-end: 8px;
33}
34
2f2239a0
RK
35#filter-button {
36 list-style-image: url(timeline-filter.svg#filter);
37 min-width: 24px;
38}
39
40#filter-button[disabled] {
41 list-style-image: url(timeline-filter.svg#filter-disabled);
42}
43
44#filter-button:not([disabled]):hover,
45#filter-button:not([disabled]):hover:active,
46#filter-button[open] {
47 list-style-image: url(timeline-filter.svg#filter-open);
48}
49
50#performance-filter-menupopup > menuitem:before {
51 content: "";
52 display: block;
53 width: 8px;
54 height: 8px;
55 margin: 0 8px;
56 border-radius: 1px;
57}
58
ae90b726
RK
59#filter-button {
60 list-style-image: url(timeline-filter.svg#filter);
61 min-width: 24px;
62}
63
64#filter-button[disabled] {
65 list-style-image: url(timeline-filter.svg#filter-disabled);
66}
67
68#filter-button[open] {
69 list-style-image: url(timeline-filter.svg#filter-open);
70}
71
72#performance-filter-menupopup > menuitem:before {
73 content: "";
74 display: block;
75 width: 8px;
76 height: 8px;
77 margin: 0 8px;
ae90b726 78 border-radius: 1px;
ae90b726
RK
79}
80
8c5bee4f
RK
81/* Recording Notice */
82
83#performance-view .notice-container {
84 font-size: 120%;
85 background-color: var(--theme-toolbar-background);
86 color: var(--theme-body-color);
87 padding-bottom: 20vh;
88}
89
90#performance-view .notice-container button {
91 min-width: 30px;
92 min-height: 28px;
93 margin: 0;
94}
95
a5cb6e53
RK
96#performance-view .notice-container vbox {
97 text-align: center;
98}
99
8c5bee4f
RK
100/* Overview Panel */
101
102.record-button {
2f2239a0
RK
103 list-style-image: url(profiler-stopwatch-tbutton.svg);
104}
105
106#empty-notice > .record-button,
107.record-button:hover,
108.record-button:hover:active {
8c5bee4f
RK
109 list-style-image: url(profiler-stopwatch.svg);
110}
111
112.record-button[checked] {
113 list-style-image: url(profiler-stopwatch-checked.svg);
114}
115
116.record-button[locked] {
117 pointer-events: none;
118}
119
120.record-button .button-icon {
121 margin: 0;
122}
123
124.record-button .button-text {
125 display: none;
126}
127
128/* Details Panel */
129
130#select-waterfall-view {
131 list-style-image: url(performance-icons.svg#details-waterfall);
132}
133
2f2239a0
RK
134#select-waterfall-view:hover,
135#select-waterfall-view:hover:active,
136#select-waterfall-view[checked] {
137 list-style-image: url(performance-icons.svg#details-waterfall-active);
138}
139
8c5bee4f
RK
140#select-js-calltree-view,
141#select-memory-calltree-view {
142 list-style-image: url(performance-icons.svg#details-call-tree);
143}
144
2f2239a0
RK
145#select-js-calltree-view:hover,
146#select-js-calltree-view:hover:active,
147#select-js-calltree-view[checked],
148#select-memory-calltree-view:hover,
149#select-memory-calltree-view:hover:active,
150#select-memory-calltree-view[checked] {
151 list-style-image: url(performance-icons.svg#details-call-tree-active);
152}
153
8c5bee4f
RK
154#select-js-flamegraph-view,
155#select-memory-flamegraph-view {
156 list-style-image: url(performance-icons.svg#details-flamegraph);
157}
158
2f2239a0
RK
159#select-js-flamegraph-view:hover,
160#select-js-flamegraph-view:hover:active,
161#select-js-flamegraph-view[checked],
162#select-memory-flamegraph-view:hover,
163#select-memory-flamegraph-view:hover:active,
164#select-memory-flamegraph-view[checked] {
165 list-style-image: url(performance-icons.svg#details-flamegraph-active);
166}
167
8c5bee4f
RK
168/* Profile call tree */
169
170.call-tree-cells-container {
171 /* Hack: force hardware acceleration */
172 transform: translateZ(1px);
173 overflow: auto;
174}
175
8c5bee4f
RK
176.call-tree-cells-container[categories-hidden] .call-tree-category {
177 display: none;
178}
179
180.call-tree-header {
181 font-size: 90%;
182 padding-top: 2px !important;
183 padding-bottom: 2px !important;
184}
185
186.call-tree-header[type="duration"],
187.call-tree-cell[type="duration"],
188.call-tree-header[type="self-duration"],
189.call-tree-cell[type="self-duration"] {
190 width: 6vw;
191}
192
193.call-tree-header[type="percentage"],
194.call-tree-cell[type="percentage"],
195.call-tree-header[type="self-percentage"],
196.call-tree-cell[type="self-percentage"] {
197 width: 5vw;
198}
199
200.call-tree-header[type="samples"],
201.call-tree-cell[type="samples"] {
202 width: 4.5vw;
203}
204
205.call-tree-header[type="allocations"],
206.call-tree-cell[type="allocations"],
207.call-tree-header[type="self-allocations"],
208.call-tree-cell[type="self-allocations"] {
ae90b726 209 width: 9vw;
8c5bee4f
RK
210}
211
212.call-tree-header[type="function"],
213.call-tree-cell[type="function"] {
214 -moz-box-flex: 1;
215}
216
217.call-tree-header,
218.call-tree-cell {
219 -moz-box-align: center;
220 overflow: hidden;
221 padding: 1px 4px;
222 color: var(--theme-body-color);
223 -moz-border-end-color: var(--cell-border-color);
224}
225
226.call-tree-header:not(:last-child),
227.call-tree-cell:not(:last-child) {
228 -moz-border-end-width: 1px;
229 -moz-border-end-style: solid;
230}
231
232.call-tree-header:not(:last-child) {
233 text-align: center;
234}
235
236.call-tree-cell:not(:last-child) {
237 text-align: end;
238}
239
240.call-tree-header {
241 background-color: var(--theme-tab-toolbar-background);
242}
243
244.call-tree-item:last-child:not(:focus) {
245 border-bottom: 1px solid var(--cell-border-color);
246}
247
248.call-tree-item:nth-child(2n) {
249 background-color: var(--row-alt-background-color);
250}
251
252.call-tree-item:hover {
253 background-color: var(--row-hover-background-color);
254}
255
256.call-tree-item:focus {
257 background-color: var(--theme-selection-background);
258}
259
260.call-tree-item:focus label {
261 color: var(--theme-selection-color) !important;
262}
263
264.call-tree-item:focus .call-tree-cell {
265 -moz-border-end-color: var(--focus-cell-border-color);
266}
267
268.call-tree-item:not([origin="content"]) .call-tree-name,
269.call-tree-item:not([origin="content"]) .call-tree-url,
270.call-tree-item:not([origin="content"]) .call-tree-line,
271.call-tree-item:not([origin="content"]) .call-tree-column {
272 /* Style chrome and non-JS nodes differently. */
273 opacity: 0.6;
274}
275
276.call-tree-url {
277 -moz-margin-start: 4px !important;
278 cursor: pointer;
279}
280
281.call-tree-url:hover {
282 text-decoration: underline;
283}
284
a5cb6e53 285.call-tree-url, .tree-widget-item:not(.theme-selected) .opt-url {
8c5bee4f
RK
286 color: var(--theme-highlight-blue);
287}
288
a5cb6e53 289.call-tree-line, .tree-widget-item:not(.theme-selected) .opt-line {
8c5bee4f
RK
290 color: var(--theme-highlight-orange);
291}
292
293.call-tree-column {
294 color: var(--theme-highlight-orange);
295 opacity: 0.6;
296}
297
298.call-tree-host {
299 -moz-margin-start: 8px !important;
300 font-size: 90%;
301 color: var(--theme-content-color2);
302}
303
304.call-tree-name[value=""],
305.call-tree-url[value=""],
306.call-tree-line[value=""],
307.call-tree-column[value=""],
308.call-tree-host[value=""] {
309 display: none;
310}
311
312.call-tree-zoom {
313 -moz-appearance: none;
314 background-color: transparent;
315 background-position: center;
316 background-repeat: no-repeat;
317 background-size: 11px;
318 min-width: 11px;
319 -moz-margin-start: 8px !important;
320 cursor: zoom-in;
321 opacity: 0;
322}
323
324.theme-dark .call-tree-zoom {
325 background-image: url(magnifying-glass.png);
326}
327
328.theme-light .call-tree-zoom {
329 background-image: url(magnifying-glass-light.png);
330}
331
332@media (min-resolution: 2dppx) {
333 .theme-dark .call-tree-zoom {
334 background-image: url(magnifying-glass@2x.png);
335 }
336
337 .theme-light .call-tree-zoom {
338 background-image: url(magnifying-glass-light@2x.png);
339 }
340}
341
342.call-tree-item:hover .call-tree-zoom {
343 transition: opacity 0.3s ease-in;
344 opacity: 1;
345}
346
347.call-tree-item:hover .call-tree-zoom:hover {
348 opacity: 0;
349}
350
351.call-tree-category {
352 transform: scale(0.75);
353 transform-origin: center right;
354}
355
356/**
357 * Details Waterfall Styles
358 */
359
360.waterfall-list-contents {
361 /* Hack: force hardware acceleration */
362 transform: translateZ(1px);
363 overflow-x: hidden;
364 overflow-y: auto;
365}
366
367.waterfall-header-contents {
368 overflow-x: hidden;
369}
370
371.waterfall-background-ticks {
372 /* Background created on a <canvas> in js. */
373 /* @see browser/devtools/timeline/widgets/waterfall.js */
374 background-image: -moz-element(#waterfall-background);
375 background-repeat: repeat-y;
376 background-position: -1px center;
377}
378
379.waterfall-marker-container[is-spacer] {
380 pointer-events: none;
381}
382
383.waterfall-marker-container:not([is-spacer]):nth-child(2n) {
384 background-color: #403400;
385}
386
387.waterfall-marker-container:hover {
388 background-color: #FFCF00 !important;
389}
390
391.waterfall-marker-item {
392 overflow: hidden;
393}
394
395.waterfall-sidebar {
396 -moz-border-end: 1px solid var(--theme-splitter-color);
397}
398
399.waterfall-marker-container:hover > .waterfall-sidebar {
400 background-color: transparent;
401}
402
403.waterfall-header-name {
404 padding: 2px 4px;
405 font-size: 90%;
406}
407
408.waterfall-header-tick {
409 width: 100px;
410 font-size: 9px;
411 transform-origin: left center;
412 color: var(--theme-body-color);
413}
414
415.waterfall-header-tick:not(:first-child) {
416 -moz-margin-start: -100px !important; /* Don't affect layout. */
417}
418
419.waterfall-marker-bullet {
420 width: 8px;
421 height: 8px;
422 -moz-margin-start: 8px;
423 -moz-margin-end: 6px;
8c5bee4f
RK
424 border-radius: 1px;
425}
426
427.waterfall-marker-name {
428 font-size: 95%;
429 padding-bottom: 1px !important;
430}
431
432.waterfall-marker-bar {
433 height: 9px;
8c5bee4f 434 transform-origin: left center;
a5cb6e53 435 border-radius: 1px;
8c5bee4f
RK
436}
437
438.waterfall-marker-container.selected > .waterfall-sidebar,
439.waterfall-marker-container.selected > .waterfall-marker-item {
440 background-color: var(--theme-selection-background);
441 color: var(--theme-selection-color);
442}
443
8c5bee4f
RK
444.waterfall-marker-location {
445 color: #3333FF;
446}
447
448.waterfall-marker-location:hover,
449.waterfall-marker-location:focus {
450 text-decoration: underline;
451}
452
453#waterfall-details {
454 -moz-padding-start: 8px;
455 -moz-padding-end: 8px;
456 padding-top: 2vh;
457 overflow: auto;
458}
459
460.marker-details-bullet {
461 width: 8px;
462 height: 8px;
8c5bee4f
RK
463 border-radius: 1px;
464}
465
a5cb6e53
RK
466#performance-filter-menupopup > menuitem.highlight-pink:before,
467.marker-details-bullet.highlight-pink,
468.waterfall-marker-bar.highlight-pink,
469.waterfall-marker-bullet.highlight-pink {
470 background-color: var(--theme-highlight-pink);
471}
472#performance-filter-menupopup > menuitem.highlight-bluegrey:before,
473.marker-details-bullet.highlight-bluegrey,
474.waterfall-marker-bar.highlight-bluegrey,
475.waterfall-marker-bullet.highlight-bluegrey {
476 background-color: var(--theme-highlight-bluegrey);
477}
478#performance-filter-menupopup > menuitem.highlight-green:before,
479.marker-details-bullet.highlight-green,
480.waterfall-marker-bar.highlight-green,
481.waterfall-marker-bullet.highlight-green {
482 background-color: var(--theme-highlight-green);
483}
484#performance-filter-menupopup > menuitem.highlight-lightorange:before,
485.marker-details-bullet.highlight-lightorange,
486.waterfall-marker-bar.highlight-lightorange,
487.waterfall-marker-bullet.highlight-lightorange {
488 background-color: var(--theme-highlight-lightorange);
489}
490#performance-filter-menupopup > menuitem.highlight-red:before,
491.marker-details-bullet.highlight-red,
492.waterfall-marker-bar.highlight-red,
493.waterfall-marker-bullet.highlight-red {
494 background-color: var(--theme-highlight-red);
495}
496
8c5bee4f
RK
497#waterfall-details > * {
498 padding-top: 3px;
499}
500
501.marker-details-labelname {
502 -moz-padding-end: 4px;
503}
504
505.marker-details-type {
506 font-size: 1.2em;
507 font-weight: bold;
508}
509
510.marker-details-duration {
511 font-weight: bold;
512}
513
514/* Recording items */
515
516.recording-item {
517 padding: 4px;
518}
519
520.recording-item-title {
521 font-size: 110%;
522}
523
524.recording-item-footer {
525 padding-top: 4px;
526 font-size: 90%;
527}
528
529.recording-item-save {
530 text-decoration: underline;
531 cursor: pointer;
532}
533
534.recording-item-duration,
535.recording-item-save {
536 color: var(--theme-body-color-alt);
537}
538
539#recordings-list .selected label {
540 /* Text inside a selected item should not be custom colored. */
541 color: inherit !important;
542}
6f5a7408
RK
543
544/* Profile call tree */
545
6f5a7408
RK
546.call-tree-cells-container {
547 /* Hack: force hardware acceleration */
548 transform: translateZ(1px);
549 overflow: auto;
550}
551
552.call-tree-cells-container[categories-hidden] .call-tree-category {
553 display: none;
554}
555
556.call-tree-header[type="duration"],
557.call-tree-cell[type="duration"],
558.call-tree-header[type="self-duration"],
559.call-tree-cell[type="self-duration"] {
560 width: 9em;
561}
562
563.call-tree-header[type="percentage"],
564.call-tree-cell[type="percentage"],
565.call-tree-header[type="self-percentage"],
566.call-tree-cell[type="self-percentage"] {
567 width: 6em;
568}
569
570.call-tree-header[type="samples"],
571.call-tree-cell[type="samples"] {
572 width: 5em;
573}
574
575.call-tree-header[type="function"],
576.call-tree-cell[type="function"] {
577 -moz-box-flex: 1;
578}
579
580.call-tree-header,
581.call-tree-cell {
582 -moz-box-align: center;
583 overflow: hidden;
584 padding: 1px 4px;
585}
586
587.call-tree-header:not(:last-child),
588.call-tree-cell:not(:last-child) {
589 -moz-border-end: 1px solid;
590}
591
592.call-tree-header,
593.call-tree-cell {
594 -moz-border-end-color: var(--theme-splitter-color);
595 color: var(--theme-body-color);
596}
597
598.call-tree-header:not(:last-child) {
599 text-align: center;
600}
601
602.call-tree-cell:not(:last-child) {
603 text-align: end;
604}
605
606.call-tree-header {
607 background-color: var(--theme-toolbar-background);
608}
609
610.call-tree-item:last-child:not(:focus) {
611 border-bottom: 1px solid var(--theme-splitter-color);
612}
613
614.call-tree-item:nth-child(2n) {
615 background-color: var(--theme-contrast-background);
616}
617
618.call-tree-item:hover {
619 background-color: var(--theme-hover-background);
620 color: var(--theme-hover-color);
621}
622
623.call-tree-item:focus {
624 background-color: var(--theme-selection-background);
625}
626
627.call-tree-item:focus label {
628 color: var(--theme-selection-color);
629}
630
631.call-tree-item:focus .call-tree-cell {
632 -moz-border-end-color: var(--theme-splitter-color);
633}
634
635.call-tree-item:not([origin="content"]) .call-tree-name,
636.call-tree-item:not([origin="content"]) .call-tree-url,
637call-tree-item:not([origin="content"]) .call-tree-line {
638 /* Style chrome and non-JS nodes differently. */
639 opacity: 0.6;
640}
641
642.call-tree-url {
643 -moz-margin-start: 4px !important;
644 cursor: pointer;
645}
646
647.call-tree-url:hover {
648 text-decoration: underline;
649}
650
651.call-tree-url {
652 color: var(--theme-text-blue);
653}
654
655.call-tree-line {
656 color: var(--theme-contrast-border);
657}
658
659.call-tree-host {
660 -moz-margin-start: 8px !important;
661 font-size: 90%;
662}
663
664.call-tree-host {
665 color: ver(--theme-body-color);
666}
667
668.call-tree-url[value=""],
669.call-tree-line[value=""],
670.call-tree-host[value=""] {
671 display: none;
672}
673
674.call-tree-zoom {
675 -moz-appearance: none;
676 background-color: transparent;
677 background-position: center;
678 background-repeat: no-repeat;
679 background-size: 11px;
680 min-width: 11px;
681 -moz-margin-start: 8px !important;
682 cursor: zoom-in;
683 opacity: 0;
684}
685
686.call-tree-zoom {
687 background-image: url(magnifying-glass.png);
688}
689
690@media (min-resolution: 2dppx) {
691 .call-tree-zoom {
692 background-image: url(magnifying-glass@2x.png);
693 }
694}
695
696.call-tree-item:hover .call-tree-zoom {
697 transition: opacity 0.3s ease-in;
698 opacity: 1;
699}
700
701.call-tree-item:hover .call-tree-zoom:hover {
702 opacity: 0;
703}
704
705.call-tree-category {
706 transform: scale(0.75);
707 transform-origin: center right;
708}
a5cb6e53
RK
709
710/**
711 * JIT View
712 */
713
714#jit-optimizations-view {
715 width: 350px;
716 overflow-x: hidden;
717 overflow-y: auto;
718 min-width: 200px;
719}
720
721/* override default styles for tree widget */
722#jit-optimizations-view .tree-widget-empty-text {
723 font-size: inherit;
724 padding: 0px;
725 margin: 8px;
726}
727
728#jit-optimizations-view:not(.empty) .tree-widget-empty-text {
729 display: none;
730}
731
732#jit-optimizations-toolbar {
733 height: 18px;
734 min-height: 0px; /* override .devtools-toolbar min-height */
735}
736
737.jit-optimizations-title {
738 margin: 0px 4px;
739 font-weight: 600;
740}
741
742#jit-optimizations-raw-view {
743 font-size: 90%;
744}
745
746/* override default .tree-widget-item line-height */
747#jit-optimizations-raw-view .tree-widget-item {
748 line-height: 20px !important;
749 display: block;
750 overflow: hidden;
751}
752
753#jit-optimizations-raw-view .tree-widget-item[level="1"] {
754 font-weight: 600;
755}
756
757#jit-optimizations-view .opt-ion-type-site {
758 -moz-margin-start: 4px !important;
759 opacity: 0.6;
760}
761
762#jit-optimizations-view .opt-outcome::before {
763 content: "→";
764 margin: 4px 0px;
765 color: var(--theme-body-color);
766}
767#jit-optimizations-view .theme-selected .opt-outcome::before {
768 color: var(--theme-selection-color);
769}
770
771#jit-optimizations-view .tree-widget-item:not(.theme-selected) .opt-outcome[outcome=success] {
772 color: var(--theme-highlight-green);
773}
774#jit-optimizations-view .tree-widget-item:not(.theme-selected) .opt-outcome[outcome=failure] {
775 color: var(--theme-highlight-red);
776}
777#jit-optimizations-view .tree-widget-container {
778 -moz-margin-end: 0px;
779}
780#jit-optimizations-view .tree-widget-container > li,
781#jit-optimizations-view .tree-widget-children > li {
782 overflow: hidden;
783}
784
785.opt-line::before {
786 content: ":";
787 color: var(--theme-highlight-orange);
788}
789.theme-selected .opt-line::before {
790 color: var(--theme-selection-color);
791}
792.opt-line.header-line::before {
793 color: var(--theme-body-color);
794}
795#jit-optimizations-view.empty .opt-line.header-line::before {
796 display: none;
797}
798
799.opt-url {
800 -moz-margin-start: 4px !important;
801}
802.opt-url:hover {
803 text-decoration: underline;
804}
805.opt-url.debugger-link {
806 cursor: pointer;
807}
808
809#jit-optimizations-view .opt-icon::before {
810 content: "";
811 background-image: url(chrome://browser/skin/devtools/webconsole.png);
812 background-repeat: no-repeat;
813 background-size: 48px 40px;
814 margin: 5px 6px 0 0;
815 width: 8px;
816 height: 8px;
817 max-height: 8px;
818 display: inline-block;
819}
820
821#jit-optimizations-view .opt-icon[severity=warning]::before {
822 background-position: -16px -16px;
823}
824
825@media (min-resolution: 2dppx) {
826 #jit-optimizations-view .opt-icon::before {
827 background-image: url(chrome://browser/skin/devtools/webconsole@2x.png);
828 }
829}