second and final part of syncing LCARStrek with Firefox 49/50 devtools theme changes
[themes.git] / LCARStrek / 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;
936e60fe 10 --cell-border-color-light: #A09090;
8c5bee4f
RK
11 --focus-cell-border-color: #9C9CFF;
12 --row-alt-background-color: #403400;
13 --row-hover-background-color: #544400;
14}
15
e9fbfc3a
RK
16/**
17 * A generic class to hide elements, replacing the `element.hidden` attribute
18 * that we use to hide elements that can later be active
19 */
20.hidden {
21 display: none;
22 width: 0px;
23 height: 0px;
24}
25
8c5bee4f
RK
26/* Toolbar */
27
ae90b726 28#performance-toolbar-control-other {
dae45075 29 padding-inline-end: 5px;
ae90b726
RK
30}
31
8c5bee4f 32#performance-toolbar-controls-detail-views .toolbarbutton-text {
dae45075
RK
33 padding-inline-start: 4px;
34 padding-inline-end: 8px;
8c5bee4f
RK
35}
36
2f2239a0 37#filter-button {
1ad21b1f 38 list-style-image: url(images/filter.svg);
ae90b726
RK
39}
40
6f751fd1 41#performance-filter-menupopup > menuitem .menu-iconic-left::after {
ae90b726
RK
42 content: "";
43 display: block;
44 width: 8px;
45 height: 8px;
46 margin: 0 8px;
ae90b726 47 border-radius: 1px;
ae90b726
RK
48}
49
936e60fe 50/* Details panel buttons */
8c5bee4f 51
936e60fe 52#select-waterfall-view {
d0a8de80 53 list-style-image: url(images/performance-icons.svg#details-waterfall);
8c5bee4f
RK
54}
55
936e60fe
RK
56#select-js-calltree-view,
57#select-memory-calltree-view {
d0a8de80 58 list-style-image: url(images/performance-icons.svg#details-call-tree);
d74db938
RK
59}
60
936e60fe
RK
61#select-js-flamegraph-view,
62#select-memory-flamegraph-view {
d0a8de80 63 list-style-image: url(images/performance-icons.svg#details-flamegraph);
d74db938
RK
64}
65
b336389b 66#select-optimizations-view {
dadba0f2 67 list-style-image: url(images/profiler-stopwatch.svg);
b336389b
RK
68}
69
936e60fe
RK
70/* Recording buttons */
71
1e9e1791
RK
72#recordings-controls {
73 background-color: #9C9CFF;
74}
75
76#clear-button::before {
77 background-image: var(--clear-icon-url);
78}
79
80#main-record-button::before {
81 background-image: url(images/profiler-stopwatch-tbutton.svg);
82}
83
84#import-button::before {
85 background-image: url(images/import.svg);
86}
87
88#main-record-button .button-icon, #import-button .button-icon {
89 margin: 0;
90}
91
92#main-record-button .button-text, #import-button .button-text {
93 display: none;
d74db938
RK
94}
95
936e60fe
RK
96#main-record-button .button-icon {
97 margin: 0;
98}
d74db938 99
936e60fe
RK
100#main-record-button .button-text {
101 display: none;
d74db938 102}
936e60fe
RK
103
104.notice-container .record-button {
105 padding: 5px !important;
d74db938
RK
106}
107
936e60fe
RK
108.notice-container .record-button[checked],
109.notice-container .record-button[checked] {
110 color: var(--theme-selection-color) !important;
111 background: var(--theme-selection-background) !important;
d74db938
RK
112}
113
936e60fe
RK
114.record-button[locked] {
115 pointer-events: none;
d74db938
RK
116 opacity: 0.5;
117}
118
936e60fe
RK
119/* Sidebar & recording items */
120
d0a8de80
RK
121#recordings-pane {
122 border-inline-end: 1px solid var(--theme-splitter-color);
123}
124
125#recordings-list {
126 max-width: 300px;
127}
128
936e60fe
RK
129.recording-item {
130 padding: 4px;
d74db938
RK
131}
132
936e60fe
RK
133.recording-item-title {
134 font-size: 110%;
d74db938
RK
135}
136
936e60fe
RK
137.recording-item-footer {
138 padding-top: 4px;
139 font-size: 90%;
140}
8c5bee4f 141
936e60fe
RK
142.recording-item-save {
143 text-decoration: underline;
144 cursor: pointer;
2f2239a0
RK
145}
146
936e60fe
RK
147.recording-item-duration,
148.recording-item-save {
149 color: var(--theme-body-color-alt);
8c5bee4f
RK
150}
151
936e60fe
RK
152#recordings-list .selected label {
153 /* Text inside a selected item should not be custom colored. */
154 color: inherit !important;
8c5bee4f
RK
155}
156
936e60fe
RK
157/* Recording notices */
158
159.notice-container {
160 font-size: 120%;
d0a8de80 161 background-color: var(--theme-body-background);
936e60fe
RK
162 color: var(--theme-body-color);
163 padding-bottom: 20vh;
8c5bee4f
RK
164}
165
d0a8de80
RK
166.tool-disabled-message {
167 text-align: center;
168}
169
170.console-profile-recording-notice,
171.console-profile-stop-notice {
172 overflow: hidden;
173}
174
936e60fe
RK
175.console-profile-command {
176 font-family: monospace;
177 margin: 3px 2px;
178}
179
180.realtime-disabled-message,
181.realtime-disabled-on-e10s-message {
8c5bee4f
RK
182 display: none;
183}
184
d0a8de80 185#performance-view[e10s="disabled"] .realtime-disabled-on-e10s-message,
936e60fe
RK
186#performance-view[e10s="unsupported"] .realtime-disabled-message {
187 display: initial;
188 opacity: 0.5;
2f2239a0
RK
189}
190
936e60fe
RK
191.buffer-status-message,
192.buffer-status-message-full {
193 display: none;
8c5bee4f
RK
194}
195
936e60fe
RK
196#details-pane-container[buffer-status="in-progress"] .buffer-status-message {
197 display: initial;
198 opacity: 0.5;
2f2239a0
RK
199}
200
936e60fe
RK
201#details-pane-container[buffer-status="full"] .buffer-status-message {
202 display: initial;
203 color: var(--theme-highlight-red);
204 font-weight: bold;
205 opacity: 1;
8c5bee4f
RK
206}
207
936e60fe
RK
208#details-pane-container[buffer-status="full"] .buffer-status-message-full {
209 display: initial;
2f2239a0
RK
210}
211
8c5bee4f
RK
212/* Profile call tree */
213
214.call-tree-cells-container {
8c5bee4f
RK
215 overflow: auto;
216}
217
8c5bee4f
RK
218.call-tree-cells-container[categories-hidden] .call-tree-category {
219 display: none;
220}
221
222.call-tree-header {
223 font-size: 90%;
224 padding-top: 2px !important;
225 padding-bottom: 2px !important;
226}
227
228.call-tree-header[type="duration"],
229.call-tree-cell[type="duration"],
230.call-tree-header[type="self-duration"],
231.call-tree-cell[type="self-duration"] {
d0a8de80 232 min-width: 6vw;
8c5bee4f
RK
233 width: 6vw;
234}
235
236.call-tree-header[type="percentage"],
237.call-tree-cell[type="percentage"],
238.call-tree-header[type="self-percentage"],
239.call-tree-cell[type="self-percentage"] {
d0a8de80 240 min-width: 5vw;
8c5bee4f
RK
241 width: 5vw;
242}
243
244.call-tree-header[type="samples"],
245.call-tree-cell[type="samples"] {
d0a8de80 246 min-width: 4.5vw;
8c5bee4f
RK
247 width: 4.5vw;
248}
249
024a65e9
RK
250.call-tree-header[type="count"],
251.call-tree-cell[type="count"],
252.call-tree-header[type="self-count"],
e9fbfc3a
RK
253.call-tree-cell[type="self-count"],
254.call-tree-header[type="size"],
255.call-tree-cell[type="size"],
256.call-tree-header[type="self-size"],
257.call-tree-cell[type="self-size"],
258.call-tree-header[type="count-percentage"],
259.call-tree-cell[type="count-percentage"],
260.call-tree-header[type="self-count-percentage"],
261.call-tree-cell[type="self-count-percentage"],
262.call-tree-header[type="size-percentage"],
263.call-tree-cell[type="size-percentage"],
264.call-tree-header[type="self-size-percentage"],
265.call-tree-cell[type="self-size-percentage"] {
d0a8de80 266 min-width: 6vw;
e9fbfc3a 267 width: 6vw;
8c5bee4f
RK
268}
269
8c5bee4f
RK
270.call-tree-header,
271.call-tree-cell {
272 -moz-box-align: center;
273 overflow: hidden;
d0a8de80 274 text-overflow: ellipsis;
8c5bee4f
RK
275 padding: 1px 4px;
276 color: var(--theme-body-color);
dae45075 277 border-inline-end-color: var(--cell-border-color);
8c5bee4f
RK
278}
279
280.call-tree-header:not(:last-child),
281.call-tree-cell:not(:last-child) {
dae45075
RK
282 border-inline-end-width: 1px;
283 border-inline-end-style: solid;
8c5bee4f
RK
284}
285
286.call-tree-header:not(:last-child) {
287 text-align: center;
288}
289
290.call-tree-cell:not(:last-child) {
291 text-align: end;
292}
293
294.call-tree-header {
295 background-color: var(--theme-tab-toolbar-background);
296}
297
d0a8de80
RK
298.call-tree-item .call-tree-cell,
299.call-tree-item .call-tree-cell[type=function] description {
300 -moz-user-select: text;
301 /* so that optimizations view doesn't break the lines in call tree */
302 white-space: nowrap;
303}
304
305.call-tree-item .call-tree-cell::-moz-selection,
306.call-tree-item .call-tree-cell[type=function] description::-moz-selection {
307 background-color: var(--theme-highlight-orange);
308}
309
936e60fe 310.call-tree-item:last-child {
8c5bee4f
RK
311 border-bottom: 1px solid var(--cell-border-color);
312}
313
314.call-tree-item:nth-child(2n) {
315 background-color: var(--row-alt-background-color);
316}
317
318.call-tree-item:hover {
319 background-color: var(--row-hover-background-color);
320}
321
322.call-tree-item:focus {
323 background-color: var(--theme-selection-background);
324}
325
936e60fe 326.call-tree-item:focus description {
8c5bee4f
RK
327 color: var(--theme-selection-color) !important;
328}
329
330.call-tree-item:focus .call-tree-cell {
dae45075 331 border-inline-end-color: var(--focus-cell-border-color);
8c5bee4f
RK
332}
333
334.call-tree-item:not([origin="content"]) .call-tree-name,
335.call-tree-item:not([origin="content"]) .call-tree-url,
336.call-tree-item:not([origin="content"]) .call-tree-line,
337.call-tree-item:not([origin="content"]) .call-tree-column {
338 /* Style chrome and non-JS nodes differently. */
339 opacity: 0.6;
340}
341
d74db938 342.call-tree-name {
dae45075 343 margin-inline-end: 4px !important;
d74db938
RK
344}
345
8c5bee4f 346.call-tree-url {
8c5bee4f
RK
347 cursor: pointer;
348}
349
350.call-tree-url:hover {
351 text-decoration: underline;
352}
353
a5cb6e53 354.call-tree-url, .tree-widget-item:not(.theme-selected) .opt-url {
8c5bee4f
RK
355 color: var(--theme-highlight-blue);
356}
357
a5cb6e53 358.call-tree-line, .tree-widget-item:not(.theme-selected) .opt-line {
8c5bee4f
RK
359 color: var(--theme-highlight-orange);
360}
361
362.call-tree-column {
363 color: var(--theme-highlight-orange);
364 opacity: 0.6;
365}
366
367.call-tree-host {
dae45075 368 margin-inline-start: 8px !important;
8c5bee4f
RK
369 font-size: 90%;
370 color: var(--theme-content-color2);
371}
372
936e60fe
RK
373.call-tree-category {
374 transform: scale(0.75);
375 transform-origin: center right;
8c5bee4f
RK
376}
377
936e60fe
RK
378/**
379 * Waterfall ticks header
380 */
8c5bee4f 381
936e60fe 382.waterfall-header-ticks {
d0a8de80 383 overflow: hidden;
8c5bee4f
RK
384}
385
936e60fe
RK
386.waterfall-header-name {
387 padding: 2px 4px;
388 font-size: 90%;
8c5bee4f
RK
389}
390
936e60fe
RK
391.waterfall-header-tick {
392 width: 100px;
393 font-size: 9px;
394 transform-origin: left center;
395 color: var(--theme-body-color);
8c5bee4f
RK
396}
397
936e60fe 398.waterfall-header-tick:not(:first-child) {
dae45075 399 margin-inline-start: -100px !important; /* Don't affect layout. */
8c5bee4f
RK
400}
401
936e60fe
RK
402.waterfall-background-ticks {
403 /* Background created on a <canvas> in js. */
d0a8de80 404 /* @see devtools/client/timeline/widgets/waterfall.js */
936e60fe
RK
405 background-image: -moz-element(#waterfall-background);
406 background-repeat: repeat-y;
407 background-position: -1px center;
8c5bee4f
RK
408}
409
410/**
936e60fe 411 * Markers waterfall breakdown
8c5bee4f
RK
412 */
413
936e60fe 414#waterfall-breakdown {
8c5bee4f
RK
415 overflow-x: hidden;
416 overflow-y: auto;
417}
418
936e60fe
RK
419.waterfall-tree-item:not([level="0"]) {
420 background-image: repeating-linear-gradient(
421 -45deg,
422 transparent 0px,
423 transparent 2px,
424 rgba(255,255,255,0.05) 2px,
425 rgba(255,255,255,0.05) 4px
426 );
8c5bee4f
RK
427}
428
936e60fe
RK
429.waterfall-tree-item[expandable] .waterfall-marker-bullet,
430.waterfall-tree-item[expandable] .waterfall-marker-bar {
431 background-image: repeating-linear-gradient(
432 -45deg,
433 transparent 0px,
434 transparent 5px,
435 rgba(0,0,0,0.35) 5px,
436 rgba(0,0,0,0.35) 10px
437 );
8c5bee4f
RK
438}
439
936e60fe
RK
440.waterfall-tree-item[expanded],
441.waterfall-tree-item:not([level="0"]) + .waterfall-tree-item[level="0"] {
442 box-shadow: 0 -1px var(--cell-border-color-light);
8c5bee4f
RK
443}
444
936e60fe
RK
445.waterfall-tree-item:nth-child(2n) > .waterfall-marker {
446 background-color: var(--row-alt-background-color);
8c5bee4f
RK
447}
448
936e60fe
RK
449.waterfall-tree-item:hover {
450 background-color: var(--row-hover-background-color);
8c5bee4f
RK
451}
452
936e60fe
RK
453.waterfall-tree-item:last-child {
454 border-bottom: 1px solid var(--cell-border-color);
8c5bee4f
RK
455}
456
936e60fe
RK
457.waterfall-tree-item:focus {
458 background-color: var(--theme-selection-background);
8c5bee4f
RK
459}
460
936e60fe
RK
461.waterfall-tree-item:focus description {
462 color: var(--theme-selection-color) !important;
8c5bee4f
RK
463}
464
936e60fe
RK
465/**
466 * Marker left sidebar
467 */
8c5bee4f 468
936e60fe 469.waterfall-sidebar {
dae45075 470 border-inline-end: 1px solid var(--cell-border-color);
8c5bee4f
RK
471}
472
936e60fe
RK
473.waterfall-tree-item > .waterfall-sidebar:hover,
474.waterfall-tree-item:hover > .waterfall-sidebar,
475.waterfall-tree-item:focus > .waterfall-sidebar {
476 background: transparent;
8c5bee4f
RK
477}
478
479.waterfall-marker-bullet {
480 width: 8px;
481 height: 8px;
dae45075
RK
482 margin-inline-start: 8px;
483 margin-inline-end: 6px;
8c5bee4f
RK
484 border-radius: 1px;
485}
486
487.waterfall-marker-name {
488 font-size: 95%;
489 padding-bottom: 1px !important;
490}
491
936e60fe
RK
492/**
493 * Marker timebar
494 */
495
496.waterfall-marker {
497 overflow: hidden;
498}
499
8c5bee4f
RK
500.waterfall-marker-bar {
501 height: 9px;
8c5bee4f 502 transform-origin: left center;
a5cb6e53 503 border-radius: 1px;
8c5bee4f
RK
504}
505
936e60fe
RK
506.waterfall-marker > .theme-twisty {
507 /* Don't affect layout. */
508 width: 14px;
dae45075 509 margin-inline-end: -14px;
8c5bee4f
RK
510}
511
d0a8de80
RK
512/**
513 * OTMT markers
514 */
515
516.waterfall-tree-item[otmt=true] .waterfall-marker-bullet,
517.waterfall-tree-item[otmt=true] .waterfall-marker-bar {
518 background-color: transparent;
519 border-width: 1px;
520 border-style: solid;
521}
522
936e60fe
RK
523/**
524 * Marker details view
525 */
526
8c5bee4f 527#waterfall-details {
dae45075
RK
528 padding-inline-start: 8px;
529 padding-inline-end: 8px;
8c5bee4f
RK
530 padding-top: 2vh;
531 overflow: auto;
d74db938 532 min-width: 50px;
8c5bee4f
RK
533}
534
936e60fe
RK
535#waterfall-details > * {
536 padding-top: 3px;
537}
538
8c5bee4f
RK
539.marker-details-bullet {
540 width: 8px;
541 height: 8px;
8c5bee4f
RK
542 border-radius: 1px;
543}
544
d0a8de80 545.marker-details-name-label {
dae45075 546 padding-inline-end: 4px;
936e60fe
RK
547}
548
549.marker-details-type {
550 font-size: 1.2em;
551 font-weight: bold;
552}
553
554.marker-details-duration {
555 font-weight: bold;
556}
557
e9fbfc3a
RK
558.marker-details-customcontainer .custom-button {
559 padding: 2px 5px;
560 border-width: 1px;
561}
562
936e60fe
RK
563/**
564 * Marker colors
565 */
566
6f751fd1 567menuitem.marker-color-graphs-full-red .menu-iconic-left::after,
d0a8de80
RK
568.marker-color-graphs-full-red {
569 background-color: var(--theme-graphs-full-red);
570 border-color: var(--theme-graphs-full-red);
571}
6f751fd1 572menuitem.marker-color-graphs-full-blue .menu-iconic-left::after,
d0a8de80
RK
573.marker-color-graphs-full-blue {
574 background-color: var(--theme-graphs-full-blue);
575 border-color: var(--theme-graphs-full-blue);
576}
6f751fd1 577menuitem.marker-color-graphs-green .menu-iconic-left::after,
e9fbfc3a
RK
578.marker-color-graphs-green {
579 background-color: var(--theme-graphs-green);
d0a8de80 580 border-color: var(--theme-graphs-green);
d74db938 581}
6f751fd1 582menuitem.marker-color-graphs-blue .menu-iconic-left::after,
e9fbfc3a
RK
583.marker-color-graphs-blue {
584 background-color: var(--theme-graphs-blue);
d0a8de80 585 border-color: var(--theme-graphs-blue);
a5cb6e53 586}
6f751fd1 587menuitem.marker-color-graphs-bluegrey .menu-iconic-left::after,
e9fbfc3a
RK
588.marker-color-graphs-bluegrey {
589 background-color: var(--theme-graphs-bluegrey);
d0a8de80 590 border-color: var(--theme-graphs-bluegrey);
e9fbfc3a 591}
6f751fd1 592menuitem.marker-color-graphs-purple .menu-iconic-left::after,
e9fbfc3a
RK
593.marker-color-graphs-purple {
594 background-color: var(--theme-graphs-purple);
d0a8de80 595 border-color: var(--theme-graphs-purple);
a5cb6e53 596}
6f751fd1 597menuitem.marker-color-graphs-yellow .menu-iconic-left::after,
d74db938
RK
598.marker-color-graphs-yellow {
599 background-color: var(--theme-graphs-yellow);
d0a8de80
RK
600 border-color: var(--theme-graphs-yellow);
601}
6f751fd1 602menuitem.marker-color-graphs-orange .menu-iconic-left::after,
d0a8de80
RK
603.marker-color-graphs-orange {
604 background-color: var(--theme-graphs-orange);
605 border-color: var(--theme-graphs-orange);
a5cb6e53 606}
6f751fd1 607menuitem.marker-color-graphs-red .menu-iconic-left::after,
d74db938
RK
608.marker-color-graphs-red {
609 background-color: var(--theme-graphs-red);
d0a8de80 610 border-color: var(--theme-graphs-red);
a5cb6e53 611}
6f751fd1 612menuitem.marker-color-graphs-grey .menu-iconic-left::after,
e9fbfc3a
RK
613.marker-color-graphs-grey{
614 background-color: var(--theme-graphs-grey);
d0a8de80 615 border-color: var(--theme-graphs-grey);
b336389b 616}
d74db938
RK
617
618/**
619 * Configurable Options
620 *
936e60fe
RK
621 * Elements can be tagged with a class and visibility is controlled via a
622 * preference being applied or removed.
d74db938
RK
623 */
624
625/**
626 * devtools.performance.ui.experimental
627 */
628menuitem.experimental-option::before {
629 content: "";
d0a8de80 630 background-image: url(chrome://devtools/skin/images/webconsole.svg);
d74db938 631 background-repeat: no-repeat;
2e389898
RK
632 background-size: 72px 60px;
633 width: 12px;
634 height: 12px;
d74db938 635 display: inline-block;
2e389898
RK
636
637 background-position: -24px -24px;
638 margin: 2px 5px 0 0;
639 max-height: 12px;
d74db938 640}
2e389898 641
d74db938
RK
642#performance-options-menupopup:not(.experimental-enabled) .experimental-option,
643#performance-options-menupopup:not(.experimental-enabled) .experimental-option::before {
644 display: none;
645}
d0a8de80
RK
646
647/* for call tree */
648description.opt-icon {
649 margin: 0px 0px 0px 0px;
650}
651description.opt-icon::before {
652 margin: 1px 4px 0px 0px;
653}