make HTML-based video controls work while keeping the XUL-based ones intact - this...
[themes.git] / LCARStrek / devtools / webconsole.css
CommitLineData
d0a8de80
RK
1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5/* Webconsole specific theme variables */
6
7.theme-dark,
8.theme-light,
9.theme-firebug {
60156ae2
RK
10 --error-color: #FF0000;
11 --error-background-color: #FF0000;
12 --error-background-text: #000000;
13 --warning-background-color: #FFCF00;
14 --warning-background-text: #000000;
d0a8de80
RK
15}
16
17window {
18 padding: 0;
19}
20
21/*
22 * This hardcoded width likely due to a toolkit Windows specific bug.
23 * See http://hg.mozilla.org/mozilla-central/annotate/f38d6df93cad/toolkit/themes/winstripe/global/textbox-aero.css#l7
24 */
25
26.hud-filter-box {
27 width: 200px;
28}
29
30/* General output styles */
31
32a {
33 -moz-user-focus: normal;
34 -moz-user-input: enabled;
35 cursor: pointer;
36 text-decoration: underline;
37}
38
39/* Workaround for Bug 575675 - FindChildWithRules aRelevantLinkVisited
40 * assertion when loading HTML page with links in XUL iframe */
41*:visited { }
42
43.message {
44 display: flex;
d0a8de80
RK
45 padding: 0 7px;
46 width: 100%;
47 box-sizing: border-box;
48}
49
50.message > .prefix,
51.message > .timestamp {
52 flex: none;
53 color: var(--theme-comment);
54 margin: 3px 6px 0 0;
55}
56
57.message > .indent {
58 flex: none;
59}
60
61.message > .icon {
62 flex: none;
63 margin: 3px 6px 0 0;
64 padding: 0 4px;
65 height: 1em;
66 align-self: flex-start;
67}
68
69.message > .icon::before {
70 content: "";
71 background-image: url("chrome://devtools/skin/images/webconsole.svg");
72 background-position: 12px 12px;
73 background-repeat: no-repeat;
74 background-size: 72px 60px;
75 width: 12px;
76 height: 12px;
77 display: inline-block;
78}
79
80.message > .message-body-wrapper {
6f751fd1
RK
81 flex: auto;
82 min-width: 0px;
d0a8de80
RK
83 margin: 3px;
84}
85
86.message-body-wrapper .table-widget-body {
87 overflow: visible;
88}
89
90/* The red bubble that shows the number of times a message is repeated */
91.message-repeats {
92 -moz-user-select: none;
93 flex: none;
94 margin: 2px 6px;
95 padding: 0 6px;
96 height: 1.25em;
97 color: #000000;
98 background-color: #FF0000;
99 border-radius: 40px;
100 /* font: message-box; */
101 font-size: 0.9em;
102 font-weight: 600;
103}
104
105.message-repeats[value="1"] {
106 display: none;
107}
108
109.message-location {
6f751fd1 110 max-width: 40%;
d0a8de80
RK
111}
112
60156ae2
RK
113.stack-trace {
114 /* The markup contains extra whitespace to improve formatting of clipboard text.
115 Make sure this whitespace doesn't affect the HTML rendering */
116 white-space: normal;
117}
118
6f751fd1
RK
119.stack-trace .frame-link-source,
120.message-location .frame-link-source {
1ad21b1f 121 /* Makes the file name truncated (and ellipsis shown) on the left side */
6f751fd1
RK
122 direction: rtl;
123 white-space: nowrap;
124 overflow: hidden;
125 text-overflow: ellipsis;
d0a8de80
RK
126}
127
1ad21b1f
RK
128.stack-trace .frame-link-source-inner,
129.message-location .frame-link-source-inner {
130 /* Enforce LTR direction for the file name - fixes bug 1290056 */
131 direction: ltr;
132 unicode-bidi: embed;
133}
134
6f751fd1
RK
135.stack-trace .frame-link-function-display-name {
136 max-width: 50%;
137 white-space: nowrap;
138 overflow: hidden;
139 text-overflow: ellipsis;
d0a8de80
RK
140}
141
142.message-flex-body {
143 display: flex;
144}
145
146.message-body > * {
147 white-space: pre-wrap;
148 word-wrap: break-word;
149}
150
151.message-flex-body > .message-body {
60156ae2 152 display: block;
6f751fd1 153 flex: auto;
d0a8de80
RK
154}
155
156#output-wrapper {
157 direction: ltr;
158 overflow: auto;
159 -moz-user-select: text;
60156ae2 160 position: relative;
d0a8de80
RK
161}
162
163/* The width on #output-container is set to a hardcoded px in webconsole.js
164 since it's way faster than using 100% with -moz-box-flex (see Bug 1237368) */
165
166#output-container.hideTimestamps > .message {
dae45075
RK
167 padding-inline-start: 0;
168 margin-inline-start: 7px;
d0a8de80
RK
169 width: calc(100% - 7px);
170}
171
172#output-container.hideTimestamps > .message > .timestamp {
173 display: none;
174}
175
176#output-container.hideTimestamps > .message > .indent {
177 background-color: var(--theme-body-background);
178}
179
180.filtered-by-type,
181.filtered-by-string {
182 display: none;
183}
184
185.hidden-message {
186 display: block;
187 visibility: hidden;
188 height: 0;
189 overflow: hidden;
190}
191
192/* WebConsole colored drops */
193
194.webconsole-filter-button {
195 -moz-user-focus: normal;
196}
197
60156ae2
RK
198.webconsole-filter-button > .toolbarbutton-menubutton-button {
199 -moz-box-orient: horizontal; /* saving vertical space in toolbar */
200}
201
d0a8de80
RK
202.webconsole-filter-button > .toolbarbutton-menubutton-button:before {
203 content: "";
204 display: inline-block;
205 height: 8px;
206 width: 8px;
207 border-radius: 50%;
60156ae2
RK
208 margin-inline-start: 1px;
209 margin-inline-end: 3px;
d0a8de80
RK
210 border-width: 1px;
211 border-style: solid;
212}
213
214/* Network styles */
215.webconsole-filter-button[category="net"] > .toolbarbutton-menubutton-button:before {
216 background-image: linear-gradient(#BF9B00, #7F6700);
217 border-color: #FFCF00;
218}
219
220.message:hover {
221 background-color: var(--theme-contrast-background);
222}
223
60156ae2
RK
224.message[severity=error],
225.message.error {
226 background-color: var(--error-background-color);
d0a8de80
RK
227}
228
229.console-string {
230 color: var(--theme-highlight-orange);
231}
232
233.message[severity=error] .console-string {
60156ae2 234 background-color: var(--error-background-text);
d0a8de80
RK
235}
236
237.theme-selected .console-string,
238.theme-selected .cm-number,
239.theme-selected .cm-variable,
240.theme-selected .kind-ArrayLike {
241 color: #000000 !important; /* Selection Text Color */
242}
243
244.message[category=network] > .indent {
dae45075 245 border-inline-end: solid var(--theme-body-color-alt) 6px;
d0a8de80
RK
246}
247
60156ae2
RK
248.message[category=network][severity=error] > .icon::before,
249.message.network.error > .icon::before {
d0a8de80
RK
250 background-position: -12px 0;
251}
252
60156ae2
RK
253.message[category=network] > .message-body,
254.message.network > .message-body {
d0a8de80
RK
255 display: flex;
256 flex-wrap: wrap;
257}
258
60156ae2
RK
259.message[category=network] .method,
260.message.network .method {
d0a8de80
RK
261 flex: none;
262}
263
60156ae2
RK
264.message[category=network]:not(.navigation-marker) .url,
265.message.network:not(.navigation-marker) .url {
d0a8de80
RK
266 flex: 1 1 auto;
267 /* Make sure the URL is very small initially, let flex change width as needed. */
268 width: 100px;
269 min-width: 5em;
270 white-space: nowrap;
271 overflow: hidden;
272 text-overflow: ellipsis;
273}
274
60156ae2
RK
275.message[category=network] .status,
276.message.network .status {
d0a8de80 277 flex: none;
dae45075 278 margin-inline-start: 6px;
d0a8de80
RK
279}
280
60156ae2
RK
281.message[category=network].mixed-content .url,
282.message.network.mixed-content .url {
d0a8de80
RK
283 color: var(--theme-highlight-red);
284}
285
286.message .learn-more-link {
287 color: var(--theme-highlight-blue);
288 margin: 0 6px;
289}
290
60156ae2
RK
291.message[category=network] .xhr,
292.message.network .xhr {
d0a8de80
RK
293 background-color: var(--theme-body-color-alt);
294 color: var(--theme-body-background);
295 border-radius: 3px;
296 font-weight: bold;
297 font-size: 10px;
298 padding: 2px;
299 line-height: 10px;
300 margin-inline-start: 3px;
301 margin-inline-end: 1ex;
302}
303
304/* CSS styles */
305.webconsole-filter-button[category="css"] > .toolbarbutton-menubutton-button:before {
306 background-image: linear-gradient(#7575BF, #4E4E7F);
307 border-color: #9C9CFF;
308}
309
60156ae2
RK
310.message[category=cssparser] > .indent,
311.message.cssparser > .indent {
dae45075 312 border-inline-end: solid #9C9CFF 6px;
d0a8de80
RK
313}
314
60156ae2
RK
315.message[category=cssparser][severity=error] > .icon::before,
316.message.cssparser.error > .icon::before {
d0a8de80
RK
317 background-position: -12px -12px;
318}
319
60156ae2
RK
320.message[category=cssparser][severity=warn] > .icon::before,
321.message.cssparser.warn > .icon::before {
d0a8de80
RK
322 background-position: -24px -12px;
323}
324
325/* JS styles */
326.webconsole-filter-button[category="js"] > .toolbarbutton-menubutton-button:before {
327 background-image: linear-gradient(#BF7700, #7F4F00);
328 border-color: #FF9F00;
329}
330
60156ae2
RK
331.message[category=exception] > .indent,
332.message.exception > .indent {
dae45075 333 border-inline-end: solid #FF9F00 6px;
d0a8de80
RK
334}
335
60156ae2
RK
336.message[category=exception][severity=error] > .icon::before,
337.message.exception.error > .icon::before {
d0a8de80
RK
338 background-position: -12px -24px;
339}
340
60156ae2
RK
341.message[category=exception][severity=warn] > .icon::before,
342.message.exception.warn > .icon::before {
d0a8de80
RK
343 background-position: -24px -24px;
344}
345
346/* Web Developer styles */
347.webconsole-filter-button[category="logging"] > .toolbarbutton-menubutton-button:before {
348 background-image: linear-gradient(#5F3B83, #3F2756);
349 border-color: #8050B0;
350}
351
60156ae2
RK
352.message[category=console] > .indent,
353.message.console-api > .indent {
dae45075 354 border-inline-end: solid #8050B0 6px;
d0a8de80
RK
355}
356
357.message[category=console][severity=error] > .icon::before,
358.message[category=output][severity=error] > .icon::before,
359.message[category=server][severity=error] > .icon::before {
360 background-position: -12px -36px;
361}
362
363.message[category=console][severity=warn] > .icon::before,
364.message[category=server][severity=warn] > .icon::before {
365 background-position: -24px -36px;
366}
367
368.message[category=console][severity=info] > .icon::before,
369.message[category=server][severity=info] > .icon::before {
370 background-position: -36px -36px;
371}
372
373/* Server Logging Styles */
374
375.webconsole-filter-button[category="server"] > .toolbarbutton-menubutton-button:before {
376 background-image: linear-gradient(#006363, #004242);
377 border-color: #008484;
378}
379
60156ae2
RK
380.message[category=server] > .indent,
381.message.server > .indent {
dae45075 382 border-inline-end: solid #8050B0 6px;
d0a8de80
RK
383}
384
385/* Input and output styles */
386.message[category=input] > .indent,
60156ae2
RK
387.message[category=output] > .indent,
388.message.command > .indent,
389.message.result > .indent {
dae45075 390 border-inline-end: solid #A09090 6px;
d0a8de80
RK
391}
392
60156ae2
RK
393.message[category=input] > .icon::before,
394.message.command > .icon::before {
d0a8de80
RK
395 background-position: -48px -36px;
396}
397
60156ae2
RK
398.message[category=output] > .icon::before,
399.message.result > .icon::before {
d0a8de80
RK
400 background-position: -60px -36px;
401}
402
403/* JSTerm Styles */
404.jsterm-input-container {
405 background-color: var(--theme-tab-toolbar-background);
406 border-top: 1px solid var(--theme-splitter-color);
407}
408
409.jsterm-input-node,
410.jsterm-complete-node {
411 border: none;
6f751fd1
RK
412 padding: 0;
413 padding-inline-start: 20px;
414 margin: 0;
d0a8de80
RK
415 -moz-appearance: none;
416 background-color: transparent;
417}
418
6f751fd1
RK
419.jsterm-input-node[focused="true"] {
420 background-image: var(--theme-command-line-image-focus);
421 box-shadow: none;
422}
423
d0a8de80
RK
424.jsterm-complete-node {
425 color: var(--theme-comment);
426}
427
428.jsterm-input-node {
429 /* Always allow scrolling on input - it auto expands in js by setting height,
430 but don't want it to get bigger than the window. 24px = toolbar height. */
431 max-height: calc(90vh - 24px);
6f751fd1 432 background-image: var(--theme-command-line-image);
d0a8de80
RK
433 background-repeat: no-repeat;
434 background-size: 16px 16px;
6f751fd1 435 background-position: 4px 50%;
d0a8de80
RK
436 color: var(--theme-content-color1);
437}
438
d0a8de80
RK
439:-moz-any(.jsterm-input-node,
440 .jsterm-complete-node) > .textbox-input-box > .textbox-textarea {
441 overflow-x: hidden;
6f751fd1
RK
442 /* Set padding for console input on textbox to make sure it is inlcuded in
443 scrollHeight that is used when resizing JSTerminal's input. Note: textbox
444 default style has important already */
445 padding: 4px 0 !important;
d0a8de80
RK
446}
447
448.inlined-variables-view .message-body {
449 display: flex;
450 flex-direction: column;
451 resize: vertical;
452 overflow: auto;
453 min-height: 200px;
454}
455
456.inlined-variables-view iframe {
457 display: block;
458 flex: 1;
459 margin-top: 5px;
460 margin-bottom: 15px;
dae45075 461 margin-inline-end: 15px;
d0a8de80
RK
462 border: 1px solid var(--theme-splitter-color);
463 border-radius: 3px;
464}
465
466#webconsole-sidebar > tabs {
467 height: 0;
468 border: none;
469}
470
471.devtools-side-splitter ~ #webconsole-sidebar[hidden] {
472 display: none;
473}
474
475/* Security styles */
476
60156ae2
RK
477.message[category=security] > .indent,
478.message.security > .indent {
dae45075 479 border-inline-end: solid #FF0000 6px;
d0a8de80
RK
480}
481
482.webconsole-filter-button[category="security"] > .toolbarbutton-menubutton-button:before {
483 background-color: #FF0000;
484 border-color: #FFCF00;
485}
486
60156ae2
RK
487.message[category=security][severity=error] > .icon::before,
488.message.security.error > .icon::before {
d0a8de80
RK
489 background-position: -12px -48px;
490}
491
60156ae2
RK
492.message[category=security][severity=warn] > .icon::before,
493.message.security.warn > .icon::before {
d0a8de80
RK
494 background-position: -24px -48px;
495}
496
497.navigation-marker {
498 color: #000000;
499 background-color: #A09090;
500 margin-top: 6px;
501 margin-bottom: 6px;
502 font-size: 0.9em;
503}
504
505.navigation-marker .url {
dae45075 506 padding-inline-end: 9px;
d0a8de80
RK
507 text-decoration: none;
508 background: var(--theme-body-background);
509}
510
511.stacktrace {
512 display: none;
6f751fd1 513 padding: 5px 10px;
d0a8de80 514 margin: 5px 0 0 0;
d0a8de80
RK
515 overflow-y: auto;
516 border: 1px solid var(--theme-splitter-color);
517 border-radius: 3px;
518}
519
520.consoletable {
521 margin: 5px 0 0 0;
522}
523
1ad21b1f
RK
524/* Force cells to only show one row of contents. Getting normal ellipses
525 behavior has proven impossible so far, so this is better than letting
526 rows get out of vertical alignment when one cell has a lot of content. */
527.consoletable .table-widget-cell > span {
528 overflow: hidden;
529 display: flex;
530 height: 1.25em;
531 line-height: 1.25em;
532}
533
d0a8de80
RK
534.message[severity=error] .stacktrace {
535 background-color: #000000;
536}
537
538.message[open] .stacktrace {
539 display: block;
540}
541
542.message .theme-twisty {
543 display: inline-block;
544 vertical-align: middle;
545 margin: 3px 0 0 0;
546 flex-shrink: 0;
547}
548
d0a8de80
RK
549.cm-s-mozilla a[class] {
550 font-style: italic;
551 text-decoration: none;
552}
553
554.cm-s-mozilla a[class]:hover,
555.cm-s-mozilla a[class]:focus {
556 text-decoration: underline;
557}
558
559a.learn-more-link.webconsole-learn-more-link {
560 font-style: normal;
561}
562
563/* Open DOMNode in inspector button */
564.open-inspector {
565 background: url("chrome://devtools/skin/images/vview-open-inspector.png") no-repeat 0 0;
566 padding-left: 16px;
6f751fd1 567 margin-inline-start: 5px;
d0a8de80
RK
568 cursor: pointer;
569}
570
571.elementNode:hover .open-inspector,
572.open-inspector:hover {
573 filter: url(images/filters.svg#checked-icon-state);
574}
575
60156ae2 576.elementNode:hover .open-inspector:active,
d0a8de80
RK
577.open-inspector:active {
578 filter: url(images/filters.svg#checked-icon-state);
579}
580
581@media (max-width: 500px) {
582 .message > .timestamp {
583 display: none;
584 }
585 .hud-console-filter-toolbar .webconsole-filter-button .toolbarbutton-text {
586 display: none;
587 }
588 .hud-console-filter-toolbar .webconsole-filter-button {
589 min-width: 40px;
590 }
591 .hud-console-filter-toolbar .webconsole-clear-console-button {
592 min-width: 25px;
593 }
594 .webconsole-filter-button > .toolbarbutton-menubutton-button:before {
595 width: 12px;
596 height: 12px;
6f751fd1 597 margin-inline-start: 1px;
d0a8de80
RK
598 }
599 .toolbarbutton-menubutton-dropmarker {
600 margin: 0px;
601 }
602}
603
604@media (max-width: 300px) {
605 .hud-console-filter-toolbar {
606 -moz-box-orient: vertical;
607 }
608 .toolbarbutton-text {
609 display: -moz-box;
610 }
611 /*
612 .devtools-toolbarbutton {
613 margin-top: 3px;
614 }
615 .hud-console-filter-toolbar .hud-filter-box,
616 .hud-console-filter-toolbar .devtools-toolbarbutton {
617 margin-top: 5px;
618 }
619 */
620}
621
622/*
623 * This hardcoded width likely due to a toolkit Windows specific bug.
624 * See http://hg.mozilla.org/mozilla-central/annotate/f38d6df93cad/toolkit/themes/winstripe/global/textbox-aero.css#l7
625 */
626
627:root[platform="win"] .hud-filter-box {
628 width: 200px;
629}
60156ae2
RK
630
631/* NEW CONSOLE STYLES */
632
633#output-wrapper > div {
634 position: absolute;
635 top: 0;
636 bottom: 0;
637 left: 0;
638 right: 0;
639}
640
641#output-container {
642 height: 100%;
643}
644
645.webconsole-output-wrapper {
646 display: flex;
647 flex-direction: column;
648 height: 100%;
649 -moz-user-focus: normal;
650}
651
652.webconsole-filterbar-wrapper {
653 flex-grow: 0;
654}
655
656.webconsole-output {
657 flex: 1;
658 overflow: auto;
659}
660
661.webconsole-filterbar-primary {
662 display: flex;
663}
664
665.devtools-toolbar.webconsole-filterbar-secondary {
666 height: initial;
667}
668
669.webconsole-filterbar-primary .devtools-plaininput {
670 flex: 1 1 100%;
671}
672
673.webconsole-output.hideTimestamps > .message > .timestamp {
674 display: none;
675}
676
677.message.startGroup .message-body,
678.message.startGroupCollapsed .message-body {
679 color: var(--theme-body-color);
680 font-weight: bold;
681}
682
683.webconsole-output-wrapper .message > .icon {
684 margin: 3px 0 0 0;
685 padding: 0 0 0 6px;
686}
687
688.message.error > .icon::before {
689 background-position: -12px -36px;
690}
691
692.message.warn > .icon::before {
693 background-position: -24px -36px;
694}
695
696.message.info > .icon::before {
697 background-position: -36px -36px;
698}
699
700.message.network .method {
701 margin-inline-end: 5px;
702}
703
704.webconsole-output-wrapper .message .indent {
705 display: inline-block;
706 border-inline-end: solid 1px var(--theme-splitter-color);
707}
708
709.message.startGroup .indent,
710.message.startGroupCollapsed .indent {
711 border-inline-end-color: transparent;
712 margin-inline-end: 5px;
713}
714
715.message.startGroup .icon,
716.message.startGroupCollapsed .icon {
717 display: none;
718}
719
720/* console.table() */
721.new-consoletable {
722 width: 100%;
723 border-collapse: collapse;
724 --consoletable-border: 1px solid var(--table-splitter-color);
725}
726
727.new-consoletable thead,
728.new-consoletable tbody {
729 background-color: var(--theme-body-background);
730}
731
732.new-consoletable th {
733 background-color: var(--theme-selection-background);
734 color: var(--theme-selection-color);
735 margin: 0;
736 padding: 5px 0 0;
737 font-weight: inherit;
738 border-inline-end: var(--consoletable-border);
739 border-bottom: var(--consoletable-border);
740}
741
742.new-consoletable tr:nth-of-type(even) {
743 background-color: var(--table-zebra-background);
744}
745
746.new-consoletable td {
747 padding: 3px 4px;
748 min-width: 100px;
749 -moz-user-focus: normal;
750 color: var(--theme-body-color);
751 border-inline-end: var(--consoletable-border);
752 height: 1.25em;
753 line-height: 1.25em;
754}