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/. */
6 /* === BEGIN widgets.inc.css === */
10 --table-splitter-color: #A09090;
11 --table-zebra-background: rgba(255,159,0,0.1);
12 --smw-margin: #9C9CFF;
13 --smw-item-top-border: #A09090;
14 --smw-item-bottom-border: #008484;
17 /* Generic pane helpers */
19 .generic-toggled-side-pane {
20 -moz-margin-start: 0px !important;
21 /* Unfortunately, transitions don't work properly with locale-aware properties,
22 so both the left and right margins are set via js, while the start margin
23 is always overridden here. */
26 .generic-toggled-side-pane[animated] {
27 transition: margin 0.25s ease-in-out;
30 /* Responsive container */
32 .devtools-responsive-container {
33 -moz-box-orient: horizontal;
36 .devtools-main-content {
40 .devtools-main-content,
41 .devtools-sidebar-tabs {
42 /* Prevent some children that should be hidden from remaining visible as this is shrunk (Bug 971959) */
46 @media (max-width: 700px) {
47 .devtools-responsive-container {
48 -moz-box-orient: vertical;
51 .devtools-responsive-container > .devtools-side-splitter {
52 /* This is a normally vertical splitter, but we have turned it horizontal
53 due to the smaller resolution */
60 /* Reset the vertical splitter styles */
64 /* In some edge case the cursor is not changed to n-resize */
68 .devtools-responsive-container > .devtools-sidebar-tabs {
74 /* BreacrumbsWidget */
76 .breadcrumbs-widget-container {
77 -moz-margin-start: 2px;
78 -moz-margin-start: 2px;
79 max-height: 24px; /* Set max-height for proper sizing on linux */
80 height: 24px; /* Set height to prevent starting small waiting for content */
85 background: transparent;
100 .scrollbutton-up > .toolbarbutton-icon,
101 .scrollbutton-down > .toolbarbutton-icon {
105 .scrollbutton-up:not([disabled]):active:hover > .toolbarbutton-icon,
106 .scrollbutton-down:not([disabled]):active:hover > .toolbarbutton-icon {
109 .scrollbutton-up[disabled] > .toolbarbutton-icon,
110 .scrollbutton-down[disabled] > .toolbarbutton-icon {
113 .scrollbutton-up:-moz-locale-dir(ltr) {
114 border-top-right-radius: 0;
115 border-bottom-right-radius: 0;
118 .scrollbutton-down:-moz-locale-dir(ltr) {
119 border-top-left-radius: 0;
120 border-bottom-left-radius: 0;
123 .scrollbutton-up:-moz-locale-dir(rtl) {
124 border-top-left-radius: 0;
125 border-bottom-left-radius: 0;
128 .scrollbutton-down:-moz-locale-dir(rtl) {
129 border-top-right-radius: 0;
130 border-bottom-right-radius: 0;
133 /* Draw shadows to indicate there is more content 'behind' scrollbuttons. */
135 .scrollbutton-up:-moz-locale-dir(ltr),
136 .scrollbutton-down:-moz-locale-dir(rtl) {
137 border-right: solid 1px rgba(255, 255, 255, .1);
138 border-left: solid 1px transparent;
139 box-shadow: 3px 0px 3px -3px var(--theme-sidebar-background);
142 .scrollbutton-down:-moz-locale-dir(ltr),
143 .scrollbutton-up:-moz-locale-dir(rtl) {
144 border-right: solid 1px transparent;
145 border-left: solid 1px rgba(255, 255, 255, .1);
146 box-shadow: -3px 0px 3px -3px var(--theme-sidebar-background);
149 .scrollbutton-up[disabled],
150 .scrollbutton-down[disabled] {
152 border-color: transparent;
156 .scrollbutton-up > .toolbarbutton-icon:-moz-locale-dir(rtl),
157 .scrollbutton-down > .toolbarbutton-icon:-moz-locale-dir(ltr) {
158 /* transform: scaleX(-1); */
161 /* The breadcrumb separator elements are used as background images with
162 * -moz-element, so we position them offscreen since we don't care about
163 * seeing the original elements.
165 .breadcrumb-separator-container {
171 #breadcrumb-separator-before,
172 #breadcrumb-separator-after,
173 #breadcrumb-separator-normal {
179 #breadcrumb-separator-before,
180 #breadcrumb-separator-after:after {
181 background: var(--theme-selection-background);
184 #breadcrumb-separator-after,
185 #breadcrumb-separator-before:after {
186 background: var(--theme-toolbar-background);
189 /* This chevron arrow cannot be replicated easily in CSS, so we are using
190 * a background image for it (still keeping it in a separate element so
191 * we can handle RTL support with a CSS transform).
193 #breadcrumb-separator-normal {
194 background: url("breadcrumbs-divider@2x.png") no-repeat center right;
195 background-size: 12px 24px;
198 /* Fake a triangle by rotating a rectangle inside the elements */
199 #breadcrumb-separator-before:after,
200 #breadcrumb-separator-after:after {
205 transform: translateX(-18px) rotate(45deg);
206 box-sizing: border-box;
209 .breadcrumbs-widget-item {
210 background-color: var(--theme-toolbar-background);
214 padding: 0 8px 0 20px;
218 color: var(--theme-content-color1);
221 .breadcrumbs-widget-item:hover {
222 background-color: var(--theme-hover-background);
223 color: var(--theme-hover-color);
226 .breadcrumbs-widget-item[checked]:not(:hover) {
227 background-color: var(--theme-selection-background);
228 color: var(--theme-selection-color);
231 .breadcrumbs-widget-item[siblings-menu-open],
232 .breadcrumbs-widget-item:active {
233 background-color: #FF9F00;
237 .breadcrumbs-widget-item > .button-box {
243 :root[platform="win"] .breadcrumbs-widget-item:-moz-focusring > .button-box {
247 .breadcrumbs-widget-item:not([checked]) {
248 background-image: -moz-element(#breadcrumb-separator-normal);
249 background-repeat: no-repeat;
250 background-position: center left;
253 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item {
254 background-image: -moz-element(#breadcrumb-separator-after);
255 background-repeat: no-repeat;
256 background-position: 0 0;
259 .breadcrumbs-widget-item[checked] {
260 background-image: -moz-element(#breadcrumb-separator-before);
261 background-repeat: no-repeat;
262 background-position: 0 0;
263 background-color: #008484; /* Select Highlight Blue */
266 .breadcrumbs-widget-item:first-child {
267 background-image: none;
270 /* RTL support: move the images that were on the left to the right,
271 * and move images that were on the right to the left.
273 .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
274 padding: 0 20px 0 8px;
277 .breadcrumbs-widget-item:-moz-locale-dir(rtl),
278 .breadcrumbs-widget-item[checked] + .breadcrumbs-widget-item:-moz-locale-dir(rtl) {
279 background-position: center right;
282 #breadcrumb-separator-before:-moz-locale-dir(rtl),
283 #breadcrumb-separator-after:-moz-locale-dir(rtl),
284 #breadcrumb-separator-normal:-moz-locale-dir(rtl) {
285 transform: scaleX(-1);
288 #breadcrumb-separator-before:-moz-locale-dir(rtl):after,
289 #breadcrumb-separator-after:-moz-locale-dir(rtl):after {
290 transform: translateX(-5px) rotate(45deg);
293 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-id,
294 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-tag,
295 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-pseudo-classes,
296 .breadcrumbs-widget-item[checked] .breadcrumbs-widget-item-classes {
297 color: var(--theme-highlight-lightorange);
300 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-id,
301 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-tag,
302 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-pseudo-classes,
303 .breadcrumbs-widget-item:not([checked]):hover .breadcrumbs-widget-item-classes {
304 color: var(--theme-hover-color) !important;
307 .breadcrumbs-widget-item {
308 color: var(--theme-highlight-lightorange);
311 .breadcrumbs-widget-item-id {
312 color: var(--theme-body-color-alt);
315 .breadcrumbs-widget-item-classes {
316 color: var(--theme-content-color1);
319 .breadcrumbs-widget-item-pseudo-classes {
320 color: var(--theme-highlight-lightorange);
323 /* SimpleListWidget */
325 .simple-list-widget-container {
326 /* Hack: force hardware acceleration */
327 transform: translateZ(1px);
330 .simple-list-widget-item.selected {
331 background-color: var(--theme-selection-background);
332 color: var(--theme-selection-color);
335 .simple-list-widget-item:not(.selected):hover {
336 background-color: var(--theme-hover-background);
337 color: var(--theme-hover-color);
340 .simple-list-widget-perma-text,
341 .simple-list-widget-empty-text {
342 color: var(--theme-body-color-alt);
348 .fast-list-widget-container {
349 /* Hack: force hardware acceleration */
350 transform: translateZ(1px);
353 /* dark/light theme */
354 .fast-list-widget-empty-text {
357 color: var(--theme-body-color-alt);
362 /* SideMenuWidget container */
364 .side-menu-widget-container:-moz-locale-dir(ltr),
365 .side-menu-widget-empty-text:-moz-locale-dir(ltr) {
368 .side-menu-widget-container:-moz-locale-dir(rtl),
369 .side-menu-widget-empty-text:-moz-locale-dir(rtl)[with-arrows=true]:-moz-locale-dir(rtl) {
372 .side-menu-widget-group {
373 /* To allow visibility of the dark margin shadow. */
374 /* -moz-margin-end: 1px; */
377 .side-menu-widget-container[with-arrows=true] .side-menu-widget-item {
378 /* To compensate for the arrow image's dark margin. */
379 /* -moz-margin-end: -1px; */
382 /* SideMenuWidget groups */
384 .side-menu-widget-group-title {
386 background-color: var(--theme-contrastsidebar-background);
387 color: var(--theme-contrastsidebar-color);
390 /* SideMenuWidget items */
392 .side-menu-widget-item {
393 border-top: 1px solid var(--smw-item-top-border);
394 /* border-bottom: 1px solid var(--smw-item-bottom-border);*/
397 .side-menu-widget-item:last-of-type {
398 /* box-shadow: inset 0 -1px 0 var(--smw-item-top-border);*/
399 border-bottom: 1px solid var(--smw-item-top-border);
402 .side-menu-widget-item {
403 /* To compensate for the top and bottom borders */
406 background-clip: padding-box;
409 .side-menu-widget-item.selected {
410 background-color: var(--theme-selection-background);
411 color: var(--theme-selection-color);
414 .side-menu-widget-item-arrow {
415 -moz-margin-start: -7px;
416 width: 7px; /* The image's width is 7 pixels */
417 /* Cover the border of the side-menu-widget-item */
422 .side-menu-widget-item.selected > .side-menu-widget-item-arrow {
423 background-size: auto, 1px 100%;
424 background-repeat: no-repeat;
427 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
428 background-position: center right;
431 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
432 background-position: center left;
435 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(ltr) {
436 background-image: url("itemArrow-ltr.svg");
439 .side-menu-widget-item.selected > .side-menu-widget-item-arrow:-moz-locale-dir(rtl) {
440 background-image: url("itemArrow-rtl.svg");
443 /* SideMenuWidget items contents */
445 .side-menu-widget-item-contents {
447 /* To avoid having content overlapping the arrow image. */
448 -moz-padding-end: 8px;
451 .side-menu-widget-item-other {
452 /* To avoid having content overlapping the arrow image. */
453 -moz-padding-end: 8px;
454 /* To compensate for the .side-menu-widget-item-contents padding. */
455 -moz-margin-start: -4px;
456 -moz-margin-end: -8px;
457 color: var(--theme-selection-color);
460 .side-menu-widget-item-other.selected {
461 background-color: var(--theme-selection-background);
462 color: var(--theme-selection-color);
465 .side-menu-widget-item-other:first-of-type {
467 /* border-top-left-radius: 4px; */
470 .side-menu-widget-item-other:last-of-type {
474 .side-menu-widget-item-other:not(.selected) > label {
478 /* SideMenuWidget checkboxes */
480 .side-menu-widget-group-checkbox {
482 -moz-margin-end: 4px;
485 .side-menu-widget-item-checkbox {
487 -moz-margin-start: 4px;
488 -moz-margin-end: -4px;
491 /* SideMenuWidget misc */
493 .theme-dark .side-menu-widget-container,
494 .theme-dark .side-menu-widget-empty-text {
495 background-color: var(--theme-toolbar-background);
498 .side-menu-widget-empty-text {
504 .variables-view-container:not([empty]) {
505 /* Hack: force hardware acceleration */
506 transform: translateZ(1px);
509 .variables-view-empty-notice {
510 color: var(--theme-body-color-alt);
514 .variables-view-scope:focus > .title,
515 .theme-dark .variable-or-property:focus > .title {
516 background-color: var(--theme-selection-background);
517 color: var(--theme-selection-color);
520 .variables-view-scope > .title {
521 background-color: #A09090;
525 /* Generic variables traits */
527 .variables-view-variable:not(:last-child) {
528 border-bottom: 1px solid #A09090;
531 .variables-view-variable > .title > .name {
535 /* Generic variables *and* properties traits */
537 .variable-or-property:focus > .title > label {
538 color: inherit !important;
541 .variables-view-container .theme-twisty {
545 .variable-or-property > .title > .theme-twisty {
546 -moz-margin-start: 5px;
549 .variable-or-property:not([untitled]) > .variables-view-element-details {
550 -moz-margin-start: 7px;
553 /* Traits applied when variables or properties are changed or overridden */
555 .variable-or-property:not([overridden]) {
556 transition: background 1s ease-in-out, color 1s ease-in-out;
559 .variable-or-property:not([overridden])[changed] {
561 transition-duration: .4s;
564 .variable-or-property[overridden] {
565 background: rgba(160,144,144,0.5);
568 .variable-or-property[overridden] .title > label {
569 /* Cross out the title for this variable and all child properties. */
571 text-decoration: line-through;
572 border-bottom: none !important;
577 /* Traits applied when variables or properties are editable */
579 .variable-or-property[editable] > .title > .value {
583 .variable-or-property[overridden] .title > .value {
584 /* Disallow editing this variable and all child properties. */
585 pointer-events: none;
588 /* Custom configurable/enumerable/writable or frozen/sealed/extensible
589 * variables and properties */
591 .variable-or-property[non-enumerable]:not([self]):not([pseudo-item]) > .title > .name {
595 .variable-or-property-non-writable-icon {
596 background: url("chrome://devtools/skin/images/vview-lock.png") no-repeat;
597 background-size: cover;
603 @media (min-resolution: 1.1dppx) {
604 .variable-or-property-non-writable-icon > .title:after {
605 background-image: url("chrome://devtools/skin/images/vview-lock@2x.png");
609 .variable-or-property-frozen-label,
610 .variable-or-property-sealed-label,
611 .variable-or-property-non-extensible-label {
613 -moz-padding-end: 4px;
616 .variable-or-property:not(:focus) > .title > .variable-or-property-frozen-label,
617 .variable-or-property:not(:focus) > .title > .variable-or-property-sealed-label,
618 .variable-or-property:not(:focus) > .title > .variable-or-property-non-extensible-label {
624 .variables-view-container[aligned-values] .title > .separator {
628 .variables-view-container[aligned-values] .title > .value {
633 .variables-view-container[aligned-values] .title > .element-value-input {
634 width: calc(70vw - 10px);
639 .variables-view-open-inspector {
640 -moz-box-ordinal-group: 1;
643 .variables-view-edit,
644 .variables-view-add-property {
645 -moz-box-ordinal-group: 2;
648 .variable-or-property-frozen-label,
649 .variable-or-property-sealed-label,
650 .variable-or-property-non-extensible-label,
651 .variable-or-property-non-writable-icon {
652 -moz-box-ordinal-group: 3;
655 .variables-view-delete {
656 -moz-box-ordinal-group: 4;
659 .variables-view-container[actions-first] .variables-view-delete,
660 .variables-view-container[actions-first] .variables-view-add-property,
661 .variables-view-container[actions-first] .variables-view-open-inspector {
662 -moz-box-ordinal-group: 0;
665 .variables-view-container[actions-first] [invisible] {
669 /* Variables and properties tooltips */
671 .variable-or-property > tooltip > label {
675 .variable-or-property[non-enumerable] > tooltip > label.enumerable,
676 .variable-or-property[non-configurable] > tooltip > label.configurable,
677 .variable-or-property[non-writable] > tooltip > label.writable
678 .variable-or-property[non-extensible] > tooltip > label.extensible {
680 text-decoration: line-through;
683 .variable-or-property[overridden] > tooltip > label.overridden {
684 -moz-padding-start: 4px;
685 -moz-border-start: 1px dotted #9C9CFF;
688 .variable-or-property[safe-getter] > tooltip > label.WebIDL {
689 -moz-padding-start: 4px;
690 -moz-border-start: 1px dotted #9C9CFF;
694 /* Variables and properties editing */
695 .variables-view-delete,
696 .variables-view-edit,
697 .variables-view-open-inspector {
700 background-size: cover;
704 .variables-view-delete:hover,
705 .variables-view-edit:hover,
706 .variables-view-open-inspector:hover {
707 filter: url(images/filters.svg#checked-icon-state);
710 .variables-view-delete:active,
711 .variables-view-edit:active,
712 .variables-view-open-inspector:active {
713 filter: url(images/filters.svg#checked-icon-state);
716 .variable-or-property:focus > .title > .variables-view-delete,
717 .variable-or-property:focus > .title > .variables-view-edit,
718 .variable-or-property:focus > .title > .variables-view-open-inspector {
722 .variables-view-delete {
723 background-image: url("chrome://devtools/skin/images/vview-delete.png");
726 @media (min-resolution: 1.1dppx) {
727 .variables-view-delete {
728 background-image: url("chrome://devtools/skin/images/vview-delete@2x.png");
732 .variables-view-edit {
733 background-image: url("chrome://devtools/skin/images/vview-edit.png");
736 @media (min-resolution: 1.1dppx) {
737 .variables-view-edit {
738 background-image: url("chrome://devtools/skin/images/vview-edit@2x.png");
742 .variables-view-open-inspector {
743 background-image: url("chrome://devtools/skin/images/vview-open-inspector.png");
746 /* Variables and properties input boxes */
748 .variable-or-property > .title > .separator + .element-value-input {
749 -moz-margin-start: -2px !important;
750 -moz-margin-end: 2px !important;
753 .variable-or-property > .title > .separator[hidden=true] + .element-value-input {
754 -moz-margin-start: 4px !important;
755 -moz-margin-end: 2px !important;
758 .element-name-input {
759 -moz-margin-start: -2px !important;
760 -moz-margin-end: 2px !important;
764 .element-value-input,
765 .element-name-input {
766 border: 1px solid #008484 !important;
770 /* Variables and properties searching */
772 .variable-or-property[unmatched] {
779 .graph-widget-container {
783 .graph-widget-canvas {
788 .graph-widget-canvas[input=hovering-background] {
792 .graph-widget-canvas[input=hovering-region] {
796 .graph-widget-canvas[input=hovering-selection-start-boundary],
797 .graph-widget-canvas[input=hovering-selection-end-boundary],
798 .graph-widget-canvas[input=adjusting-selection-boundary] {
802 .graph-widget-canvas[input=adjusting-view-area] {
806 .graph-widget-canvas[input=hovering-selection-contents] {
810 .graph-widget-canvas[input=dragging-selection-contents] {
814 /* Line graph widget */
816 .line-graph-widget-gutter {
822 pointer-events: none;
825 -moz-border-end: 1px solid #9C9CFF;
828 .line-graph-widget-gutter-line {
831 border-top: 1px solid;
834 .line-graph-widget-gutter-line[type=maximum] {
835 border-color: #008484;
838 .line-graph-widget-gutter-line[type=minimum] {
839 border-color: #FF0000;
842 .line-graph-widget-gutter-line[type=average] {
843 border-color: #FF9F00;
846 .line-graph-widget-tooltip {
850 -moz-padding-start: 6px;
851 -moz-padding-end: 6px;
852 transform: translateY(-50%);
853 font-size: 0.8rem !important;
855 pointer-events: none;
860 .line-graph-widget-tooltip[with-arrows=true]::before {
863 border-top: 3px solid transparent;
864 border-bottom: 3px solid transparent;
865 top: calc(50% - 3px);
868 .line-graph-widget-tooltip[arrow=start][with-arrows=true]::before {
869 -moz-border-end: 3px solid #9C9CFF;
873 .line-graph-widget-tooltip[arrow=end][with-arrows=true]::before {
874 -moz-border-start: 3px solid #9C9CFF;
878 .line-graph-widget-tooltip[type=maximum] {
882 .line-graph-widget-tooltip[type=minimum] {
886 .line-graph-widget-tooltip[type=average] {
890 .line-graph-widget-tooltip > [text=info] {
891 color: var(--theme-content-color2);
894 .line-graph-widget-tooltip > [text=value] {
895 -moz-margin-start: 3px;
898 .line-graph-widget-tooltip > [text=metric] {
899 -moz-margin-start: 1px;
900 color: var(--theme-content-color4);
903 .line-graph-widget-tooltip > [text=value],
904 .line-graph-widget-tooltip > [text=metric] {
905 /* text-shadow: 1px 0px rgba(255,255,255,0.6),
906 -1px 0px rgba(255,255,255,0.6),
907 0px -1px rgba(255,255,255,0.6),
908 0px 1px rgba(255,255,255,0.6);*/
911 .line-graph-widget-tooltip[type=maximum] > [text=value] {
912 color: var(--theme-highlight-green);
915 .line-graph-widget-tooltip[type=minimum] > [text=value] {
916 color: var(--theme-highlight-red);
919 .line-graph-widget-tooltip[type=average] > [text=value] {
920 color: var(--theme-highlight-orange);
923 /* Bar graph widget */
925 .bar-graph-widget-legend {
930 font-size: 0.8rem !important;
931 pointer-events: none;
934 .bar-graph-widget-legend-item {
936 -moz-margin-end: 8px;
939 .bar-graph-widget-legend-item > [view="color"],
940 .bar-graph-widget-legend-item > [view="label"] {
941 vertical-align: middle;
944 .bar-graph-widget-legend-item > [view="color"] {
945 display: inline-block;
948 border: 1px solid #9C9CFF;
950 -moz-margin-end: 4px;
951 pointer-events: none;
954 .bar-graph-widget-legend-item > [view="label"] {
955 /* text-shadow: 1px 0px rgba(255,255,255,0.8),
956 -1px 0px rgba(255,255,255,0.8),
957 0px -1px rgba(255,255,255,0.8),
958 0px 1px rgba(255,255,255,0.8);*/
963 .generic-chart-container {
964 /* Hack: force hardware acceleration */
965 transform: translateZ(1px);
968 .generic-chart-container {
969 color: var(--theme-body-color-alt);
972 .chart-colored-blob {
973 fill: var(--theme-highlight-blue);
974 background: var(--theme-highlight-blue);
988 .pie-chart-slice[largest] {
995 dominant-baseline: middle;
996 pointer-events: none;
1003 .pie-chart-container[slices="1"] > .pie-chart-slice {
1009 transition: all 0.1s ease-out;
1012 .pie-chart-slice:not(:hover):not([focused]),
1013 .pie-chart-slice:not(:hover):not([focused]) + .pie-chart-label {
1014 transform: none !important;
1019 .table-chart-title {
1020 padding-bottom: 10px;
1030 .table-chart-grid:hover > .table-chart-row {
1031 transition: opacity 0.1s ease-in-out;
1034 .table-chart-grid:not(:hover) > .table-chart-row {
1035 transition: opacity 0.2s ease-in-out;
1038 .generic-chart-container:hover > .table-chart-grid:hover > .table-chart-row:not(:hover),
1039 .generic-chart-container:hover ~ .table-chart-container > .table-chart-grid > .table-chart-row:not([focused]) {
1043 .table-chart-row-box {
1046 -moz-margin-end: 10px;
1049 .table-chart-row-label {
1051 -moz-padding-end: 6px;
1055 .table-chart-totals {
1060 .table-chart-totals {
1061 border-top: 1px solid var(--theme-body-color-alt); /* Grey foreground text */
1064 .table-chart-summary-label {
1069 .table-chart-summary-label {
1070 color: var(--theme-content-color2);
1077 .table-widget-body > .devtools-side-splitter {
1081 .table-widget-body {
1086 .table-widget-empty-text {
1087 background-color: var(--theme-body-background);
1090 /* Column Headers */
1092 .table-widget-column-header,
1093 .table-widget-cell {
1094 border-inline-end: 1px solid var(--table-splitter-color) !important;
1097 /* Table widget column header colors are taken from netmonitor.inc.css to match
1098 the look of both the tables. */
1100 .table-widget-column-header {
1105 padding: 5px 0 0 !important;
1108 font-weight: inherit !important;
1109 border-bottom-width: 0 !important;
1110 border-image: linear-gradient(transparent 15%, var(--theme-splitter-color) 15%, var(--theme-splitter-color) 85%, transparent 85%) 1 1;
1111 background-repeat: no-repeat;
1114 table-widget-column-header:not([sorted]):hover {
1115 /* background-image: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0.1));*/
1118 .table-widget-column-header[sorted] {
1119 background-color: var(--theme-selection-background);
1120 color: var(--theme-selection-color);
1121 border-image: linear-gradient(var(--theme-splitter-color), var(--theme-splitter-color)) 1 1;
1122 /* box-shadow: -0.5px 0 0 0.5px var(--theme-splitter-color);*/
1123 background-position: right 6px center;
1126 .table-widget-column-header[sorted]:-moz-locale-dir(rtl) {
1127 background-position: 6px center;
1130 .table-widget-column-header[sorted=ascending] {
1131 background-image: url("chrome://devtools/skin/images/sort-arrows.svg#ascending");
1134 .table-widget-column-header[sorted=descending] {
1135 background-image: url("chrome://devtools/skin/images/sort-arrows.svg#descending");
1140 .table-widget-cell {
1144 -moz-user-focus: normal;
1145 color: var(--theme-body-color);
1148 .table-widget-column-header + .table-widget-cell {
1149 border-top: 1px solid var(--theme-splitter-color);
1152 .table-widget-cell:last-child {
1153 border-bottom: 1px solid var(--table-splitter-color);
1156 :root:not(.filtering) .table-widget-cell:nth-child(odd):not(.theme-selected),
1157 .table-widget-cell:not(.theme-selected)[odd] {
1158 background: var(--table-zebra-background);
1161 :root:not(.no-animate) .table-widget-cell.flash-out {
1162 animation: flash-out 0.5s ease-in;
1165 @keyframes flash-out {
1167 background: var(--theme-contrast-background2);
1171 /* Empty text and initial text */
1173 .table-widget-empty-text {
1177 margin-top: -20px !important;
1180 .table-widget-body:empty + .table-widget-empty-text:not([value=""]),
1181 .table-widget-body[empty] + .table-widget-empty-text:not([value=""]) {
1187 .tree-widget-container {
1194 -moz-margin-end: 40px;
1197 .tree-widget-container:-moz-focusring,
1198 .tree-widget-container *:-moz-focusring {
1199 outline-style: none;
1202 .tree-widget-empty-text {
1205 background: transparent;
1206 pointer-events: none;
1211 .tree-widget-container .tree-widget-item {
1212 padding: 2px 0px 4px;
1213 /* OSX has line-height 14px by default, which causes weird alignment issues
1214 * because of 20px high icons. thus making line-height consistent with that of
1217 line-height: 17px !important;
1218 display: inline-block;
1220 word-break: keep-all; /* To prevent long urls like http://foo.com/bar from
1221 breaking in multiple lines */
1224 .tree-widget-container .tree-widget-children {
1230 .tree-widget-item[level="1"] {
1235 .tree-widget-item::before {
1240 margin: 3px 2px -3px;
1241 background-repeat: no-repeat;
1242 background-image: url("chrome://devtools/skin/controls.png");
1243 background-size: 56px 28px;
1245 background-position: -28px -14px;
1248 .tree-widget-item:-moz-locale-dir(rtl)::before {
1250 transform: scaleX(-1);
1253 .tree-widget-item[empty]::before {
1254 background: transparent;
1257 .tree-widget-item[expanded]::before {
1258 background-position: -42px -14px;
1261 .tree-widget-item + ul {
1263 animation: collapse-tree-item 0.2s;
1267 .tree-widget-item[expanded] + ul {
1268 animation: expand-tree-item 0.3s;
1272 @keyframes collapse-tree-item {
1281 @keyframes expand-tree-item {
1290 @media (min-resolution: 1.1dppx) {
1291 .tree-widget-item:before {
1292 background-image: url("chrome://devtools/skin/controls@2x.png");
1296 /* Indentation of child items in the tree */
1299 .tree-widget-item[level] + ul > li > .tree-widget-item {
1300 -moz-padding-start: 98px;
1304 .tree-widget-item[level="1"] + ul > li > .tree-widget-item {
1305 -moz-padding-start: 14px;
1309 .tree-widget-item[level="2"] + ul > li > .tree-widget-item {
1310 -moz-padding-start: 28px;
1314 .tree-widget-item[level="3"] + ul > li > .tree-widget-item {
1315 -moz-padding-start: 42px;
1319 .tree-widget-item[level="4"] + ul > li > .tree-widget-item {
1320 -moz-padding-start: 56px;
1324 .tree-widget-item[level="5"] + ul > li > .tree-widget-item {
1325 -moz-padding-start: 70px;
1329 .tree-widget-item[level="6"] + ul > li > .tree-widget-item {
1330 -moz-padding-start: 84px;
1333 /* Custom icons for certain tree items indicating the type of the item */
1335 .tree-widget-item[type]::after {
1340 -moz-margin-end: 4px;
1341 background-repeat: no-repeat;
1342 background-size: 20px auto;
1343 background-position: 0 0;
1344 background-size: auto 20px;
1348 .tree-widget-item.theme-selected[type]::after {
1352 .tree-widget-item:-moz-locale-dir(rtl)::after {
1356 /*.theme-light .tree-widget-item.theme-selected[type]::after,*/
1357 .tree-widget-item[type]::after {
1361 .tree-widget-item[type="dir"]::after {
1362 background-image: url("chrome://devtools/skin/filetype-dir-close.svg");
1363 background-position: 2px 0;
1364 background-size: auto 16px;
1368 .tree-widget-item[type="dir"][expanded]:not([empty])::after {
1369 background-image: url("chrome://devtools/skin/filetype-dir-open.svg");
1372 .tree-widget-item[type="url"]::after {
1373 background-image: url("chrome://devtools/skin/filetype-globe.svg");
1374 background-size: auto 18px;
1378 /* === BEGIN manifest-editor.inc.css === */
1380 /* Manifest Editor overrides */
1382 .variables-view-container.manifest-editor {
1383 background-color: #000000;
1387 .manifest-editor .variable-or-property:focus > .title {
1388 /* background-color: #EDEDED;
1393 .manifest-editor .variables-view-property > .title > .name {
1394 /* color: #27406A; */
1397 .manifest-editor .variable-or-property > .title > label,
1398 .manifest-editor textbox {
1399 font-family: monospace;
1402 .manifest-editor .variable-or-property > .title > .token-string {
1403 /* color: #54BC6A; */
1407 .manifest-editor .variable-or-property > .title > .token-boolean,
1408 .manifest-editor .variable-or-property > .title > .token-number {
1409 /* color: #009BD4; */
1413 .manifest-editor .variable-or-property > .title > .token-undefined {
1417 .manifest-editor .variable-or-property > .title > .token-null {
1421 .manifest-editor .variable-or-property > .title > .token-other {
1425 .manifest-editor .variables-view-variable {
1426 border-bottom: none;
1429 .manifest-editor .variables-view-delete,
1430 .manifest-editor .variables-view-delete:hover,
1431 .manifest-editor .variables-view-delete:active,
1432 .manifest-editor .variable-or-property:focus .variables-view-delete,
1433 .manifest-editor .variables-view-add-property,
1434 .manifest-editor .variables-view-add-property:hover,
1435 .manifest-editor .variables-view-add-property:active,
1436 .manifest-editor .variable-or-property:focus .variables-view-add-property {
1437 list-style-image: none;
1438 -moz-image-region: initial;
1441 .manifest-editor .variables-view-delete::before,
1442 .manifest-editor .variables-view-add-property::before {
1446 display: inline-block;
1447 background-size: 11px auto;
1450 .manifest-editor .variables-view-delete::before {
1451 background-image: url("app-manager/remove.svg");
1452 background-size: 12px auto;
1455 .manifest-editor .variables-view-add-property::before {
1456 background-image: url("app-manager/add.svg");
1457 -moz-margin-end: 2px;
1460 /* === END manifest-editor.inc.css === */
1462 /* === END widgets.inc.css === */