X-Git-Url: https://git-public.kairo.at/?p=themes.git;a=blobdiff_plain;f=LCARStrek%2Fdevtools%2Fwebconsole.css;h=095b405dc4b052349cb63eeb601b6f26408f8563;hp=c7d43527cfb4fdd19dac1c2e16cbbcf58b2d3e6d;hb=b1d1a8bbaca0a31b2c2581911368b6892d447718;hpb=dc9d5d64a3f915cb832f43050545b432f33504f7 diff --git a/LCARStrek/devtools/webconsole.css b/LCARStrek/devtools/webconsole.css index c7d43527..095b405d 100644 --- a/LCARStrek/devtools/webconsole.css +++ b/LCARStrek/devtools/webconsole.css @@ -2,6 +2,18 @@ * 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/. */ +/* Webconsole specific theme variables */ + +.theme-dark, +.theme-light, +.theme-firebug { + --error-color: #FF0000; + --error-background-color: #FF0000; + --error-background-text: #000000; + --warning-background-color: #FFCF00; + --warning-background-text: #000000; +} + window { padding: 0; } @@ -15,8 +27,6 @@ window { width: 200px; } -/* === BEGIN webconsole.inc.css === */ - /* General output styles */ a { @@ -32,7 +42,6 @@ a { .message { display: flex; - flex: none; padding: 0 7px; width: 100%; box-sizing: border-box; @@ -41,7 +50,7 @@ a { .message > .prefix, .message > .timestamp { flex: none; - color: #8050B0; + color: var(--theme-comment); margin: 3px 6px 0 0; } @@ -59,7 +68,7 @@ a { .message > .icon::before { content: ""; - background-image: url("chrome://devtools/skin/webconsole.svg"); + background-image: url("chrome://devtools/skin/images/webconsole.svg"); background-position: 12px 12px; background-repeat: no-repeat; background-size: 72px 60px; @@ -69,7 +78,8 @@ a { } .message > .message-body-wrapper { - flex: 1 1 100%; + flex: auto; + min-width: 0px; margin: 3px; } @@ -97,36 +107,36 @@ a { } .message-location { - display: flex; - flex: none; - align-self: flex-start; - justify-content: flex-end; - width: 10em; - margin-top: 3px; - color: #3333FF; - text-decoration: none; - white-space: nowrap; + max-width: 40%; } -.message-location:hover, -.message-location:focus { - text-decoration: underline; +.stack-trace { + /* The markup contains extra whitespace to improve formatting of clipboard text. + Make sure this whitespace doesn't affect the HTML rendering */ + white-space: normal; } -.message-location > .filename { - text-overflow: ellipsis; - text-align: end; - overflow: hidden; +.stack-trace .frame-link-source, +.message-location .frame-link-source { + /* Makes the file name truncated (and ellipsis shown) on the left side */ + direction: rtl; white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } -.message-location > .line-number { - flex: none; +.stack-trace .frame-link-source-inner, +.message-location .frame-link-source-inner { + /* Enforce LTR direction for the file name - fixes bug 1290056 */ + direction: ltr; + unicode-bidi: embed; } -.hud-msg-node[selected="true"] > .webconsole-timestamp, -.hud-msg-node[selected="true"] > .webconsole-location { - color: inherit; +.stack-trace .frame-link-function-display-name { + max-width: 50%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } .message-flex-body { @@ -140,35 +150,22 @@ a { .message-flex-body > .message-body { display: block; - flex: 1 1 auto; - vertical-align: middle; -} - -.message-flex-body > .message-location { - margin-top: 0; -} - -.jsterm-input-container { - border-top-width: 1px; - border-top-style: solid; + flex: auto; } #output-wrapper { direction: ltr; overflow: auto; -} - -#output-container { -moz-user-select: text; - -moz-box-flex: 1; - display: flex; - flex-direction: column; - align-items: flex-start; + position: relative; } +/* The width on #output-container is set to a hardcoded px in webconsole.js + since it's way faster than using 100% with -moz-box-flex (see Bug 1237368) */ + #output-container.hideTimestamps > .message { - -moz-padding-start: 0; - -moz-margin-start: 7px; + padding-inline-start: 0; + margin-inline-start: 7px; width: calc(100% - 7px); } @@ -194,39 +191,26 @@ a { /* WebConsole colored drops */ -.hud-console-filter-toolbar toolbarbutton > .toolbarbutton-text { - padding: 2px 2px 3px; -} - .webconsole-filter-button { -moz-user-focus: normal; } +.webconsole-filter-button > .toolbarbutton-menubutton-button { + -moz-box-orient: horizontal; /* saving vertical space in toolbar */ +} + .webconsole-filter-button > .toolbarbutton-menubutton-button:before { content: ""; display: inline-block; height: 8px; width: 8px; border-radius: 50%; - -moz-margin-start: 2px; - -moz-margin-end: 2px; + margin-inline-start: 1px; + margin-inline-end: 3px; border-width: 1px; border-style: solid; } -.webconsole-filter-button > .toolbarbutton-menubutton-button { - -moz-box-orient: horizontal; -} - -.webconsole-filter-button menuitem { - -moz-image-region: auto; -} - -.hud-filter-box { - margin-top: 0; - margin-bottom: 0; -} - /* Network styles */ .webconsole-filter-button[category="net"] > .toolbarbutton-menubutton-button:before { background-image: linear-gradient(#BF9B00, #7F6700); @@ -237,8 +221,9 @@ a { background-color: var(--theme-contrast-background); } -.message[severity=error] { - background-color: #FF0000; +.message[severity=error], +.message.error { + background-color: var(--error-background-color); } .console-string { @@ -246,7 +231,7 @@ a { } .message[severity=error] .console-string { - color: #000000; + background-color: var(--error-background-text); } .theme-selected .console-string, @@ -257,22 +242,27 @@ a { } .message[category=network] > .indent { - -moz-border-end: solid #FF0000 6px; + border-inline-end: solid var(--theme-body-color-alt) 6px; } -.message[category=network][severity=error] > .icon::before { +.message[category=network][severity=error] > .icon::before, +.message.network.error > .icon::before { background-position: -12px 0; } -.message[category=network] > .message-body { +.message[category=network] > .message-body, +.message.network > .message-body { display: flex; + flex-wrap: wrap; } -.message[category=network] .method { +.message[category=network] .method, +.message.network .method { flex: none; } -.message[category=network]:not(.navigation-marker) .url { +.message[category=network]:not(.navigation-marker) .url, +.message.network:not(.navigation-marker) .url { flex: 1 1 auto; /* Make sure the URL is very small initially, let flex change width as needed. */ width: 100px; @@ -282,21 +272,24 @@ a { text-overflow: ellipsis; } -.message[category=network] .status { +.message[category=network] .status, +.message.network .status { flex: none; - -moz-margin-start: 6px; + margin-inline-start: 6px; } -.message[category=network].mixed-content .url { - color: #FF0000; +.message[category=network].mixed-content .url, +.message.network.mixed-content .url { + color: var(--theme-highlight-red); } .message .learn-more-link { - color: #3333FF; + color: var(--theme-highlight-blue); margin: 0 6px; } -.message[category=network] .xhr { +.message[category=network] .xhr, +.message.network .xhr { background-color: var(--theme-body-color-alt); color: var(--theme-body-background); border-radius: 3px; @@ -304,7 +297,8 @@ a { font-size: 10px; padding: 2px; line-height: 10px; - -moz-margin-end: 1ex; + margin-inline-start: 3px; + margin-inline-end: 1ex; } /* CSS styles */ @@ -313,15 +307,18 @@ a { border-color: #9C9CFF; } -.message[category=cssparser] > .indent { - -moz-border-end: solid #9C9CFF 6px; +.message[category=cssparser] > .indent, +.message.cssparser > .indent { + border-inline-end: solid #9C9CFF 6px; } -.message[category=cssparser][severity=error] > .icon::before { +.message[category=cssparser][severity=error] > .icon::before, +.message.cssparser.error > .icon::before { background-position: -12px -12px; } -.message[category=cssparser][severity=warn] > .icon::before { +.message[category=cssparser][severity=warn] > .icon::before, +.message.cssparser.warn > .icon::before { background-position: -24px -12px; } @@ -331,15 +328,18 @@ a { border-color: #FF9F00; } -.message[category=exception] > .indent { - -moz-border-end: solid #FF9F00 6px; +.message[category=exception] > .indent, +.message.exception > .indent { + border-inline-end: solid #FF9F00 6px; } -.message[category=exception][severity=error] > .icon::before { +.message[category=exception][severity=error] > .icon::before, +.message.exception.error > .icon::before { background-position: -12px -24px; } -.message[category=exception][severity=warn] > .icon::before { +.message[category=exception][severity=warn] > .icon::before, +.message.exception.warn > .icon::before { background-position: -24px -24px; } @@ -349,23 +349,31 @@ a { border-color: #8050B0; } -.message[category=console] > .indent { - -moz-border-end: solid #8050B0 6px; +.message[category=console] > .indent, +.message.console-api > .indent { + border-inline-end: solid #8050B0 6px; } .message[category=console][severity=error] > .icon::before, .message[category=output][severity=error] > .icon::before, -.message[category=server][severity=error] > .icon::before { +.message[category=server][severity=error] > .icon::before, +.message.console-api.error > .icon::before, +.message.output.error > .icon::before, +.message.server.error > .icon::before { background-position: -12px -36px; } .message[category=console][severity=warn] > .icon::before, -.message[category=server][severity=warn] > .icon::before { +.message[category=server][severity=warn] > .icon::before, +.message.console-api.warn > .icon::before, +.message.server.warn > .icon::before { background-position: -24px -36px; } .message[category=console][severity=info] > .icon::before, -.message[category=server][severity=info] > .icon::before { +.message[category=server][severity=info] > .icon::before, +.message.console-api.info > .icon::before, +.message.server.info > .icon::before { background-position: -36px -36px; } @@ -376,48 +384,72 @@ a { border-color: #008484; } -.message[category=server] > .indent { - -moz-border-end: solid #8050B0 6px; +.message[category=server] > .indent, +.message.server > .indent { + border-inline-end: solid #8050B0 6px; } /* Input and output styles */ .message[category=input] > .indent, -.message[category=output] > .indent { - -moz-border-end: solid #A09090 6px; +.message[category=output] > .indent, +.message.command > .indent, +.message.result > .indent { + border-inline-end: solid #A09090 6px; } -.message[category=input] > .icon::before { +.message[category=input] > .icon::before, +.message.command > .icon::before { background-position: -48px -36px; } -.message[category=output] > .icon::before { +.message[category=output] > .icon::before, +.message.result > .icon::before { background-position: -60px -36px; } /* JSTerm Styles */ +.jsterm-input-container { + background-color: var(--theme-tab-toolbar-background); + border-top: 1px solid var(--theme-splitter-color); +} .jsterm-input-node, .jsterm-complete-node { - -moz-padding-start: 16px; - margin: 3px 0 0 0; + border: none; + padding: 0; + padding-inline-start: 20px; + margin: 0; + -moz-appearance: none; background-color: transparent; } +.jsterm-input-node[focused="true"] { + background-image: var(--theme-command-line-image-focus); + box-shadow: none; +} + +.jsterm-complete-node { + color: var(--theme-comment); +} + .jsterm-input-node { - background-image: -moz-image-rect(url("chrome://devtools/skin/commandline-icon.png"), 0, 32, 16, 16); + /* Always allow scrolling on input - it auto expands in js by setting height, + but don't want it to get bigger than the window. 24px = toolbar height. */ + max-height: calc(90vh - 24px); + background-image: var(--theme-command-line-image); background-repeat: no-repeat; background-size: 16px 16px; -} - -@media (min-resolution: 1.1dppx) { - .jsterm-input-node { - background-image: -moz-image-rect(url('chrome://devtools/skin/commandline-icon@2x.png'), 0, 64, 32, 32); - } + background-position: 4px 50%; + color: var(--theme-content-color1); } :-moz-any(.jsterm-input-node, .jsterm-complete-node) > .textbox-input-box > .textbox-textarea { overflow-x: hidden; + /* Set padding for console input on textbox to make sure it is inlcuded in + scrollHeight that is used when resizing JSTerminal's input. Note: textbox + default style has important already */ + padding: 4px 0 !important; } .inlined-variables-view .message-body { @@ -429,13 +461,13 @@ a { } .inlined-variables-view iframe { - display: block; + display: block; flex: 1; margin-top: 5px; margin-bottom: 15px; - -moz-margin-end: 15px; - border: 1px solid #9C9CFF; - border-radius: 4px; + margin-inline-end: 15px; + border: 1px solid var(--theme-splitter-color); + border-radius: 3px; } #webconsole-sidebar > tabs { @@ -449,8 +481,9 @@ a { /* Security styles */ -.message[category=security] > .indent { - -moz-border-end: solid #FF0000 6px; +.message[category=security] > .indent, +.message.security > .indent { + border-inline-end: solid #FF0000 6px; } .webconsole-filter-button[category="security"] > .toolbarbutton-menubutton-button:before { @@ -458,11 +491,13 @@ a { border-color: #FFCF00; } -.message[category=security][severity=error] > .icon::before { +.message[category=security][severity=error] > .icon::before, +.message.security.error > .icon::before { background-position: -12px -48px; } -.message[category=security][severity=warn] > .icon::before { +.message[category=security][severity=warn] > .icon::before, +.message.security.warn > .icon::before { background-position: -24px -48px; } @@ -475,18 +510,17 @@ a { } .navigation-marker .url { - -moz-padding-end: 9px; + padding-inline-end: 9px; text-decoration: none; + background: var(--theme-body-background); } .stacktrace { display: none; - list-style: none; - padding: 0 1em 0 1.5em; + padding: 5px 10px; margin: 5px 0 0 0; - max-height: 10em; overflow-y: auto; - border: 1px solid #A09090; + border: 1px solid var(--theme-splitter-color); border-radius: 3px; } @@ -494,28 +528,36 @@ a { margin: 5px 0 0 0; } +/* Force cells to only show one row of contents. Getting normal ellipses + behavior has proven impossible so far, so this is better than letting + rows get out of vertical alignment when one cell has a lot of content. */ +.consoletable .table-widget-cell > span { + overflow: hidden; + display: flex; + height: 1.25em; + line-height: 1.25em; +} + .message[severity=error] .stacktrace { background-color: #000000; } -.message[open] .stacktrace { +.message[open] .stacktrace, +.message.open .stacktrace { display: block; } .message .theme-twisty { display: inline-block; vertical-align: middle; - margin: 0 3px 0 0; -} - -.stacktrace li { - display: flex; - margin: 0; + margin: 3px 0 0 0; + flex-shrink: 0; } -.stacktrace .function { - display: block; - flex: 1 1 auto; +/*Do not mirror the twisty because container force to ltr */ +.message .theme-twisty:dir(rtl), +.message .theme-twisty:-moz-locale-dir(rtl) { + transform: none; } .cm-s-mozilla a[class] { @@ -528,47 +570,26 @@ a { text-decoration: underline; } +a.learn-more-link.webconsole-learn-more-link { + font-style: normal; +} + /* Open DOMNode in inspector button */ .open-inspector { background: url("chrome://devtools/skin/images/vview-open-inspector.png") no-repeat 0 0; padding-left: 16px; - margin-left: 5px; + margin-inline-start: 5px; cursor: pointer; } .elementNode:hover .open-inspector, .open-inspector:hover { - background-position: -32px 0; + filter: url(images/filters.svg#checked-icon-state); } +.elementNode:hover .open-inspector:active, .open-inspector:active { - background-position: -16px 0; -} - -/* Replace these values with CSS variables as available */ -.jsterm-input-container { - background-color: var(--theme-toolbar-background); - border-color: var(--theme-splitter-color); -} - -.jsterm-input-node { - color: var(--theme-highlight-pink); -} - -.jsterm-complete-node { - color: var(--theme-comment); -} - -.navigation-marker .url { - background: var(--theme-body-background); -} - -.inlined-variables-view iframe { - border-color: #A09090; -} - -.stacktrace { - border-color: #A09090; + filter: url(images/filters.svg#checked-icon-state); } @media (max-width: 500px) { @@ -587,7 +608,7 @@ a { .webconsole-filter-button > .toolbarbutton-menubutton-button:before { width: 12px; height: 12px; - margin-left: 1px; + margin-inline-start: 1px; } .toolbarbutton-menubutton-dropmarker { margin: 0px; @@ -612,4 +633,136 @@ a { */ } -/* === END webconsole.inc.css === */ +/* + * This hardcoded width likely due to a toolkit Windows specific bug. + * See http://hg.mozilla.org/mozilla-central/annotate/f38d6df93cad/toolkit/themes/winstripe/global/textbox-aero.css#l7 + */ + +:root[platform="win"] .hud-filter-box { + width: 200px; +} + +/* NEW CONSOLE STYLES */ + +#output-wrapper > div { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +#output-container { + height: 100%; +} + +.webconsole-output-wrapper { + display: flex; + flex-direction: column; + height: 100%; + -moz-user-focus: normal; +} + +.webconsole-filterbar-wrapper { + flex-grow: 0; +} + +.webconsole-output { + flex: 1; + overflow: auto; +} + +.webconsole-filterbar-primary { + display: flex; +} + +.devtools-toolbar.webconsole-filterbar-secondary { + height: initial; +} + +.webconsole-filterbar-primary .devtools-plaininput { + flex: 1 1 100%; +} + +.webconsole-output.hideTimestamps > .message > .timestamp { + display: none; +} + +.message.startGroup .message-body, +.message.startGroupCollapsed .message-body { + color: var(--theme-body-color); + font-weight: bold; +} + +.webconsole-output-wrapper .message > .icon { + margin: 3px 0 0 0; + padding: 0 0 0 6px; +} + +.message.error > .icon::before { + background-position: -12px -36px; +} + +.message.warn > .icon::before { + background-position: -24px -36px; +} + +.message.info > .icon::before { + background-position: -36px -36px; +} + +.message.network .method { + margin-inline-end: 5px; +} + +.webconsole-output-wrapper .message .indent { + display: inline-block; + border-inline-end: solid 1px var(--theme-splitter-color); +} + +.message.startGroup .indent, +.message.startGroupCollapsed .indent { + border-inline-end-color: transparent; + margin-inline-end: 5px; +} + +.message.startGroup .icon, +.message.startGroupCollapsed .icon { + display: none; +} + +/* console.table() */ +.new-consoletable { + width: 100%; + border-collapse: collapse; + --consoletable-border: 1px solid var(--table-splitter-color); +} + +.new-consoletable thead, +.new-consoletable tbody { + background-color: var(--theme-body-background); +} + +.new-consoletable th { + background-color: var(--theme-selection-background); + color: var(--theme-selection-color); + margin: 0; + padding: 5px 0 0; + font-weight: inherit; + border-inline-end: var(--consoletable-border); + border-bottom: var(--consoletable-border); +} + +.new-consoletable tr:nth-of-type(even) { + background-color: var(--table-zebra-background); +} + +.new-consoletable td { + padding: 3px 4px; + min-width: 100px; + -moz-user-focus: normal; + color: var(--theme-body-color); + border-inline-end: var(--consoletable-border); + height: 1.25em; + line-height: 1.25em; +}