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