X-Git-Url: https://git-public.kairo.at/?p=themes.git;a=blobdiff_plain;f=LCARStrek%2Fdevtools%2Fnetmonitor.css;h=81ff32a3163b202e1d4d540aec3b1e0d421c5a07;hp=fe378ec64c552ea40abeeee1ea1e07a9d42a9c20;hb=11ddc40545d65c5dd6bb376206dbba998d43a5ab;hpb=7d6161c5de5eb8284455c6ca486f0f51b51a1618 diff --git a/LCARStrek/devtools/netmonitor.css b/LCARStrek/devtools/netmonitor.css index fe378ec6..81ff32a3 100644 --- a/LCARStrek/devtools/netmonitor.css +++ b/LCARStrek/devtools/netmonitor.css @@ -3,11 +3,70 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +@import url("resource://devtools/client/shared/components/tree/tree-view.css"); +@import url(variables.css); /* No idea why this is needed but we get error messages without it */ + window { padding: 0; } -/* === BEGIN netmonitor.inc.css === */ +#toolbar-labels { + overflow: hidden; + display: flex; + flex: auto; +} + +.devtools-toolbar-container { + display: flex; + justify-content: space-between; +} + +.devtools-toolbar-group { + display: flex; + flex: 0 0 auto; + flex-wrap: nowrap; + align-items: stretch; +} + +/** + * Collapsed details pane needs to be truly hidden to prevent both accessibility + * tools and keyboard from accessing its contents. + */ +#details-pane.pane-collapsed { + visibility: hidden; +} + +#details-pane-toggle[disabled] { + display: none; +} + +#custom-pane { + overflow: auto; +} + +#response-content-image-box { + overflow: auto; +} + +#network-statistics-charts { + overflow: auto; +} + +.cropped-textbox .textbox-input { + /* workaround for textbox not supporting the @crop attribute */ + text-overflow: ellipsis; +} + +/* Responsive sidebar */ +@media (max-width: 700px) { + #toolbar-spacer, + #details-pane-toggle, + #details-pane.pane-collapsed, + .requests-menu-waterfall, + #requests-menu-network-summary-button > .summary-info-text { + display: none; + } +} :root.theme-dark, :root.theme-light { @@ -18,14 +77,28 @@ window { --timing-dns-color: #E7ADE7; /* pink */ --timing-connect-color: #FF9F00; /* orange */ --timing-send-color: #FFCF00; /* light blue */ - --timig-wait-color: #9C9CFF; /* blue grey */ + --timing-wait-color: #9C9CFF; /* blue grey */ --timing-receive-color: #A09090; /* green */ --sort-ascending-image: url(chrome://devtools/skin/images/sort-arrows.svg#ascending); --sort-descending-image: url(chrome://devtools/skin/images/sort-arrows.svg#descending); } -#requests-menu-empty-notice { +#network-table { + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-flex: 1; + overflow: hidden; +} + +.request-list-container { + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-flex: 1; +} + +#requests-menu-empty-notice, +.request-list-empty-notice { margin: 0; padding: 12px; font-size: 120%; @@ -38,8 +111,20 @@ window { #requests-menu-perf-notice-button { min-width: 30px; min-height: 26px; - margin: 0; list-style-image: url("images/profiler-stopwatch.svg"); + margin: 0 5px; + vertical-align: middle; +} + +#requests-menu-perf-notice-button::before { + background-image: url("images/profiler-stopwatch.svg"); +} + +/* Make sure the icon is visible on Linux (to overwrite a rule + in xul.css that hides the icon if there is no label. + See also bug 1278050. */ +#requests-menu-perf-notice-button .button-icon { + display: block; } #requests-menu-perf-notice-button .button-text { @@ -47,14 +132,26 @@ window { } #requests-menu-reload-notice-button { + font-size: inherit; min-height: 26px; - margin: 0; - background-color: var(--theme-toolbar-background); + padding-left: 10px; + padding-right: 10px; + margin: 0 5px; } /* Network requests table */ #requests-menu-toolbar { + background: var(--theme-capped-toolbar-background); +} + +#requests-menu-toolbar::before, #requests-menu-toolbar::after { + display: none; /* Remove caps from this toolbar (and above background rule make the background fill it completely) */ +} + +#requests-menu-filter-buttons { + display: flex; + flex-wrap: nowrap; } #requests-menu-toolbar > .toolbar-box > .toolbar-startcap, @@ -62,20 +159,46 @@ window { display: none; } +.requests-menu-contents { + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-flex: 1; + overflow-x: hidden; + overflow-y: auto; + + --timings-scale: 1; + --timings-rev-scale: 1; +} + .requests-menu-subitem { + display: flex; + flex: none; + box-sizing: border-box; + align-items: center; padding: 3px; } -.requests-menu-header:not(:last-child):-moz-locale-dir(rtl), -.requests-menu-subitem:not(:last-child):-moz-locale-dir(rtl) { +.subitem-label { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.requests-menu-header { + display: flex; + flex: none; } #requests-menu-status-button, .requests-menu-header-button { + display: flex; + align-items: center; + flex: auto; + -moz-appearance: none; background-color: transparent; border-image: linear-gradient(transparent 15%, - var(--theme-splitter-color) 15%, - var(--theme-splitter-color) 85%, + var(--theme-toolbar-background) 15%, + var(--theme-toolbar-background) 85%, transparent 85%) 1 1; border-style: solid; border-width: 0; @@ -84,14 +207,20 @@ window { min-width: 1px; min-height: 24px; margin: 0; - padding-bottom: 2px; - padding-inline-start: 13px; padding-top: 2px; + padding-bottom: 2px; + padding-inline-start: 16px; + padding-inline-end: 0; text-align: center; /* color: inherit;*/ font-weight: inherit !important; } +.requests-menu-header-button::-moz-focus-inner { + border: 0; + padding: 0; +} + .requests-menu-header:first-child .requests-menu-header-button { border-width: 0; } @@ -106,12 +235,25 @@ window { color: var(--theme-active-color); } +.requests-menu-header-button > .button-text { + flex: auto; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + .requests-menu-header-button > .button-box > .button-icon, #requests-menu-waterfall-image { display: -moz-box; + -moz-box-ordinal-group: 2; +} +.requests-menu-header-button > .button-box > .button-icon, +#requests-menu-waterfall-image, +.requests-menu-header-button > .button-icon { + flex: none; height: 4px; + margin-inline-start: 3px; margin-inline-end: 6px; - -moz-box-ordinal-group: 2; width: 7px; } @@ -120,24 +262,40 @@ window { list-style-image: var(--sort-ascending-image); } +.requests-menu-header-button[data-sorted=ascending] > .button-icon { + background-image: var(--sort-ascending-image); +} + .requests-menu-header-button[sorted=descending] > .button-box > .button-icon, .requests-menu-header-button[sorted=descending] #requests-menu-waterfall-image { list-style-image: var(--sort-descending-image); } +.requests-menu-header-button[data-sorted=descending] > .button-icon { + background-image: var(--sort-descending-image); +} + .requests-menu-header-button > .button-box > .button-text, #requests-menu-waterfall-label-wrapper { -moz-box-flex: 1; } +.requests-menu-waterfall-label-wrapper { + display: flex; +} + .requests-menu-header-button[sorted], -.requests-menu-header-button[sorted]:hover { +.requests-menu-header-button[sorted]:hover, +.requests-menu-header-button[data-sorted], +.requests-menu-header-button[data-sorted]:hover { background-color: var(--theme-selection-background); color: var(--theme-selection-color); } .requests-menu-header-button[sorted], -.requests-menu-header[active] + .requests-menu-header .requests-menu-header-button { +.requests-menu-header[active] + .requests-menu-header .requests-menu-header-button, +.requests-menu-header-button[data-sorted], +.requests-menu-header[data-active] + .requests-menu-header .requests-menu-header-button { border-image: linear-gradient(var(--theme-splitter-color), var(--theme-splitter-color)) 1 1; } @@ -169,11 +327,10 @@ window { } .requests-menu-icon { - background: #FFCF00; - width: calc(1em + 4px); - height: calc(1em + 4px); - margin: -4px 0px; - -moz-margin-end: 4px; + background: transparent; + width: 15px; + height: 15px; + margin-inline-end: 4px; } .requests-menu-icon { @@ -185,10 +342,10 @@ window { } .requests-security-state-icon { + flex: none; width: 16px; height: 16px; - -moz-margin-end: 4px; - cursor: pointer; + margin-inline-end: 4px; } .security-state-insecure { @@ -216,6 +373,35 @@ window { max-width: 6em; text-align: center; width: 8vw; + justify-content: center; +} + +.requests-menu-transferred { + max-width: 8em; + width: 8vw; + justify-content: center; +} + +.request-list-item.selected .requests-menu-transferred.theme-comment { + color: var(--theme-selection-color); +} + +.requests-menu-cause { + max-width: 8em; + width: 8vw; +} + +.requests-menu-cause-stack { + background-color: var(--theme-body-color-alt); + color: var(--theme-body-background); + font-size: 8px; + font-weight: bold; + line-height: 10px; + border-radius: 3px; + padding: 0 2px; + margin: 0; + margin-inline-end: 3px; + -moz-user-select: none; } .requests-menu-transferred { @@ -227,41 +413,49 @@ window { /* Network requests table: status codes */ .requests-menu-status-code { - -moz-margin-start: 3px !important; + margin-inline-start: 3px !important; width: 3em; - -moz-margin-end: -3em !important; + margin-inline-end: -3em !important; } .requests-menu-status-icon { background-color: #A09090; height: 10px; width: 10px; - -moz-margin-start: 5px; - -moz-margin-end: 5px; + margin-inline-start: 5px; + margin-inline-end: 5px; border-radius: 20px; border: 1px solid #000000; transition: background-color 0.5s ease-in-out; } -.requests-menu-status-icon:not([code]) { +.request-list-item.selected .requests-menu-status-icon { +} + +.requests-menu-status-icon:not([code]), +.requests-menu-status-icon:not([data-code]) { background-color: var(--theme-content-color2); } -.requests-menu-status-icon[code="cached"] { +.requests-menu-status-icon[code="cached"], +.requests-menu-status-icon[data-code="cached"] { border: 2px solid var(--theme-content-color2); background-color: transparent; } -.requests-menu-status-icon[code^="1"] { +.requests-menu-status-icon[code^="1"], +.requests-menu-status-icon[data-code^="1"] { background-color: var(--theme-highlight-blue); } -.requests-menu-status-icon[code^="2"] { +.requests-menu-status-icon[code^="2"], +.requests-menu-status-icon[data-code^="2"] { background-color: var(--theme-highlight-green); } /* 3xx are triangles */ -.requests-menu-status-icon[code^="3"] { +.requests-menu-status-icon[code^="3"], +.requests-menu-status-icon[data-code^="3"] { background-color: transparent; width: 0; height: 0; @@ -272,12 +466,14 @@ window { } /* 4xx and 5xx are squares - error codes */ -.requests-menu-status-icon[code^="4"] { +.requests-menu-status-icon[code^="4"], +.requests-menu-status-icon[data-code^="4"] { background-color: var(--theme-highlight-red); border-radius: 0; /* squares */ } -.requests-menu-status-icon[code^="5"] { +.requests-menu-status-icon[code^="5"], +.requests-menu-status-icon[data-code^="5"] { background-color: var(--theme-highlight-pink); border-radius: 0; transform: rotate(45deg); @@ -286,11 +482,13 @@ window { /* Network requests table: waterfall header */ .requests-menu-waterfall { + flex: auto; padding-inline-start: 0; } -#requests-menu-waterfall-label:not(.requests-menu-waterfall-visible) { - padding-inline-start: 13px; +#requests-menu-waterfall-label:not(.requests-menu-waterfall-visible), +.requests-menu-waterfall-label-wrapper:not(.requests-menu-waterfall-visible) { + padding-inline-start: 16px; } .requests-menu-timings-division { @@ -301,6 +499,9 @@ window { pointer-events: none; box-sizing: border-box; text-align: start; + /* Allow the timing label to shrink if the container gets too narrow. + * The container width then is not limited by the content. */ + flex: initial; } .requests-menu-timings-division:first-child { @@ -309,7 +510,7 @@ window { .requests-menu-timings-division:not(:first-child) { border-inline-start: 1px dashed; - margin-inline-start: -100px !important; /* Don't affect layout. */ +/* margin-inline-start: -100px !important; / Don't affect layout. */ } .requests-menu-timings-division:-moz-locale-dir(ltr) { @@ -325,28 +526,37 @@ window { } .requests-menu-timings-division[division-scale=second], -.requests-menu-timings-division[division-scale=minute] { +.requests-menu-timings-division[division-scale=minute], +.requests-menu-timings-division[data-division-scale=second], +.requests-menu-timings-division[data-division-scale=minute] { font-weight: 600; } /* Network requests table: waterfall items */ .requests-menu-subitem.requests-menu-waterfall { - -moz-padding-start: 0px; - -moz-padding-end: 4px; + padding-inline-start: 0; + padding-inline-end: 4px; /* Background created on a in js. */ /* @see devtools/client/netmonitor/netmonitor-view.js */ background-image: -moz-element(#waterfall-background); background-repeat: repeat-y; - background-position: -1px center; + background-position: left center; } .requests-menu-subitem.requests-menu-waterfall:-moz-locale-dir(rtl) { background-position: right center; } +.requests-menu-timings { + display: flex; + flex: none; + align-items: center; + transform: scaleX(var(--timings-scale)); +} + .requests-menu-timings:-moz-locale-dir(ltr) { - transform-origin: left center; + transform-origin: left center; } .requests-menu-timings:-moz-locale-dir(rtl) { @@ -362,12 +572,17 @@ window { } .requests-menu-timings-total { - -moz-padding-start: 4px; + display: inline-block; + padding-inline-start: 4px; font-size: 85%; font-weight: 600; + white-space: nowrap; + /* This node should not be scaled - apply a reversed transformation */ + transform: scaleX(var(--timings-rev-scale)); } .requests-menu-timings-box { + display: inline-block; height: 9px; } @@ -398,13 +613,23 @@ window { /* SideMenuWidget */ #network-table .side-menu-widget-empty-text, -#network-table .side-menu-widget-container { +#network-table .side-menu-widget-container, +#network-table .request-list-empty-notice, +#network-table .request-list-container { background-color: var(--theme-body-background); } -#network-table .side-menu-widget-item { +#network-table .side-menu-widget-item, +.request-list-item { + display: flex; border-top-color: transparent; border-bottom-color: transparent; + padding: 0; +} + +.request-list-item.selected { + background-color: var(--theme-selection-background); + color: var(--theme-selection-color); } .side-menu-widget-item-contents { @@ -415,31 +640,47 @@ window { box-shadow: none !important; } -.side-menu-widget-item:not(.selected)[odd] { +.side-menu-widget-item:not(.selected)[odd], +.request-list-item:not(.selected).odd { background-color: var(--table-zebra-background); } -.side-menu-widget-item:not(.selected):hover { +.side-menu-widget-item:not(.selected):hover, +.request-list-item:not(.selected):hover { background-color: var(--theme-selection-background-semitransparent); } +/* Method Column */ + +.request-list-item.selected .requests-menu-method { + color: var(--theme-selection-color); +} + /* Network request details */ #details-pane-toggle { list-style-image: var(--theme-pane-collapse-image); } -#details-pane-toggle[pane-collapsed] { +#details-pane-toggle.pane-collapsed { list-style-image: var(--theme-pane-expand-image); } +#details-pane-toggle:-moz-locale-dir(ltr)::before, +#details-pane-toggle.pane-collapsed:-moz-locale-dir(rtl)::before { + background-image: var(--theme-pane-collapse-image); +} + +#details-pane-toggle.pane-collapsed:-moz-locale-dir(ltr)::before, +#details-pane-toggle:-moz-locale-dir(rtl)::before { + background-image: var(--theme-pane-expand-image); +} + /* Network request details tabpanels */ .tabpanel-content { background-color: var(--theme-sidebar-background); -} -.theme-dark .tabpanel-content { color: var(--theme-body-color); } @@ -454,14 +695,15 @@ window { } .tabpanel-summary-label { - -moz-padding-start: 4px; - -moz-padding-end: 3px; + display: inline-block; + padding-inline-start: 4px; + padding-inline-end: 3px; font-weight: 600; } .tabpanel-summary-value { color: inherit; - -moz-padding-start: 3px; + padding-inline-start: 3px; } /* Headers tabpanel */ @@ -477,12 +719,12 @@ window { #headers-summary-resend { margin-top: -10px; - -moz-margin-end: 6px; + margin-inline-end: 6px; } #toggle-raw-headers { margin-top: -10px; - -moz-margin-end: 6px; + margin-inline-end: 6px; } .raw-response-textarea { @@ -522,14 +764,28 @@ window { /* Timings tabpanel */ +#timings-tabpanel .tabpanel-summary-container { + display: flex; +} + #timings-tabpanel .tabpanel-summary-label { width: 10em; } +#timings-tabpanel .requests-menu-timings-container { + display: flex; + flex: 1; + align-items: center; +} + +#timings-tabpanel .requests-menu-timings-offset { + transition: width 0.2s ease-out; +} + #timings-tabpanel .requests-menu-timings-box { - transition: transform 0.2s ease-out; border: none; min-width: 1px; + transition: width 0.2s ease-out; } #timings-tabpanel .requests-menu-timings-total { @@ -539,17 +795,18 @@ window { /* Security tabpanel */ .security-info-section { - -moz-padding-start: 1em; + padding-inline-start: 1em; } #security-tabpanel { overflow: auto; + -moz-user-select: text; } .security-warning-icon { background-image: url("images/alerticon-warning.png"); background-size: 13px 12px; - -moz-margin-start: 5px; + margin-inline-start: 5px; vertical-align: top; width: 13px; height: 12px; @@ -589,6 +846,8 @@ window { padding: 0 5px; margin: 2px; color: var(--theme-body-color);*/ + margin-top: 0; + margin-bottom: 0; } .requests-menu-filter-button:hover { @@ -602,16 +861,32 @@ window { /* Performance analysis buttons */ #requests-menu-network-summary-button { - background: none; + display: flex; + flex-wrap: nowrap; + align-items: center; + font: inherit; box-shadow: none; border-color: transparent; - list-style-image: url("images/profiler-stopwatch.svg"); - -moz-padding-end: 0; + list-style-image: url("images/profiler-stopwatch-tbutton.svg"); cursor: pointer; - margin-inline-end: 1em; min-width: 0; } +#requests-menu-network-summary-button > .summary-info-icon { + background-image: url(images/profiler-stopwatch.svg); + filter: var(--icon-filter); + width: 16px; + height: 16px; +} + +#requests-menu-network-summary-button > .summary-info-text { + margin-inline-start: 0.5em; +} + +#requests-menu-network-summary-button:hover > .summary-info-icon, +#requests-menu-network-summary-button:hover > .summary-info-text { +} + /* Performance analysis view */ #network-statistics-toolbar { @@ -631,7 +906,7 @@ window { border-radius: 0; border-top: none; border-bottom: none; - -moz-border-start: none; + border-inline-start: none; } #network-statistics-view-splitter { @@ -649,13 +924,13 @@ window { } #network-statistics-charts .pie-chart-container { - -moz-margin-start: 3vw; - -moz-margin-end: 1vw; + margin-inline-start: 3vw; + margin-inline-end: 1vw; } #network-statistics-charts .table-chart-container { - -moz-margin-start: 1vw; - -moz-margin-end: 3vw; + margin-inline-start: 1vw; + margin-inline-end: 3vw; } .chart-colored-blob[name=html] { @@ -737,7 +1012,7 @@ window { .requests-menu-status { max-width: none; - width: 12vw; + width: 10vw; } .requests-menu-status-code { @@ -747,7 +1022,7 @@ window { .requests-menu-method, .requests-menu-method-box { max-width: none; - width: 14vw; + width: 12vw; } .requests-menu-icon-and-file { @@ -755,16 +1030,19 @@ window { } .requests-menu-security-and-domain { - width: 18vw; + width: 16vw; } - .requests-menu-type { + .requests-menu-cause, + .requests-menu-type, + .requests-menu-transferred, + .requests-menu-size { + max-width: none; width: 10vw; } - .requests-menu-transferred, - .requests-menu-size { - width: 12vw; + .requests-menu-waterfall { + display: none; } } @@ -792,3 +1070,62 @@ window { font-size: 85%; } } + +/* Overwrite tree-view cell colon and use l10n string instead */ +.treeTable .treeLabelCell::after { + content: ""; +} + +/* Layout additional warning icon in tree value cell */ +.security-info-value { + display: flex; +} + +.security-info-value .textbox-input { + text-overflow: ellipsis; + border: none; + background: none; + color: inherit; + width: 100%; + margin-inline-end: 2px; +} + +.security-info-value .textbox-input:focus { + outline: 0; + box-shadow: var(--theme-focus-box-shadow-textbox); +} + +.treeTable .treeLabel { + font-weight: 600; +} + +/* Customize default tree table style to align with devtools theme */ +.theme-light .treeTable .treeLabel, +.theme-light .treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover { + color: var(--theme-highlight-red); +} + +.theme-dark .treeTable .treeLabel, +.theme-dark .treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover { + color: var(--theme-highlight-purple); +} + +.theme-firebug .treeTable .treeLabel { + color: var(--theme-body-color); +} + +.treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover { + cursor: default; + text-decoration: none; +} + +/* + * FIXME: normal html block element cannot fill outer XUL element + * This workaround should be removed after sidebar is migrated to react + */ +#react-security-tabpanel-hook, +#react-timings-tabpanel-hook { + display: -moz-box; + -moz-box-orient: vertical; + -moz-box-flex: 1; +}