first part of syncing LCARStrek with Firefox 45-48 devtools theme changes
[themes.git] / LCARStrek / 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.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://devtools/skin/images/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.1dppx) {
597 .variable-or-property-non-writable-icon > .title:after {
598 background-image: url("chrome://devtools/skin/images/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.variables-view-delete,
689.variables-view-edit,
690.variables-view-open-inspector {
691 width: 16px;
692 height: 16px;
693 background-size: cover;
694 cursor: pointer;
695}
696
697.variables-view-delete:hover,
698.variables-view-edit:hover,
699.variables-view-open-inspector:hover {
700 filter: url(images/filters.svg#checked-icon-state);
701}
702
703.variables-view-delete:active,
704.variables-view-edit:active,
705.variables-view-open-inspector:active {
706 filter: url(images/filters.svg#checked-icon-state);
707}
708
709.variable-or-property:focus > .title > .variables-view-delete,
710.variable-or-property:focus > .title > .variables-view-edit,
711.variable-or-property:focus > .title > .variables-view-open-inspector {
712 filter: none;
713}
714
715.variables-view-delete {
716 background-image: url("chrome://devtools/skin/images/vview-delete.png");
717}
718
719@media (min-resolution: 1.1dppx) {
720 .variables-view-delete {
721 background-image: url("chrome://devtools/skin/images/vview-delete@2x.png");
722 }
723}
724
725.variables-view-edit {
726 background-image: url("chrome://devtools/skin/images/vview-edit.png");
727}
728
729@media (min-resolution: 1.1dppx) {
730 .variables-view-edit {
731 background-image: url("chrome://devtools/skin/images/vview-edit@2x.png");
732 }
733}
734
735.variables-view-open-inspector {
736 background-image: url("chrome://devtools/skin/images/vview-open-inspector.png");
737}
738
739/* Variables and properties input boxes */
740
741.variable-or-property > .title > .separator + .element-value-input {
742 -moz-margin-start: -2px !important;
743 -moz-margin-end: 2px !important;
744}
745
746.variable-or-property > .title > .separator[hidden=true] + .element-value-input {
747 -moz-margin-start: 4px !important;
748 -moz-margin-end: 2px !important;
749}
750
751.element-name-input {
752 -moz-margin-start: -2px !important;
753 -moz-margin-end: 2px !important;
754 font-weight: 600;
755}
756
757.element-value-input,
758.element-name-input {
759 border: 1px solid #008484 !important;
760 color: inherit;
761}
762
763/* Variables and properties searching */
764
765.variable-or-property[unmatched] {
766 border: none;
767 margin: 0;
768}
769
770/* Canvas graphs */
771
772.graph-widget-container {
773 position: relative;
774}
775
776.graph-widget-canvas {
777 width: 100%;
778 height: 100%;
779}
780
781.graph-widget-canvas[input=hovering-background] {
782 cursor: text;
783}
784
785.graph-widget-canvas[input=hovering-region] {
786 cursor: pointer;
787}
788
789.graph-widget-canvas[input=hovering-selection-start-boundary],
790.graph-widget-canvas[input=hovering-selection-end-boundary],
791.graph-widget-canvas[input=adjusting-selection-boundary] {
792 cursor: col-resize;
793}
794
795.graph-widget-canvas[input=adjusting-view-area] {
796 cursor: grabbing;
797}
798
799.graph-widget-canvas[input=hovering-selection-contents] {
800 cursor: grab;
801}
802
803.graph-widget-canvas[input=dragging-selection-contents] {
804 cursor: grabbing;
805}
806
807/* Line graph widget */
808
809.line-graph-widget-gutter {
810 position: absolute;
811 width: 10px;
812 height: 100%;
813 top: 0;
814 left: 0;
815 pointer-events: none;
816
817 background: #000000;
818 -moz-border-end: 1px solid #9C9CFF;
819}
820
821.line-graph-widget-gutter-line {
822 position: absolute;
823 width: 100%;
824 border-top: 1px solid;
825}
826
827.line-graph-widget-gutter-line[type=maximum] {
828 border-color: #008484;
829}
830
831.line-graph-widget-gutter-line[type=minimum] {
832 border-color: #FF0000;
833}
834
835.line-graph-widget-gutter-line[type=average] {
836 border-color: #FF9F00;
837}
838
839.line-graph-widget-tooltip {
840 position: absolute;
841 border-radius: 2px;
842 line-height: 15px;
843 -moz-padding-start: 6px;
844 -moz-padding-end: 6px;
845 transform: translateY(-50%);
846 font-size: 0.8rem !important;
847 z-index: 1;
848 pointer-events: none;
849
850 background: #404000;
851}
852
853.line-graph-widget-tooltip[with-arrows=true]::before {
854 content: "";
855 position: absolute;
856 border-top: 3px solid transparent;
857 border-bottom: 3px solid transparent;
858 top: calc(50% - 3px);
859}
860
861.line-graph-widget-tooltip[arrow=start][with-arrows=true]::before {
862 -moz-border-end: 3px solid #9C9CFF;
863 left: -3px;
864}
865
866.line-graph-widget-tooltip[arrow=end][with-arrows=true]::before {
867 -moz-border-start: 3px solid #9C9CFF;
868 right: -3px;
869}
870
871.line-graph-widget-tooltip[type=maximum] {
872 left: 14px;
873}
874
875.line-graph-widget-tooltip[type=minimum] {
876 left: 14px;
877}
878
879.line-graph-widget-tooltip[type=average] {
880 right: 4px;
881}
882
883.line-graph-widget-tooltip > [text=info] {
884 color: var(--theme-content-color2);
885}
886
887.line-graph-widget-tooltip > [text=value] {
888 -moz-margin-start: 3px;
889}
890
891.line-graph-widget-tooltip > [text=metric] {
892 -moz-margin-start: 1px;
893 color: var(--theme-content-color4);
894}
895
896.line-graph-widget-tooltip > [text=value],
897.line-graph-widget-tooltip > [text=metric] {
898/* text-shadow: 1px 0px rgba(255,255,255,0.6),
899 -1px 0px rgba(255,255,255,0.6),
900 0px -1px rgba(255,255,255,0.6),
901 0px 1px rgba(255,255,255,0.6);*/
902}
903
904.line-graph-widget-tooltip[type=maximum] > [text=value] {
905 color: var(--theme-highlight-green);
906}
907
908.line-graph-widget-tooltip[type=minimum] > [text=value] {
909 color: var(--theme-highlight-red);
910}
911
912.line-graph-widget-tooltip[type=average] > [text=value] {
913 color: var(--theme-highlight-orange);
914}
915
916/* Bar graph widget */
917
918.bar-graph-widget-legend {
919 position: absolute;
920 top: 4px;
921 left: 8px;
922 color: #A09090;
923 font-size: 0.8rem !important;
924 pointer-events: none;
925}
926
927.bar-graph-widget-legend-item {
928 float: left;
929 -moz-margin-end: 8px;
930}
931
932.bar-graph-widget-legend-item > [view="color"],
933.bar-graph-widget-legend-item > [view="label"] {
934 vertical-align: middle;
935}
936
937.bar-graph-widget-legend-item > [view="color"] {
938 display: inline-block;
939 width: 8px;
940 height: 8px;
941 border: 1px solid #9C9CFF;
942 border-radius: 1px;
943 -moz-margin-end: 4px;
944 pointer-events: none;
945}
946
947.bar-graph-widget-legend-item > [view="label"] {
948/* text-shadow: 1px 0px rgba(255,255,255,0.8),
949 -1px 0px rgba(255,255,255,0.8),
950 0px -1px rgba(255,255,255,0.8),
951 0px 1px rgba(255,255,255,0.8);*/
952}
953
954/* Charts */
955
956.generic-chart-container {
957 /* Hack: force hardware acceleration */
958 transform: translateZ(1px);
959}
960
961.generic-chart-container {
962 color: var(--theme-body-color-alt);
963}
964
965.chart-colored-blob {
966 fill: var(--theme-highlight-blue);
967 background: var(--theme-highlight-blue);
968}
969
970/* Charts: Pie */
971
972.pie-chart-slice {
973 stroke-width: 1px;
974 cursor: pointer;
975}
976
977.pie-chart-slice {
978 stroke: #A09090;
979}
980
981.pie-chart-slice[largest] {
982 stroke-width: 2px;
983 stroke: #9C9CFF;
984}
985
986.pie-chart-label {
987 text-anchor: middle;
988 dominant-baseline: middle;
989 pointer-events: none;
990}
991
992.pie-chart-label {
993 fill: #000;
994}
995
996.pie-chart-container[slices="1"] > .pie-chart-slice {
997 stroke-width: 0px;
998}
999
1000.pie-chart-slice,
1001.pie-chart-label {
1002 transition: all 0.1s ease-out;
1003}
1004
1005.pie-chart-slice:not(:hover):not([focused]),
1006.pie-chart-slice:not(:hover):not([focused]) + .pie-chart-label {
1007 transform: none !important;
1008}
1009
1010/* Charts: Table */
1011
1012.table-chart-title {
1013 padding-bottom: 10px;
1014 font-size: 120%;
1015 font-weight: 600;
1016}
1017
1018.table-chart-row {
1019 margin-top: 1px;
1020 cursor: pointer;
1021}
1022
1023.table-chart-grid:hover > .table-chart-row {
1024 transition: opacity 0.1s ease-in-out;
1025}
1026
1027.table-chart-grid:not(:hover) > .table-chart-row {
1028 transition: opacity 0.2s ease-in-out;
1029}
1030
1031.generic-chart-container:hover > .table-chart-grid:hover > .table-chart-row:not(:hover),
1032.generic-chart-container:hover ~ .table-chart-container > .table-chart-grid > .table-chart-row:not([focused]) {
1033 opacity: 0.4;
1034}
1035
1036.table-chart-row-box {
1037 width: 8px;
1038 height: 1.5em;
1039 -moz-margin-end: 10px;
1040}
1041
1042.table-chart-row-label {
1043 width: 8em;
1044 -moz-padding-end: 6px;
1045 cursor: inherit;
1046}
1047
1048.table-chart-totals {
1049 margin-top: 8px;
1050 padding-top: 6px;
1051}
1052
1053.table-chart-totals {
1054 border-top: 1px solid var(--theme-body-color-alt); /* Grey foreground text */
1055}
1056
1057.table-chart-summary-label {
1058 font-weight: 600;
1059 padding: 1px 0px;
1060}
1061
1062.table-chart-summary-label {
1063 color: var(--theme-content-color2);
1064}
1065
1066/* Table Widget */
1067
1068/* Table body */
1069
1070.table-widget-body > .devtools-side-splitter {
1071 border: none;
1072}
1073
1074.table-widget-body {
1075 overflow: auto;
1076}
1077
1078table-widget-body,
1079.table-widget-empty-text {
1080 background-color: var(--theme-body-background);
1081}
1082
1083/* Column Headers */
1084
1085.table-widget-column-header,
1086.table-widget-cell {
1087 -moz-border-end: 1px solid var(--table-splitter-color) !important;
1088}
1089
1090/* Table widget column header colors are taken from netmonitor.inc.css to match
1091 the look of both the tables. This needs to be updated along with netmonitor
1092 header colors in bug 951714 */
1093
1094.table-widget-column-header {
1095 background: rgba(0,0,0,0);
1096 position: sticky;
1097 top: 0;
1098 width: 100%;
1099 padding: 5px 0 0 !important;
1100 color: inherit;
1101 text-align: center;
1102 font-weight: inherit !important;
1103 transition: background-color 0.1s ease-in-out;
1104}
1105
1106.table-widget-column-header:hover {
1107 background: var(--theme-hover-background);
1108}
1109
1110.table-widget-column-header:hover:active {
1111 background: var(--theme-active-background);
1112}
1113
1114.table-widget-column-header:not(:active)[sorted] {
1115 background: var(--theme-selection-background);
1116}
1117
1118.table-widget-column-header:not(:active)[sorted=ascending] {
1119 background-image: radial-gradient(farthest-side at center top, hsla(0,0%,0%,.7), hsla(0,0%,0%,0.3));
1120 background-size: 100% 1px;
1121 background-repeat: no-repeat;
1122}
1123
1124.table-widget-column-header:not(:active)[sorted=descending] {
1125 background-image: radial-gradient(farthest-side at center bottom, hsla(0,0%,0%,.7), hsla(0,0%,0%,0.3));
1126 background-size: 100% 1px;
1127 background-repeat: no-repeat;
1128 background-position: bottom;
1129}
1130
1131/* Cells */
1132
1133.table-widget-cell {
1134 width: 100%;
1135 padding: 3px 4px;
1136 background-clip: padding-box;
1137 min-width: 100px;
1138 -moz-user-focus: normal;
1139
1140 margin-bottom: -1px !important;
1141 border-bottom: 1px solid transparent;
1142 color: var(--theme-body-color);
1143}
1144
1145.table-widget-cell:last-child {
1146 border-bottom: 1px solid var(--table-splitter-color);
1147}
1148
1149:root:not(.filtering) .table-widget-cell:nth-child(odd):not(.theme-selected),
1150.table-widget-cell:not(.theme-selected)[odd] {
1151 background: var(--table-zebra-background);
1152}
1153
1154.table-widget-cell.flash-out {
1155 animation: flash-out 0.5s ease-in;
1156}
1157
1158@keyframes flash-out {
1159 to {
1160 background: var(--theme-contrast-background2);
1161 }
1162}
1163
1164/* Empty text and initial text */
1165
1166.table-widget-empty-text {
1167 display: none;
1168 text-align: center;
1169 font-size: large;
1170 margin-top: -20px !important;
1171}
1172
1173.table-widget-body:empty + .table-widget-empty-text:not([value=""]),
1174.table-widget-body[empty] + .table-widget-empty-text:not([value=""]) {
1175 display: block;
1176}
1177
1178/* Tree Widget */
1179
1180.tree-widget-container {
1181 padding: 0;
1182 margin: 0;
1183 width: 100%;
1184 height: 100%;
1185 list-style: none;
1186 overflow: hidden;
1187 -moz-margin-end: 40px;
1188}
1189
1190.tree-widget-container:-moz-focusring,
1191.tree-widget-container *:-moz-focusring {
1192 outline-style: none;
1193}
1194
1195.tree-widget-empty-text {
1196 padding: 10px 20px;
1197 font-size: medium;
1198 background: transparent;
1199 pointer-events: none;
1200}
1201
1202/* Tree Item */
1203
1204.tree-widget-container .tree-widget-item {
1205 padding: 2px 0px 4px;
1206 /* OSX has line-height 14px by default, which causes weird alignment issues
1207 * because of 20px high icons. thus making line-height consistent with that of
1208 * windows.
1209 */
1210 line-height: 17px !important;
1211 display: inline-block;
1212 width: 100%;
1213 word-break: keep-all; /* To prevent long urls like http://foo.com/bar from
1214 breaking in multiple lines */
1215}
1216
1217.tree-widget-container .tree-widget-children {
1218 margin: 0;
1219 padding: 0;
1220 list-style: none;
1221}
1222
1223.tree-widget-item[level="1"] {
1224 font-weight: 700;
1225}
1226
1227/* Twisties */
1228.tree-widget-item::before {
1229 content: "";
1230 width: 14px;
1231 height: 14px;
1232 float: left;
1233 margin: 3px 2px -3px;
1234 background-repeat: no-repeat;
1235 background-image: url("chrome://devtools/skin/controls.png");
1236 background-size: 56px 28px;
1237 cursor: pointer;
1238 background-position: -28px -14px;
1239}
1240
1241.tree-widget-item:-moz-locale-dir(rtl)::before {
1242 float: right;
1243 transform: scaleX(-1);
1244}
1245
1246.tree-widget-item[empty]::before {
1247 background: transparent;
1248}
1249
1250.tree-widget-item[expanded]::before {
1251 background-position: -42px -14px;
1252}
1253
1254.tree-widget-item + ul {
1255 overflow: hidden;
1256 animation: collapse-tree-item 0.2s;
1257 max-height: 0;
1258}
1259
1260.tree-widget-item[expanded] + ul {
1261 animation: expand-tree-item 0.3s;
1262 max-height: unset;
1263}
1264
1265@keyframes collapse-tree-item {
1266 from {
1267 max-height: 300px;
1268 }
1269 to {
1270 max-height: 0;
1271 }
1272}
1273
1274@keyframes expand-tree-item {
1275 from {
1276 max-height: 0;
1277 }
1278 to {
1279 max-height: 500px;
1280 }
1281}
1282
1283@media (min-resolution: 1.1dppx) {
1284 .tree-widget-item:before {
1285 background-image: url("chrome://devtools/skin/controls@2x.png");
1286 }
1287}
1288
1289/* Indentation of child items in the tree */
1290
1291/* For level > 6 */
1292.tree-widget-item[level] + ul > li > .tree-widget-item {
1293 -moz-padding-start: 98px;
1294}
1295
1296/* First level */
1297.tree-widget-item[level="1"] + ul > li > .tree-widget-item {
1298 -moz-padding-start: 14px;
1299}
1300
1301/* Second level */
1302.tree-widget-item[level="2"] + ul > li > .tree-widget-item {
1303 -moz-padding-start: 28px;
1304}
1305
1306/* Third level */
1307.tree-widget-item[level="3"] + ul > li > .tree-widget-item {
1308 -moz-padding-start: 42px;
1309}
1310
1311/* Fourth level */
1312.tree-widget-item[level="4"] + ul > li > .tree-widget-item {
1313 -moz-padding-start: 56px;
1314}
1315
1316/* Fifth level */
1317.tree-widget-item[level="5"] + ul > li > .tree-widget-item {
1318 -moz-padding-start: 70px;
1319}
1320
1321/* Sixth level */
1322.tree-widget-item[level="6"] + ul > li > .tree-widget-item {
1323 -moz-padding-start: 84px;
1324}
1325
1326/* Custom icons for certain tree items indicating the type of the item */
1327
1328.tree-widget-item[type]::after {
1329 content: "";
1330 float: left;
1331 width: 16px;
1332 height: 17px;
1333 -moz-margin-end: 4px;
1334 background-repeat: no-repeat;
1335 background-size: 20px auto;
1336 background-position: 0 0;
1337 background-size: auto 20px;
1338 opacity: 0.75;
1339}
1340
1341.tree-widget-item.theme-selected[type]::after {
1342 opacity: 1;
1343}
1344
1345.tree-widget-item:-moz-locale-dir(rtl)::after {
1346 float: right;
1347}
1348
1349/*.theme-light .tree-widget-item.theme-selected[type]::after,*/
1350.tree-widget-item[type]::after {
1351 filter: invert(1);
1352}
1353
1354.tree-widget-item[type="dir"]::after {
1355 background-image: url("chrome://devtools/skin/filetype-dir-close.svg");
1356 background-position: 2px 0;
1357 background-size: auto 16px;
1358 width: 20px;
1359}
1360
1361.tree-widget-item[type="dir"][expanded]:not([empty])::after {
1362 background-image: url("chrome://devtools/skin/filetype-dir-open.svg");
1363}
1364
1365.tree-widget-item[type="url"]::after {
1366 background-image: url("chrome://devtools/skin/filetype-globe.svg");
1367 background-size: auto 18px;
1368 width: 18px;
1369}
1370
1371/* === BEGIN manifest-editor.inc.css === */
1372
1373/* Manifest Editor overrides */
1374
1375.variables-view-container.manifest-editor {
1376 background-color: #000000;
1377 padding: 20px 2px;
1378}
1379
1380.manifest-editor .variable-or-property:focus > .title {
1381/* background-color: #EDEDED;
1382 color: #000; */
1383 border-radius: 4px;
1384}
1385
1386.manifest-editor .variables-view-property > .title > .name {
1387/* color: #27406A; */
1388}
1389
1390.manifest-editor .variable-or-property > .title > label,
1391.manifest-editor textbox {
1392 font-family: monospace;
1393}
1394
1395.manifest-editor .variable-or-property > .title > .token-string {
1396/* color: #54BC6A; */
1397 font-weight: bold;
1398}
1399
1400.manifest-editor .variable-or-property > .title > .token-boolean,
1401.manifest-editor .variable-or-property > .title > .token-number {
1402/* color: #009BD4; */
1403 font-weight: bold;
1404}
1405
1406.manifest-editor .variable-or-property > .title > .token-undefined {
1407/* color: #bbb; */
1408}
1409
1410.manifest-editor .variable-or-property > .title > .token-null {
1411/* color: #999; */
1412}
1413
1414.manifest-editor .variable-or-property > .title > .token-other {
1415/* color: #333; */
1416}
1417
1418.manifest-editor .variables-view-variable {
1419 border-bottom: none;
1420}
1421
1422.manifest-editor .variables-view-delete,
1423.manifest-editor .variables-view-delete:hover,
1424.manifest-editor .variables-view-delete:active,
1425.manifest-editor .variable-or-property:focus .variables-view-delete,
1426.manifest-editor .variables-view-add-property,
1427.manifest-editor .variables-view-add-property:hover,
1428.manifest-editor .variables-view-add-property:active,
1429.manifest-editor .variable-or-property:focus .variables-view-add-property {
1430 list-style-image: none;
1431 -moz-image-region: initial;
1432}
1433
1434.manifest-editor .variables-view-delete::before,
1435.manifest-editor .variables-view-add-property::before {
1436 width: 11px;
1437 height: 11px;
1438 content: "";
1439 display: inline-block;
1440 background-size: 11px auto;
1441}
1442
1443.manifest-editor .variables-view-delete::before {
1444 background-image: url("app-manager/remove.svg");
1445 background-size: 12px auto;
1446}
1447
1448.manifest-editor .variables-view-add-property::before {
1449 background-image: url("app-manager/add.svg");
1450 -moz-margin-end: 2px;
1451}
1452
1453/* === END manifest-editor.inc.css === */
1454
1455/* === END widgets.inc.css === */