second part of syncing LCARStrek with Firefox 42-44 windows theme changes
[themes.git] / LCARStrek / browser / devtools / widgets.css
... / ...
CommitLineData
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
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6/* === BEGIN widgets.inc.css === */
7
8.theme-dark,
9.theme-light {
10 --table-splitter-color: #A09090;
11 --table-zebra-background: rgba(255,159,0,0.1);
12}
13
14/* Generic pane helpers */
15
16.generic-toggled-side-pane {
17 -moz-margin-start: 0px !important;
18 /* Unfortunately, transitions don't work properly with locale-aware properties,
19 so both the left and right margins are set via js, while the start margin
20 is always overridden here. */
21}
22
23.generic-toggled-side-pane[animated] {
24 transition: margin 0.25s ease-in-out;
25}
26
27/* Responsive container */
28
29.devtools-responsive-container {
30 -moz-box-orient: horizontal;
31}
32
33.devtools-main-content {
34 min-width: 50px;
35}
36
37.devtools-main-content,
38.devtools-sidebar-tabs {
39 /* Prevent some children that should be hidden from remaining visible as this is shrunk (Bug 971959) */
40 position: relative;
41}
42
43@media (max-width: 700px) {
44 .devtools-responsive-container {
45 -moz-box-orient: vertical;
46 }
47
48 .devtools-responsive-container > .devtools-side-splitter {
49 /* This is a normally vertical splitter, but we have turned it horizontal
50 due to the smaller resolution */
51 border: 0;
52 margin: 0;
53 min-height: 3px;
54 height: 3px;
55 margin-top: -3px;
56
57 /* Reset the vertical splitter styles */
58 width: auto;
59 min-width: 0;
60
61 /* In some edge case the cursor is not changed to n-resize */
62 cursor: n-resize;
63 }
64
65 .devtools-responsive-container > .devtools-sidebar-tabs {
66 min-height: 35vh;
67 max-height: 75vh;
68 }
69}
70
71/* BreacrumbsWidget */
72
73.breadcrumbs-widget-container {
74 -moz-margin-start: 2px;
75 -moz-margin-start: 2px;
76 max-height: 24px; /* Set max-height for proper sizing on linux */
77 height: 24px; /* Set height to prevent starting small waiting for content */
78}
79
80.scrollbutton-up,
81.scrollbutton-down {
82 background: transparent;
83 box-shadow: none;
84 border: none;
85 margin: 0;
86 padding: 0;
87}
88
89.scrollbutton-up {
90 -moz-margin-end: 1px;
91}
92
93.scrollbutton-down {
94 -moz-margin-end: 0;
95}
96
97.scrollbutton-up > .toolbarbutton-icon,
98.scrollbutton-down > .toolbarbutton-icon {
99 /* margin: 0 5px; */
100}
101
102.scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon,
103.scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon {
104}
105
106.scrollbutton-up[disabled] > .toolbarbutton-icon,
107.scrollbutton-down[disabled] > .toolbarbutton-icon {
108}
109
110.scrollbutton-up:-moz-locale-dir(ltr) {
111 border-top-right-radius: 0;
112 border-bottom-right-radius: 0;
113}
114
115.scrollbutton-down:-moz-locale-dir(ltr) {
116 border-top-left-radius: 0;
117 border-bottom-left-radius: 0;
118}
119
120.scrollbutton-up:-moz-locale-dir(rtl) {
121 border-top-left-radius: 0;
122 border-bottom-left-radius: 0;
123}
124
125.scrollbutton-down:-moz-locale-dir(rtl) {
126 border-top-right-radius: 0;
127 border-bottom-right-radius: 0;
128}
129
130/* Draw shadows to indicate there is more content 'behind' scrollbuttons. */
131/*
132.scrollbutton-up:-moz-locale-dir(ltr),
133.scrollbutton-down:-moz-locale-dir(rtl) {
134 border-right: solid 1px rgba(255, 255, 255, .1);
135 border-left: solid 1px transparent;
136 box-shadow: 3px 0px 3px -3px var(--theme-sidebar-background);
137}
138
139.scrollbutton-down:-moz-locale-dir(ltr),
140.scrollbutton-up:-moz-locale-dir(rtl) {
141 border-right: solid 1px transparent;
142 border-left: solid 1px rgba(255, 255, 255, .1);
143 box-shadow: -3px 0px 3px -3px var(--theme-sidebar-background);
144}
145
146.scrollbutton-up[disabled],
147.scrollbutton-down[disabled] {
148 box-shadow: none;
149 border-color: transparent;
150}
151*/
152
153.scrollbutton-up > .toolbarbutton-icon:-moz-locale-dir(rtl),
154.scrollbutton-down > .toolbarbutton-icon:-moz-locale-dir(ltr) {
155/* transform: scaleX(-1); */
156}
157
158/* The breadcrumb separator elements are used as background images with
159 * -moz-element, so we position them offscreen since we don't care about
160 * seeing the original elements.
161 */
162.breadcrumb-separator-container {
163 position: fixed;
164 top: -1000px;
165 left: -1000px;
166}
167
168#breadcrumb-separator-before,
169#breadcrumb-separator-after,
170#breadcrumb-separator-normal {
171 width: 12px;
172 height: 24px;
173 overflow: hidden;
174}
175
176#breadcrumb-separator-before,
177#breadcrumb-separator-after:after {
178 background: var(--theme-selection-background);
179}
180
181#breadcrumb-separator-after,
182#breadcrumb-separator-before:after {
183 background: var(--theme-toolbar-background);
184}
185
186/* This chevron arrow cannot be replicated easily in CSS, so we are using
187 * a background image for it (still keeping it in a separate element so
188 * we can handle RTL support with a CSS transform).
189 */
190#breadcrumb-separator-normal {
191 background: url("breadcrumbs-divider@2x.png") no-repeat center right;
192 background-size: 12px 24px;
193}
194
195/* Fake a triangle by rotating a rectangle inside the elements */
196#breadcrumb-separator-before:after,
197#breadcrumb-separator-after:after {
198 content: "";
199 display: block;
200 width: 25px;
201 height: 24px;
202 transform: translateX(-18px) rotate(45deg);
203 box-sizing: border-box;
204}
205
206.breadcrumbs-widget-item {
207 background-color: var(--theme-toolbar-background);
208 min-height: 24px;
209 min-width: 65px;
210 margin: 0;
211 padding: 0 8px 0 20px;
212 border: none;
213 border-radius: 0;
214 outline: none;
215 color: var(--theme-content-color1);
216}
217
218.breadcrumbs-widget-item:hover {
219 background-color: var(--theme-hover-background);
220 color: var(--theme-hover-color);
221}
222
223.breadcrumbs-widget-item[checked]:not(:hover) {
224 background-color: var(--theme-selection-background);
225 color: var(--theme-selection-color);
226}
227
228.breadcrumbs-widget-item[siblings-menu-open],
229.breadcrumbs-widget-item:active {
230 background-color: #FF9F00;
231 color: #000000;
232}
233
234.breadcrumbs-widget-item > .button-box {
235 border: none;
236 padding-top: 0;
237 padding-bottom: 0;
238}
239
240.breadcrumbs-widget-item:not([checked]) {
241 background-image: -moz-element(#breadcrumb-separator-normal);
242 background-repeat: no-repeat;
243 background-position: center left;
244}
245
246.breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item {
247 background-image: -moz-element(#breadcrumb-separator-after);
248 background-repeat: no-repeat;
249 background-position: 0 0;
250}
251
252.breadcrumbs-widget-item[checked] {
253 background-image: -moz-element(#breadcrumb-separator-before);
254 background-repeat: no-repeat;
255 background-position: 0 0;
256 background-color: #008484; /* Select Highlight Blue */
257}
258
259.breadcrumbs-widget-item:first-child {
260 background-image: none;
261}
262
263/* RTL support: move the images that were on the left to the right,
264 * and move images that were on the right to the left.
265 */
266.breadcrumbs-widget-item:-moz-locale-dir(rtl) {
267 padding: 0 20px 0 8px;
268}
269
270.breadcrumbs-widget-item:-moz-locale-dir(rtl),
271.breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
272 background-position: center right;
273}
274
275#breadcrumb-separator-before:-moz-locale-dir(rtl),
276#breadcrumb-separator-after:-moz-locale-dir(rtl),
277#breadcrumb-separator-normal:-moz-locale-dir(rtl) {
278 transform: scaleX(-1);
279}
280
281#breadcrumb-separator-before:-moz-locale-dir(rtl):after,
282#breadcrumb-separator-after:-moz-locale-dir(rtl):after {
283 transform: translateX(-5px) rotate(45deg);
284}
285
286.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id,
287.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag,
288.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes,
289.breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes {
290 color: var(--theme-highlight-lightorange);
291}
292
293.breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-id,
294.breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-tag,
295.breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-pseudo-classes,
296.breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-classes {
297 color: var(--theme-hover-color) !important;
298}
299
300.breadcrumbs-widget-item {
301 color: var(--theme-highlight-lightorange);
302}
303
304.breadcrumbs-widget-item-id {
305 color: var(--theme-body-color-alt);
306}
307
308.breadcrumbs-widget-item-classes {
309 color: var(--theme-content-color1);
310}
311
312.breadcrumbs-widget-item-pseudo-classes {
313 color: var(--theme-highlight-lightorange);
314}
315
316/* SimpleListWidget */
317
318.simple-list-widget-container {
319 /* Hack: force hardware acceleration */
320 transform: translateZ(1px);
321}
322
323.simple-list-widget-item.selected {
324 background-color: var(--theme-selection-background);
325 color: var(--theme-selection-color);
326}
327
328.simple-list-widget-item:not(.selected):hover {
329 background-color: var(--theme-hover-background);
330 color: var(--theme-hover-color);
331}
332
333.simple-list-widget-perma-text,
334.simple-list-widget-empty-text {
335 color: var(--theme-body-color-alt);
336 padding: 4px 8px;
337}
338
339/* FastListWidget */
340
341.fast-list-widget-container {
342 /* Hack: force hardware acceleration */
343 transform: translateZ(1px);
344}
345
346/* dark/light theme */
347.fast-list-widget-empty-text {
348 padding: 12px;
349 font-weight: 600;
350 color: var(--theme-body-color-alt);
351}
352
353/* SideMenuWidget */
354
355/* SideMenuWidget container */
356
357.side-menu-widget-container {
358 /* Hack: force hardware acceleration */
359 transform: translateZ(1px);
360}
361
362.side-menu-widget-container:-moz-locale-dir(ltr),
363.side-menu-widget-empty-text:-moz-locale-dir(ltr) {
364}
365
366.side-menu-widget-container:-moz-locale-dir(rtl),
367.side-menu-widget-empty-text:-moz-locale-dir(rtl)[with-arrows=true]:-moz-locale-dir(rtl) {
368}
369
370.side-menu-widget-group {
371 /* To allow visibility of the dark margin shadow. */
372/* -moz-margin-end: 1px; */
373}
374
375.side-menu-widget-container[with-arrows=true] .side-menu-widget-item {
376 /* To compensate for the arrow image's dark margin. */
377/* -moz-margin-end: -1px; */
378}
379
380/* SideMenuWidget groups */
381
382.side-menu-widget-group-title {
383 padding: 4px;
384 background-color: var(--theme-contrastsidebar-background);
385 color: var(--theme-contrastsidebar-color);
386}
387
388/* SideMenuWidget items */
389
390.side-menu-widget-item {
391 border-top: 1px solid #9C9CFF;
392 /* To compensate for the top and bottom borders */
393 margin-top: -1px;
394 margin-bottom: -1px;
395 background-clip: padding-box;
396}
397
398.side-menu-widget-item:last-of-type {
399 border-bottom: 1px solid #9C9CFF;
400}
401
402.side-menu-widget-item.selected {
403 background-color: var(--theme-selection-background);
404 color: var(--theme-selection-color);
405}
406
407.side-menu-widget-item-arrow {
408 -moz-margin-start: -7px;
409 width: 7px; /* The image's width is 7 pixels */
410 /* Cover the border of the side-menu-widget-item */
411 margin-top: -1px;
412 margin-bottom: -1px;
413}
414
415.side-menu-widget-item.selected > .side-menu-widget-item-arrow {
416 background-size: auto, 1px 100%;
417 background-repeat: no-repeat;
418}
419
420.side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
421 background-position: center right;
422}
423
424.side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
425 background-position: center left;
426}
427
428.side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
429 background-image: url("itemArrow-ltr.svg");
430}
431
432.side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
433 background-image: url("itemArrow-rtl.svg");
434}
435
436/* SideMenuWidget items contents */
437
438.side-menu-widget-item-contents {
439 padding: 4px;
440 /* To avoid having content overlapping the arrow image. */
441 -moz-padding-end: 8px;
442}
443
444.side-menu-widget-item-other {
445 /* To avoid having content overlapping the arrow image. */
446 -moz-padding-end: 8px;
447 /* To compensate for the .side-menu-widget-item-contents padding. */
448 -moz-margin-start: -4px;
449 -moz-margin-end: -8px;
450 color: var(--theme-selection-color);
451}
452
453.side-menu-widget-item-other.selected {
454 background-color: var(--theme-selection-background);
455 color: var(--theme-selection-color);
456}
457
458.side-menu-widget-item-other:first-of-type {
459 margin-top: 4px;
460/* border-top-left-radius: 4px; */
461}
462
463.side-menu-widget-item-other:last-of-type {
464 margin-bottom: -4px;
465}
466
467.side-menu-widget-item-other:not(.selected) > label {
468 color: #9C9CFF;
469}
470
471/* SideMenuWidget checkboxes */
472
473.side-menu-widget-group-checkbox {
474 margin: 0;
475 -moz-margin-end: 4px;
476}
477
478.side-menu-widget-item-checkbox {
479 margin: 0;
480 -moz-margin-start: 4px;
481 -moz-margin-end: -4px;
482}
483
484/* SideMenuWidget misc */
485
486.theme-dark .side-menu-widget-container,
487.theme-dark .side-menu-widget-empty-text {
488 background-color: var(--theme-toolbar-background);
489}
490
491.side-menu-widget-empty-text {
492 padding: 12px;
493}
494
495/* VariablesView */
496
497.variables-view-container:not([empty]) {
498 /* Hack: force hardware acceleration */
499 transform: translateZ(1px);
500}
501
502.variables-view-empty-notice {
503 color: var(--theme-body-color-alt);
504 padding: 2px;
505}
506
507.variables-view-scope:focus > .title,
508.theme-dark .variable-or-property:focus > .title {
509 background-color: var(--theme-selection-background);
510 color: var(--theme-selection-color);
511}
512
513.variables-view-scope > .title {
514 background-color: #A09090;
515 color: #000000;
516}
517
518/* Generic variables traits */
519
520.variables-view-variable:not(:last-child) {
521 border-bottom: 1px solid #A09090;
522}
523
524.variables-view-variable > .title > .name {
525 font-weight: 600;
526}
527
528/* Generic variables *and* properties traits */
529
530.variable-or-property:focus > .title > label {
531 color: inherit !important;
532}
533
534.variables-view-container .theme-twisty {
535 margin: 2px;
536}
537
538.variable-or-property > .title > .theme-twisty {
539 -moz-margin-start: 5px;
540}
541
542.variable-or-property:not([untitled]) > .variables-view-element-details {
543 -moz-margin-start: 7px;
544}
545
546/* Traits applied when variables or properties are changed or overridden */
547
548.variable-or-property:not([overridden]) {
549 transition: background 1s ease-in-out, color 1s ease-in-out;
550}
551
552.variable-or-property:not([overridden])[changed] {
553 color: #000000;
554 transition-duration: .4s;
555}
556
557.variable-or-property[overridden] {
558 background: rgba(160,144,144,0.0.5);
559}
560
561.variable-or-property[overridden] .title > label {
562 /* Cross out the title for this variable and all child properties. */
563 font-style: italic;
564 text-decoration: line-through;
565 border-bottom: none !important;
566 color: #A09090;
567 opacity: 0.7;
568}
569
570/* Traits applied when variables or properties are editable */
571
572.variable-or-property[editable] > .title > .value {
573 cursor: text;
574}
575
576.variable-or-property[overridden] .title > .value {
577 /* Disallow editing this variable and all child properties. */
578 pointer-events: none;
579}
580
581/* Custom configurable/enumerable/writable or frozen/sealed/extensible
582 * variables and properties */
583
584.variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name {
585 opacity: 0.6;
586}
587
588.variable-or-property-non-writable-icon {
589 background: url("chrome://browser/skin/devtools/vview-lock.png") no-repeat;
590 background-size: cover;
591 width: 16px;
592 height: 16px;
593 opacity: 0.5;
594}
595
596@media (min-resolution: 1.25dppx) {
597 .variable-or-property-non-writable-icon > .title:after {
598 background-image: url("chrome://browser/skin/devtools/vview-lock@2x.png");
599 }
600}
601
602.variable-or-property-frozen-label,
603.variable-or-property-sealed-label,
604.variable-or-property-non-extensible-label {
605 height: 16px;
606 -moz-padding-end: 4px;
607}
608
609.variable-or-property:not(:focus) > .title > .variable-or-property-frozen-label,
610.variable-or-property:not(:focus) > .title > .variable-or-property-sealed-label,
611.variable-or-property:not(:focus) > .title > .variable-or-property-non-extensible-label {
612 color: #A09090;
613}
614
615/* Aligned values */
616
617.variables-view-container[aligned-values] .title > .separator {
618 -moz-box-flex: 1;
619}
620
621.variables-view-container[aligned-values] .title > .value {
622 -moz-box-flex: 0;
623 width: 70vw;
624}
625
626.variables-view-container[aligned-values] .title > .element-value-input {
627 width: calc(70vw - 10px);
628}
629
630/* Actions first */
631
632.variables-view-open-inspector {
633 -moz-box-ordinal-group: 1;
634}
635
636.variables-view-edit,
637.variables-view-add-property {
638 -moz-box-ordinal-group: 2;
639}
640
641.variable-or-property-frozen-label,
642.variable-or-property-sealed-label,
643.variable-or-property-non-extensible-label,
644.variable-or-property-non-writable-icon {
645 -moz-box-ordinal-group: 3;
646}
647
648.variables-view-delete {
649 -moz-box-ordinal-group: 4;
650}
651
652.variables-view-container[actions-first] .variables-view-delete,
653.variables-view-container[actions-first] .variables-view-add-property,
654.variables-view-container[actions-first] .variables-view-open-inspector {
655 -moz-box-ordinal-group: 0;
656}
657
658.variables-view-container[actions-first] [invisible] {
659 visibility: hidden;
660}
661
662/* Variables and properties tooltips */
663
664.variable-or-property > tooltip > label {
665 margin: 0 2px 0 2px;
666}
667
668.variable-or-property[non-enumerable] > tooltip > label.enumerable,
669.variable-or-property[non-configurable] > tooltip > label.configurable,
670.variable-or-property[non-writable] > tooltip > label.writable
671.variable-or-property[non-extensible] > tooltip > label.extensible {
672 color: #A09090;
673 text-decoration: line-through;
674}
675
676.variable-or-property[overridden] > tooltip > label.overridden {
677 -moz-padding-start: 4px;
678 -moz-border-start: 1px dotted #9C9CFF;
679}
680
681.variable-or-property[safe-getter] > tooltip > label.WebIDL {
682 -moz-padding-start: 4px;
683 -moz-border-start: 1px dotted #9C9CFF;
684 color: #008484;
685}
686
687/* Variables and properties editing */
688
689.variables-view-delete {
690 background: url("chrome://browser/skin/devtools/vview-delete.png");
691 background-size: cover;
692 width: 16px;
693 height: 16px;
694}
695
696@media (min-resolution: 1.25dppx) {
697 .variables-view-delete {
698 background-image: url("chrome://browser/skin/devtools/vview-delete@2x.png");
699 }
700}
701
702.variables-view-delete:hover {
703 background-position: 32px;
704}
705
706.variables-view-delete:active {
707 background-position: 16px;
708}
709
710.variable-or-property:focus > .title > .variables-view-delete {
711/* background-position: 0px; */
712}
713
714.variables-view-edit {
715 background: url("chrome://browser/skin/devtools/vview-edit.png");
716 background-size: cover;
717 width: 16px;
718 height: 16px;
719 cursor: pointer;
720}
721
722@media (min-resolution: 1.25dppx) {
723 .variables-view-edit {
724 background-image: url("chrome://browser/skin/devtools/vview-edit@2x.png");
725 }
726}
727
728.variables-view-edit:hover {
729 background-position: 32px;
730}
731
732.variables-view-edit:active {
733 background-position: 16px;
734}
735
736.variable-or-property:focus > .title > .variables-view-edit {
737/* background-position: 0px; */
738}
739
740.variables-view-open-inspector {
741 background: url("chrome://browser/skin/devtools/vview-open-inspector.png");
742 background-size: cover;
743 width: 16px;
744 height: 16px;
745 cursor: pointer;
746}
747
748.variables-view-open-inspector:hover {
749 background-position: 32px;
750}
751
752.variables-view-open-inspector:active {
753 background-position: 16px;
754}
755
756.variable-or-property:focus > .title > .variables-view-open-inspector {
757/* background-position: 0px; */
758}
759
760/* Variables and properties input boxes */
761
762.variable-or-property > .title > .separator + .element-value-input {
763 -moz-margin-start: -2px !important;
764 -moz-margin-end: 2px !important;
765}
766
767.variable-or-property > .title > .separator[hidden=true] + .element-value-input {
768 -moz-margin-start: 4px !important;
769 -moz-margin-end: 2px !important;
770}
771
772.element-name-input {
773 -moz-margin-start: -2px !important;
774 -moz-margin-end: 2px !important;
775 font-weight: 600;
776}
777
778.element-value-input,
779.element-name-input {
780 border: 1px solid #008484 !important;
781 color: inherit;
782}
783
784/* Variables and properties searching */
785
786.variable-or-property[unmatched] {
787 border: none;
788 margin: 0;
789}
790
791/* Canvas graphs */
792
793.graph-widget-container {
794 position: relative;
795}
796
797.graph-widget-canvas {
798 width: 100%;
799 height: 100%;
800}
801
802.graph-widget-canvas[input=hovering-background] {
803 cursor: text;
804}
805
806.graph-widget-canvas[input=hovering-region] {
807 cursor: pointer;
808}
809
810.graph-widget-canvas[input=hovering-selection-start-boundary],
811.graph-widget-canvas[input=hovering-selection-end-boundary],
812.graph-widget-canvas[input=adjusting-selection-boundary] {
813 cursor: col-resize;
814}
815
816.graph-widget-canvas[input=adjusting-view-area] {
817 cursor: grabbing;
818}
819
820.graph-widget-canvas[input=hovering-selection-contents] {
821 cursor: grab;
822}
823
824.graph-widget-canvas[input=dragging-selection-contents] {
825 cursor: grabbing;
826}
827
828/* Line graph widget */
829
830.line-graph-widget-gutter {
831 position: absolute;
832 width: 10px;
833 height: 100%;
834 top: 0;
835 left: 0;
836 pointer-events: none;
837
838 background: #000000;
839 -moz-border-end: 1px solid #9C9CFF;
840}
841
842.line-graph-widget-gutter-line {
843 position: absolute;
844 width: 100%;
845 border-top: 1px solid;
846}
847
848.line-graph-widget-gutter-line[type=maximum] {
849 border-color: #008484;
850}
851
852.line-graph-widget-gutter-line[type=minimum] {
853 border-color: #FF0000;
854}
855
856.line-graph-widget-gutter-line[type=average] {
857 border-color: #FF9F00;
858}
859
860.line-graph-widget-tooltip {
861 position: absolute;
862 border-radius: 2px;
863 line-height: 15px;
864 -moz-padding-start: 6px;
865 -moz-padding-end: 6px;
866 transform: translateY(-50%);
867 font-size: 0.8rem !important;
868 z-index: 1;
869 pointer-events: none;
870
871 background: #404000;
872}
873
874.line-graph-widget-tooltip[with-arrows=true]::before {
875 content: "";
876 position: absolute;
877 border-top: 3px solid transparent;
878 border-bottom: 3px solid transparent;
879 top: calc(50% - 3px);
880}
881
882.line-graph-widget-tooltip[arrow=start][with-arrows=true]::before {
883 -moz-border-end: 3px solid #9C9CFF;
884 left: -3px;
885}
886
887.line-graph-widget-tooltip[arrow=end][with-arrows=true]::before {
888 -moz-border-start: 3px solid #9C9CFF;
889 right: -3px;
890}
891
892.line-graph-widget-tooltip[type=maximum] {
893 left: 14px;
894}
895
896.line-graph-widget-tooltip[type=minimum] {
897 left: 14px;
898}
899
900.line-graph-widget-tooltip[type=average] {
901 right: 4px;
902}
903
904.line-graph-widget-tooltip > [text=info] {
905 color: var(--theme-content-color2);
906}
907
908.line-graph-widget-tooltip > [text=value] {
909 -moz-margin-start: 3px;
910}
911
912.line-graph-widget-tooltip > [text=metric] {
913 -moz-margin-start: 1px;
914 color: var(--theme-content-color4);
915}
916
917.line-graph-widget-tooltip > [text=value],
918.line-graph-widget-tooltip > [text=metric] {
919/* text-shadow: 1px 0px rgba(255,255,255,0.6),
920 -1px 0px rgba(255,255,255,0.6),
921 0px -1px rgba(255,255,255,0.6),
922 0px 1px rgba(255,255,255,0.6);*/
923}
924
925.line-graph-widget-tooltip[type=maximum] > [text=value] {
926 color: var(--theme-highlight-green);
927}
928
929.line-graph-widget-tooltip[type=minimum] > [text=value] {
930 color: var(--theme-highlight-red);
931}
932
933.line-graph-widget-tooltip[type=average] > [text=value] {
934 color: var(--theme-highlight-orange);
935}
936
937/* Bar graph widget */
938
939.bar-graph-widget-legend {
940 position: absolute;
941 top: 4px;
942 left: 8px;
943 color: #A09090;
944 font-size: 0.8rem !important;
945 pointer-events: none;
946}
947
948.bar-graph-widget-legend-item {
949 float: left;
950 -moz-margin-end: 8px;
951}
952
953.bar-graph-widget-legend-item > [view="color"],
954.bar-graph-widget-legend-item > [view="label"] {
955 vertical-align: middle;
956}
957
958.bar-graph-widget-legend-item > [view="color"] {
959 display: inline-block;
960 width: 8px;
961 height: 8px;
962 border: 1px solid #9C9CFF;
963 border-radius: 1px;
964 -moz-margin-end: 4px;
965 pointer-events: none;
966}
967
968.bar-graph-widget-legend-item > [view="label"] {
969/* text-shadow: 1px 0px rgba(255,255,255,0.8),
970 -1px 0px rgba(255,255,255,0.8),
971 0px -1px rgba(255,255,255,0.8),
972 0px 1px rgba(255,255,255,0.8);*/
973}
974
975/* Charts */
976
977.generic-chart-container {
978 /* Hack: force hardware acceleration */
979 transform: translateZ(1px);
980}
981
982.generic-chart-container {
983 color: var(--theme-body-color-alt);
984}
985
986.chart-colored-blob {
987 fill: var(--theme-highlight-blue);
988 background: var(--theme-highlight-blue);
989}
990
991/* Charts: Pie */
992
993.pie-chart-slice {
994 stroke-width: 1px;
995 cursor: pointer;
996}
997
998.pie-chart-slice {
999 stroke: #A09090;
1000}
1001
1002.pie-chart-slice[largest] {
1003 stroke-width: 2px;
1004 stroke: #9C9CFF;
1005}
1006
1007.pie-chart-label {
1008 text-anchor: middle;
1009 dominant-baseline: middle;
1010 pointer-events: none;
1011}
1012
1013.pie-chart-label {
1014 fill: #000;
1015}
1016
1017.pie-chart-container[slices="1"] > .pie-chart-slice {
1018 stroke-width: 0px;
1019}
1020
1021.pie-chart-slice,
1022.pie-chart-label {
1023 transition: all 0.1s ease-out;
1024}
1025
1026.pie-chart-slice:not(:hover):not([focused]),
1027.pie-chart-slice:not(:hover):not([focused]) + .pie-chart-label {
1028 transform: none !important;
1029}
1030
1031/* Charts: Table */
1032
1033.table-chart-title {
1034 padding-bottom: 10px;
1035 font-size: 120%;
1036 font-weight: 600;
1037}
1038
1039.table-chart-row {
1040 margin-top: 1px;
1041 cursor: pointer;
1042}
1043
1044.table-chart-grid:hover > .table-chart-row {
1045 transition: opacity 0.1s ease-in-out;
1046}
1047
1048.table-chart-grid:not(:hover) > .table-chart-row {
1049 transition: opacity 0.2s ease-in-out;
1050}
1051
1052.generic-chart-container:hover > .table-chart-grid:hover > .table-chart-row:not(:hover),
1053.generic-chart-container:hover ~ .table-chart-container > .table-chart-grid > .table-chart-row:not([focused]) {
1054 opacity: 0.4;
1055}
1056
1057.table-chart-row-box {
1058 width: 8px;
1059 height: 1.5em;
1060 -moz-margin-end: 10px;
1061}
1062
1063.table-chart-row-label {
1064 width: 8em;
1065 -moz-padding-end: 6px;
1066 cursor: inherit;
1067}
1068
1069.table-chart-totals {
1070 margin-top: 8px;
1071 padding-top: 6px;
1072}
1073
1074.table-chart-totals {
1075 border-top: 1px solid var(--theme-body-color-alt); /* Grey foreground text */
1076}
1077
1078.table-chart-summary-label {
1079 font-weight: 600;
1080 padding: 1px 0px;
1081}
1082
1083.table-chart-summary-label {
1084 color: var(--theme-content-color2);
1085}
1086
1087/* Table Widget */
1088
1089/* Table body */
1090
1091.table-widget-body > .devtools-side-splitter {
1092 border: none;
1093}
1094
1095.table-widget-body {
1096 overflow: auto;
1097}
1098
1099table-widget-body,
1100.table-widget-empty-text {
1101 background-color: var(--theme-body-background);
1102}
1103
1104/* Column Headers */
1105
1106.table-widget-column-header,
1107.table-widget-cell {
1108 -moz-border-end: 1px solid var(--table-splitter-color) !important;
1109}
1110
1111/* Table widget column header colors are taken from netmonitor.inc.css to match
1112 the look of both the tables. This needs to be updated along with netmonitor
1113 header colors in bug 951714 */
1114
1115.table-widget-column-header {
1116 background: rgba(0,0,0,0);
1117 position: sticky;
1118 top: 0;
1119 width: 100%;
1120 padding: 5px 0 0 !important;
1121 color: inherit;
1122 text-align: center;
1123 font-weight: inherit !important;
1124 transition: background-color 0.1s ease-in-out;
1125}
1126
1127.table-widget-column-header:hover {
1128 background: var(--theme-hover-background);
1129}
1130
1131.table-widget-column-header:hover:active {
1132 background: var(--theme-active-background);
1133}
1134
1135.table-widget-column-header:not(:active)[sorted] {
1136 background: var(--theme-selection-background);
1137}
1138
1139.table-widget-column-header:not(:active)[sorted=ascending] {
1140 background-image: radial-gradient(farthest-side at center top, hsla(0,0%,0%,.7), hsla(0,0%,0%,0.3));
1141 background-size: 100% 1px;
1142 background-repeat: no-repeat;
1143}
1144
1145.table-widget-column-header:not(:active)[sorted=descending] {
1146 background-image: radial-gradient(farthest-side at center bottom, hsla(0,0%,0%,.7), hsla(0,0%,0%,0.3));
1147 background-size: 100% 1px;
1148 background-repeat: no-repeat;
1149 background-position: bottom;
1150}
1151
1152/* Cells */
1153
1154.table-widget-cell {
1155 width: 100%;
1156 padding: 3px 4px;
1157 background-clip: padding-box;
1158 min-width: 100px;
1159 -moz-user-focus: normal;
1160
1161 margin-bottom: -1px !important;
1162 border-bottom: 1px solid transparent;
1163 color: var(--theme-body-color);
1164}
1165
1166.table-widget-cell:last-child {
1167 border-bottom: 1px solid var(--table-splitter-color);
1168}
1169
1170:root:not(.filtering) .table-widget-cell:nth-child(odd):not(.theme-selected),
1171.table-widget-cell:not(.theme-selected)[odd] {
1172 background: var(--table-zebra-background);
1173}
1174
1175.table-widget-cell.flash-out {
1176 animation: flash-out 0.5s ease-in;
1177}
1178
1179@keyframes flash-out {
1180 to {
1181 background: var(--theme-contrast-background2);
1182 }
1183}
1184
1185/* Empty text and initial text */
1186
1187.table-widget-empty-text {
1188 display: none;
1189 text-align: center;
1190 font-size: large;
1191 margin-top: -20px !important;
1192}
1193
1194.table-widget-body:empty + .table-widget-empty-text:not([value=""]),
1195.table-widget-body[empty] + .table-widget-empty-text:not([value=""]) {
1196 display: block;
1197}
1198
1199/* Tree Widget */
1200
1201.tree-widget-container {
1202 padding: 0;
1203 margin: 0;
1204 width: 100%;
1205 height: 100%;
1206 list-style: none;
1207 overflow: hidden;
1208 -moz-margin-end: 40px;
1209}
1210
1211.tree-widget-container:-moz-focusring,
1212.tree-widget-container *:-moz-focusring {
1213 outline-style: none;
1214}
1215
1216.tree-widget-empty-text {
1217 padding: 10px 20px;
1218 font-size: medium;
1219 background: transparent;
1220 pointer-events: none;
1221}
1222
1223/* Tree Item */
1224
1225.tree-widget-container .tree-widget-item {
1226 padding: 2px 0px 4px;
1227 /* OSX has line-height 14px by default, which causes weird alignment issues
1228 * because of 20px high icons. thus making line-height consistent with that of
1229 * windows.
1230 */
1231 line-height: 17px !important;
1232 display: inline-block;
1233 width: 100%;
1234 word-break: keep-all; /* To prevent long urls like http://foo.com/bar from
1235 breaking in multiple lines */
1236}
1237
1238.tree-widget-container .tree-widget-children {
1239 margin: 0;
1240 padding: 0;
1241 list-style: none;
1242}
1243
1244.tree-widget-item[level="1"] {
1245 font-weight: 700;
1246}
1247
1248/* Twisties */
1249.tree-widget-item::before {
1250 content: "";
1251 width: 14px;
1252 height: 14px;
1253 float: left;
1254 margin: 3px 2px -3px;
1255 background-repeat: no-repeat;
1256 background-image: url("chrome://browser/skin/devtools/controls.png");
1257 background-size: 56px 28px;
1258 cursor: pointer;
1259 background-position: -28px -14px;
1260}
1261
1262.tree-widget-item:-moz-locale-dir(rtl)::before {
1263 float: right;
1264 transform: scaleX(-1);
1265}
1266
1267.tree-widget-item[empty]::before {
1268 background: transparent;
1269}
1270
1271.tree-widget-item[expanded]::before {
1272 background-position: -42px -14px;
1273}
1274
1275.tree-widget-item + ul {
1276 overflow: hidden;
1277 animation: collapse-tree-item 0.2s;
1278 max-height: 0;
1279}
1280
1281.tree-widget-item[expanded] + ul {
1282 animation: expand-tree-item 0.3s;
1283 max-height: unset;
1284}
1285
1286@keyframes collapse-tree-item {
1287 from {
1288 max-height: 300px;
1289 }
1290 to {
1291 max-height: 0;
1292 }
1293}
1294
1295@keyframes expand-tree-item {
1296 from {
1297 max-height: 0;
1298 }
1299 to {
1300 max-height: 500px;
1301 }
1302}
1303
1304@media (min-resolution: 1.25dppx) {
1305 .tree-widget-item:before {
1306 background-image: url("chrome://browser/skin/devtools/controls@2x.png");
1307 }
1308}
1309
1310/* Indentation of child items in the tree */
1311
1312/* For level > 6 */
1313.tree-widget-item[level] + ul > li > .tree-widget-item {
1314 -moz-padding-start: 98px;
1315}
1316
1317/* First level */
1318.tree-widget-item[level="1"] + ul > li > .tree-widget-item {
1319 -moz-padding-start: 14px;
1320}
1321
1322/* Second level */
1323.tree-widget-item[level="2"] + ul > li > .tree-widget-item {
1324 -moz-padding-start: 28px;
1325}
1326
1327/* Third level */
1328.tree-widget-item[level="3"] + ul > li > .tree-widget-item {
1329 -moz-padding-start: 42px;
1330}
1331
1332/* Fourth level */
1333.tree-widget-item[level="4"] + ul > li > .tree-widget-item {
1334 -moz-padding-start: 56px;
1335}
1336
1337/* Fifth level */
1338.tree-widget-item[level="5"] + ul > li > .tree-widget-item {
1339 -moz-padding-start: 70px;
1340}
1341
1342/* Sixth level */
1343.tree-widget-item[level="6"] + ul > li > .tree-widget-item {
1344 -moz-padding-start: 84px;
1345}
1346
1347/* Custom icons for certain tree items indicating the type of the item */
1348
1349.tree-widget-item[type]::after {
1350 content: "";
1351 float: left;
1352 width: 16px;
1353 height: 17px;
1354 -moz-margin-end: 4px;
1355 background-repeat: no-repeat;
1356 background-size: 20px auto;
1357 background-position: 0 0;
1358 background-size: auto 20px;
1359 opacity: 0.75;
1360}
1361
1362.tree-widget-item.theme-selected[type]::after {
1363 opacity: 1;
1364}
1365
1366.tree-widget-item:-moz-locale-dir(rtl)::after {
1367 float: right;
1368}
1369
1370/*.theme-light .tree-widget-item.theme-selected[type]::after,*/
1371.tree-widget-item[type]::after {
1372 filter: invert(1);
1373}
1374
1375.tree-widget-item[type="dir"]::after {
1376 background-image: url("chrome://browser/skin/devtools/filetype-dir-close.svg");
1377 background-position: 2px 0;
1378 background-size: auto 16px;
1379 width: 20px;
1380}
1381
1382.tree-widget-item[type="dir"][expanded]:not([empty])::after {
1383 background-image: url("chrome://browser/skin/devtools/filetype-dir-open.svg");
1384}
1385
1386.tree-widget-item[type="url"]::after {
1387 background-image: url("chrome://browser/skin/devtools/filetype-globe.svg");
1388 background-size: auto 18px;
1389 width: 18px;
1390}
1391
1392/* === BEGIN manifest-editor.inc.css === */
1393
1394/* Manifest Editor overrides */
1395
1396.variables-view-container.manifest-editor {
1397 background-color: #000000;
1398 padding: 20px 2px;
1399}
1400
1401.manifest-editor .variable-or-property:focus > .title {
1402/* background-color: #EDEDED;
1403 color: #000; */
1404 border-radius: 4px;
1405}
1406
1407.manifest-editor .variables-view-property > .title > .name {
1408/* color: #27406A; */
1409}
1410
1411.manifest-editor .variable-or-property > .title > label,
1412.manifest-editor textbox {
1413 font-family: monospace;
1414}
1415
1416.manifest-editor .variable-or-property > .title > .token-string {
1417/* color: #54BC6A; */
1418 font-weight: bold;
1419}
1420
1421.manifest-editor .variable-or-property > .title > .token-boolean,
1422.manifest-editor .variable-or-property > .title > .token-number {
1423/* color: #009BD4; */
1424 font-weight: bold;
1425}
1426
1427.manifest-editor .variable-or-property > .title > .token-undefined {
1428/* color: #bbb; */
1429}
1430
1431.manifest-editor .variable-or-property > .title > .token-null {
1432/* color: #999; */
1433}
1434
1435.manifest-editor .variable-or-property > .title > .token-other {
1436/* color: #333; */
1437}
1438
1439.manifest-editor .variables-view-variable {
1440 border-bottom: none;
1441}
1442
1443.manifest-editor .variables-view-delete,
1444.manifest-editor .variables-view-delete:hover,
1445.manifest-editor .variables-view-delete:active,
1446.manifest-editor .variable-or-property:focus .variables-view-delete,
1447.manifest-editor .variables-view-add-property,
1448.manifest-editor .variables-view-add-property:hover,
1449.manifest-editor .variables-view-add-property:active,
1450.manifest-editor .variable-or-property:focus .variables-view-add-property {
1451 list-style-image: none;
1452 -moz-image-region: initial;
1453}
1454
1455.manifest-editor .variables-view-delete::before,
1456.manifest-editor .variables-view-add-property::before {
1457 width: 11px;
1458 height: 11px;
1459 content: "";
1460 display: inline-block;
1461 background-size: 11px auto;
1462}
1463
1464.manifest-editor .variables-view-delete::before {
1465 background-image: url("app-manager/remove.svg");
1466 background-size: 12px auto;
1467}
1468
1469.manifest-editor .variables-view-add-property::before {
1470 background-image: url("app-manager/add.svg");
1471 -moz-margin-end: 2px;
1472}
1473
1474/* === END manifest-editor.inc.css === */
1475
1476/* === END widgets.inc.css === */