From b5846d500d2615ee36d722ee361f02078056c90c Mon Sep 17 00:00:00 2001 From: NTD Date: Fri, 2 Feb 2018 07:11:37 -0500 Subject: [PATCH] Issue N/A - Restore the Toolkit Error Console - Part 1: Toolkit --- browser/installer/package-manifest.in | 2 + .../components/console/content/console.css | 74 +++ toolkit/components/console/content/console.js | 111 ++++ .../components/console/content/console.xul | 101 ++++ .../console/content/consoleBindings.xml | 547 ++++++++++++++++++ toolkit/components/console/jar.mn | 9 + .../components/console/jsconsole-clhandler.js | 40 ++ .../console/jsconsole-clhandler.manifest | 3 + toolkit/components/console/moz.build | 14 + toolkit/components/console/tests/chrome.ini | 3 + .../console/tests/test_hugeURIs.xul | 64 ++ toolkit/components/moz.build | 1 + toolkit/locales/jar.mn | 2 + .../linux/global/console/console-toolbar.png | Bin 0 -> 659 bytes .../themes/linux/global/console/console.css | 156 +++++ .../themes/linux/global/console/console.png | Bin 0 -> 516 bytes toolkit/themes/linux/global/jar.mn | 4 + .../global/console/console-error-caret.gif | Bin 0 -> 55 bytes .../osx/global/console/console-error-dash.gif | Bin 0 -> 48 bytes toolkit/themes/osx/global/console/console.css | 165 ++++++ toolkit/themes/osx/global/jar.mn | 3 + .../global/console/console-error-caret.gif | Bin 0 -> 55 bytes .../global/console/console-error-dash.gif | Bin 0 -> 48 bytes .../global/console/console-toolbar.png | Bin 0 -> 5787 bytes .../themes/windows/global/console/console.css | 218 +++++++ .../windows/global/console/itemSelected.png | Bin 0 -> 459 bytes toolkit/themes/windows/global/jar.mn | 5 + 27 files changed, 1522 insertions(+) create mode 100644 toolkit/components/console/content/console.css create mode 100644 toolkit/components/console/content/console.js create mode 100644 toolkit/components/console/content/console.xul create mode 100644 toolkit/components/console/content/consoleBindings.xml create mode 100644 toolkit/components/console/jar.mn create mode 100644 toolkit/components/console/jsconsole-clhandler.js create mode 100644 toolkit/components/console/jsconsole-clhandler.manifest create mode 100644 toolkit/components/console/moz.build create mode 100644 toolkit/components/console/tests/chrome.ini create mode 100644 toolkit/components/console/tests/test_hugeURIs.xul create mode 100644 toolkit/themes/linux/global/console/console-toolbar.png create mode 100644 toolkit/themes/linux/global/console/console.css create mode 100644 toolkit/themes/linux/global/console/console.png create mode 100644 toolkit/themes/osx/global/console/console-error-caret.gif create mode 100644 toolkit/themes/osx/global/console/console-error-dash.gif create mode 100644 toolkit/themes/osx/global/console/console.css create mode 100644 toolkit/themes/windows/global/console/console-error-caret.gif create mode 100644 toolkit/themes/windows/global/console/console-error-dash.gif create mode 100644 toolkit/themes/windows/global/console/console-toolbar.png create mode 100644 toolkit/themes/windows/global/console/console.css create mode 100644 toolkit/themes/windows/global/console/itemSelected.png diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 6e50017143..b24f828e4d 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -382,6 +382,8 @@ @RESPATH@/components/DownloadLegacy.js @RESPATH@/components/BrowserPageThumbs.manifest @RESPATH@/components/crashmonitor.manifest +@RESPATH@/components/jsconsole-clhandler.manifest +@RESPATH@/components/jsconsole-clhandler.js @RESPATH@/components/nsCrashMonitor.js @RESPATH@/components/SiteSpecificUserAgent.js @RESPATH@/components/SiteSpecificUserAgent.manifest diff --git a/toolkit/components/console/content/console.css b/toolkit/components/console/content/console.css new file mode 100644 index 0000000000..e05f13c3ef --- /dev/null +++ b/toolkit/components/console/content/console.css @@ -0,0 +1,74 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + + +.console-box { + -moz-binding: url("chrome://global/content/consoleBindings.xml#console-box"); + overflow: auto; +} + +.console-rows { + -moz-user-focus: normal; +} + +.console-row[type="error"], +.console-row[type="warning"] { + -moz-binding: url("chrome://global/content/consoleBindings.xml#error"); +} + +.console-row[type="message"] { + -moz-binding: url("chrome://global/content/consoleBindings.xml#message"); +} + +.console-msg-text, +.console-error-msg { + white-space: pre-wrap; +} + +.console-error-source { + -moz-binding: url("chrome://global/content/consoleBindings.xml#console-error-source"); +} + +.console-dots { + width: 1px; +} + +/* :::::::::: hiding and showing of rows for each mode :::::::::: */ + +.console-box[mode="Warnings"] > .console-box-internal > .console-rows + > .console-row[type="error"], +.console-box[mode="Messages"] > .console-box-internal > .console-rows + > .console-row[type="error"] +{ + display: none; +} + +.console-box[mode="Errors"] > .console-box-internal > .console-rows + > .console-row[type="warning"], +.console-box[mode="Messages"] > .console-box-internal > .console-rows + > .console-row[type="warning"] +{ + display: none; +} + +.console-box[mode="Errors"] > .console-box-internal > .console-rows + > .console-row[type="message"], +.console-box[mode="Warnings"] > .console-box-internal > .console-rows + > .console-row[type="message"] +{ + display: none; +} + +.filtered-by-string { + display: none; +} + +/* If line number is 0, hide the line number section */ +.lineNumberRow[line="0"] { + display: none; +} + +#TextboxEval { + direction: ltr; +} diff --git a/toolkit/components/console/content/console.js b/toolkit/components/console/content/console.js new file mode 100644 index 0000000000..ad68026078 --- /dev/null +++ b/toolkit/components/console/content/console.js @@ -0,0 +1,111 @@ +// -*- indent-tabs-mode: nil; js-indent-level: 2 -*- + +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +Components.utils.import("resource://gre/modules/Services.jsm"); + +var gConsole, gConsoleBundle, gTextBoxEval, gEvaluator, gCodeToEvaluate; +var gFilter; + +/* :::::::: Console Initialization ::::::::::::::: */ + +window.onload = function() +{ + gConsole = document.getElementById("ConsoleBox"); + gConsoleBundle = document.getElementById("ConsoleBundle"); + gTextBoxEval = document.getElementById("TextboxEval"); + gEvaluator = document.getElementById("Evaluator"); + gFilter = document.getElementById("Filter"); + + updateSortCommand(gConsole.sortOrder); + updateModeCommand(gConsole.mode); + + gEvaluator.addEventListener("load", loadOrDisplayResult, true); +} + +/* :::::::: Console UI Functions ::::::::::::::: */ + +function changeFilter() +{ + gConsole.filter = gFilter.value; + + document.persist("ConsoleBox", "filter"); +} + +function changeMode(aMode) +{ + switch (aMode) { + case "Errors": + case "Warnings": + case "Messages": + gConsole.mode = aMode; + break; + case "All": + gConsole.mode = null; + } + + document.persist("ConsoleBox", "mode"); +} + +function clearConsole() +{ + gConsole.clear(); +} + +function changeSortOrder(aOrder) +{ + updateSortCommand(gConsole.sortOrder = aOrder); +} + +function updateSortCommand(aOrder) +{ + var orderString = aOrder == 'reverse' ? "Descend" : "Ascend"; + var bc = document.getElementById("Console:sort"+orderString); + bc.setAttribute("checked", true); + + orderString = aOrder == 'reverse' ? "Ascend" : "Descend"; + bc = document.getElementById("Console:sort"+orderString); + bc.setAttribute("checked", false); +} + +function updateModeCommand(aMode) +{ + /* aMode can end up invalid if it set by an extension that replaces */ + /* mode and then it is uninstalled or disabled */ + var bc = document.getElementById("Console:mode" + aMode) || + document.getElementById("Console:modeAll"); + bc.setAttribute("checked", true); +} + +function onEvalKeyPress(aEvent) +{ + if (aEvent.keyCode == 13) + evaluateTypein(); +} + +function evaluateTypein() +{ + gCodeToEvaluate = gTextBoxEval.value; + // reset the iframe first; the code will be evaluated in loadOrDisplayResult + // below, once about:blank has completed loading (see bug 385092) + gEvaluator.contentWindow.location = "about:blank"; +} + +function loadOrDisplayResult() +{ + if (gCodeToEvaluate) { + gEvaluator.contentWindow.location = "javascript: " + + gCodeToEvaluate.replace(/%/g, "%25"); + gCodeToEvaluate = ""; + return; + } + + var resultRange = gEvaluator.contentDocument.createRange(); + resultRange.selectNode(gEvaluator.contentDocument.documentElement); + var result = resultRange.toString(); + if (result) + Services.console.logStringMessage(result); + // or could use appendMessage which doesn't persist +} diff --git a/toolkit/components/console/content/console.xul b/toolkit/components/console/content/console.xul new file mode 100644 index 0000000000..0abd0a9811 --- /dev/null +++ b/toolkit/components/console/content/console.xul @@ -0,0 +1,101 @@ + + + + + + + + + + %console; +]> + + + + + diff --git a/toolkit/components/moz.build b/toolkit/components/moz.build index 74f3ad7f83..509332800e 100644 --- a/toolkit/components/moz.build +++ b/toolkit/components/moz.build @@ -18,6 +18,7 @@ DIRS += [ 'apppicker', 'asyncshutdown', 'commandlines', + 'console', 'contentprefs', 'contextualidentity', 'cookie', diff --git a/toolkit/locales/jar.mn b/toolkit/locales/jar.mn index 32add622bc..c28cf6f499 100644 --- a/toolkit/locales/jar.mn +++ b/toolkit/locales/jar.mn @@ -33,6 +33,8 @@ locale/@AB_CD@/global/config.dtd (%chrome/global/config.dtd) locale/@AB_CD@/global/config.properties (%chrome/global/config.properties) locale/@AB_CD@/global/contentAreaCommands.properties (%chrome/global/contentAreaCommands.properties) + locale/@AB_CD@/global/console.dtd (%chrome/global/console.dtd) + locale/@AB_CD@/global/console.properties (%chrome/global/console.properties) #ifndef MOZ_FENNEC locale/@AB_CD@/global/customizeToolbar.dtd (%chrome/global/customizeToolbar.dtd) locale/@AB_CD@/global/customizeToolbar.properties (%chrome/global/customizeToolbar.properties) diff --git a/toolkit/themes/linux/global/console/console-toolbar.png b/toolkit/themes/linux/global/console/console-toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..05277b65082ad54e62bff29201098e2ec057d221 GIT binary patch literal 659 zcmV;E0&M+>P) z;6~Jy;J;88qF5CbHOXWY5fm@v^Sp=5ko!c(_JfBrb8^n}o-dP0Ny-1Hso?Lbnb6dD zXf~*@Ycc{HaIxzuEdUeSJ6lhQM1qVK9B{#@1t1k4%r7ibv$>tVw3^-o_QC-doLT@{ zLt#N*;2ZV7g5EwKb=U+AI8bnA1>h7?kC&w0;%T#3vpOjl&>tA!UGPr6s|0f58~93{ z4tpB90fH!zO>&b>Ovf$(Pa3&SuN%*Pgs;PiON>2_-%#Kq<^v56w;sX=IUOJWrM2~yCph6oz^A(U zI$?NZaCvh2*DYEz0vvF`2{!^hFlrbLjL(cFhKbR^uoMZ_Vh{Gh0T-Nb^Cw-#C{IpQ tGCne@lZ%Q0Yq1A=;eZQH{ww;Y^#W*CP-ahq7C!(0002ovPDHLkV1nH{8rJ{- literal 0 HcmV?d00001 diff --git a/toolkit/themes/linux/global/console/console.css b/toolkit/themes/linux/global/console/console.css new file mode 100644 index 0000000000..7c900376d6 --- /dev/null +++ b/toolkit/themes/linux/global/console/console.css @@ -0,0 +1,156 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +/* ===== console.css ==================================================== + == Styles used by the Error Console window. + ====================================================================== */ + +@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +.console-box { + background-color: -moz-Field; + color: -moz-FieldText; +} + +/* ::::: console rows ::::: */ + +.console-row { + border-bottom: 1px dotted threedshadow; + padding: 4px 0px; +} + +.console-row-icon { + padding: 4px; + -moz-padding-start: 5px; + -moz-box-align: start !important; +} + +.console-row-msg > label:first-child, +.console-row-file > label:first-child { + display: none; +} + +.console-time { + font-weight: normal !important; +} + +.console-icon { + list-style-image: inherit; +} + +.console-error-msg { + margin-bottom: 2px; +} + +/* ..... error rows ..... */ + +.console-row-code { + padding-top: 3px; + padding-bottom: 3px; + -moz-padding-start: 3px; + -moz-padding-end: 0px; + color: #0000BB; + font-size: larger; +} + +.console-dots, +.console-caret { + height: 9px; +} + +.console-dots { + background: url("chrome://global/skin/console/console-error-dash.gif") repeat-x top; +} + +.console-caret { + width: 7px; + background: url("chrome://global/skin/console/console-error-caret.gif") no-repeat top; +} + +/* ..... message rows ..... */ + +.console-row[type="message"] { + font-family: monospace; +} + +/* ..... selected state ..... */ + +.console-row[selected="true"] { + background-image: url("chrome://global/skin/console/itemSelected.png"); +} + +.console-row-code[selected="true"], +.console-row-content[selected="true"] > .console-row-file > .console-error-source > .text-link { + color: inherit !important; +} + +/* ::::: icons ::::: */ + +.console-row[type="error"], +.console-row[type="exception"] { + list-style-image: url("moz-icon://stock/gtk-dialog-error?size=menu"); +} + +.console-row[type="error"] .console-row-msg, +.console-row[type="exception"] .console-row-msg { + font-weight: bold; +} + +.console-row[type="warning"] { + list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=menu"); +} + +.console-row[type="message"] { + list-style-image: url("moz-icon://stock/gtk-dialog-info?size=menu"); +} + +/* ::::: toolbars ::::: */ + +#TextboxEval { + margin: 2px !important; +} + +#ButtonEval { + margin-top: 2px !important; + margin-bottom: 2px !important; + -moz-margin-start: 0px !important; + -moz-margin-end: 2px !important; +} + +/* Toolbar icons */ + +toolbar#ToolbarMode toolbarbutton { + -moz-box-orient: horizontal; +} + +#Console\:modeAll { + list-style-image: url("chrome://global/skin/console/console-toolbar.png"); +} + +#Console\:modeErrors { + list-style-image: url("moz-icon://stock/gtk-dialog-error?size=toolbar"); +} + +#Console\:modeWarnings { + list-style-image: url("moz-icon://stock/gtk-dialog-warning?size=toolbar"); +} + +#Console\:modeMessages { + list-style-image: url("moz-icon://stock/gtk-dialog-info?size=toolbar"); +} + +#Console\:clear { + list-style-image: url("moz-icon://stock/gtk-clear?size=toolbar"); +} + +toolbar#ToolbarMode .toolbarbutton-text { + -moz-padding-end: 4px; +} + +/* ::::: Fix Error Console toolbar button text spacing ::::: */ + +.toolbarbutton-text { + -moz-padding-start: 0px; + -moz-padding-end: 5px; +} diff --git a/toolkit/themes/linux/global/console/console.png b/toolkit/themes/linux/global/console/console.png new file mode 100644 index 0000000000000000000000000000000000000000..c1be13b6dbafa0c78ae7ff85b4c44ce86c3756e0 GIT binary patch literal 516 zcmV+f0{i`mP)ym|BT#$xf2hY<`O7?^wJ-gD>c2x~2$ zfn48Mop79FNo((WH-(OqENkr*+1lQ`s@_&@x2WD$?bi0@mDF121_uV2SuAiJt5{WOd zMIpdiP*TvB?v3~-x6xVP?*4(JgFU8a7a}ffg=pXJ*d3s!JxDo{`N9&1`+FoEMbc5E zQVBABUt{ClBh()2oE-n<$J9>%F3(N@7#$mbcLyb&eIo?`0000 label:first-child { + font-weight: bold; +} + +.console-row-msg > label, .comsole-row-msg > description, .console-error-msg, .console-row-file, .console-row-code { + margin: 2px; +} + +.console-row-file > label { + margin: 0; +} + +.console-msg-text { + white-space: pre-wrap !important; +} +.console-icon { + list-style-image: inherit; + padding-right: 6px; + padding-left: 6px; +} + +/* ..... error rows ..... */ + +.console-row-code { + color: #0000BB; + font-size: larger; +} + +.console-dots, +.console-caret { + height: 9px; +} + +.console-dots { + background: url("chrome://global/skin/console/console-error-dash.gif") repeat-x top; +} + +.console-caret { + width: 7px; + background: url("chrome://global/skin/console/console-error-caret.gif") no-repeat top; +} + +/* ..... message rows ..... */ + +.console-row[type="message"] { + font-family: monospace; +} + +/* ..... selected state ..... */ + +.console-row[selected="true"] { + background-color: #3D80DF !important; + color: #FFF; +} + +.console-row-code[selected="true"], +.console-row-content[selected="true"] > .console-row-file, +.console-row-content[selected="true"] > .console-row-file > .console-error-source > .text-link { + color: #FFF !important; +} + +/* ::::: row colors ::::: */ + +.console-row[type="error"], +.console-row[type="exception"] { + background-color: #FFD0DC; +} + +.console-row[type="warning"] { + background-color: #F8F3CC; +} + +.console-row[type="message"] { + background-color: #D3EDFF; +} + +/* ::::: toolbars ::::: */ + +#ToolbarEval { + -moz-appearance: none; + background: @scopeBarBackground@; + border-bottom: @scopeBarSeparatorBorder@; + padding: 2px; +} + +#ToolbarEval > label { + font-weight: bold; + color: @scopeBarTitleColor@; +} + +#TextfieldEval { + margin: 2px !important; +} + +#ButtonEval { + margin: 0 4px; + padding: 1px 10px; + -moz-appearance: none; + border-radius: 10000px; + border: @roundButtonBorder@; + background: @roundButtonBackground@; + box-shadow: @roundButtonShadow@; +} + +#ButtonEval:hover:active { + text-shadow: @loweredShadow@; + background: @roundButtonPressedBackground@; + box-shadow: @roundButtonPressedShadow@; +} + +toolbarseparator { + min-height: 1em; + background-image: none; +} + +/* Toolbar icons */ + +#ToolbarMode { + -moz-box-pack: center; +} + +#ToolbarMode toolbarbutton > .toolbarbutton-icon { + display: none; +} + +#Console\:clear { + -moz-box-orient: vertical; + -moz-box-align: center; + -moz-appearance: toolbarbutton; + font: menu; + text-shadow: @loweredShadow@; + margin: 4px 0 9px; + padding: 0 1px; +} diff --git a/toolkit/themes/osx/global/jar.mn b/toolkit/themes/osx/global/jar.mn index def597650d..e979d4a8c3 100644 --- a/toolkit/themes/osx/global/jar.mn +++ b/toolkit/themes/osx/global/jar.mn @@ -73,6 +73,9 @@ toolkit.jar: skin/classic/global/arrow/panelarrow-vertical@2x.png (arrow/panelarrow-vertical@2x.png) skin/classic/global/checkbox/cbox-check.gif (checkbox/cbox-check.gif) skin/classic/global/checkbox/cbox-check-dis.gif (checkbox/cbox-check-dis.gif) + skin/classic/global/console/console-error-caret.gif (console/console-error-caret.gif) + skin/classic/global/console/console-error-dash.gif (console/console-error-dash.gif) +* skin/classic/global/console/console.css (console/console.css) skin/classic/global/dirListing/dirListing.css (dirListing/dirListing.css) skin/classic/global/dirListing/folder.png (dirListing/folder.png) skin/classic/global/dirListing/remote.png (dirListing/remote.png) diff --git a/toolkit/themes/windows/global/console/console-error-caret.gif b/toolkit/themes/windows/global/console/console-error-caret.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8f30f9263f49e8af6ed0d147103c604fcd67840 GIT binary patch literal 55 zcmZ?wbhEHbWM|-HXkcVuSQf~@z@Ye(1;}J%&;ha;Kr#$Wd_9Srt55TVPBLClrR&Yg GU=0BL015*D literal 0 HcmV?d00001 diff --git a/toolkit/themes/windows/global/console/console-error-dash.gif b/toolkit/themes/windows/global/console/console-error-dash.gif new file mode 100644 index 0000000000000000000000000000000000000000..74679a25e24478b8784b00f920661a0b2b279f24 GIT binary patch literal 48 ycmZ?wbhEHbWM$xFXkcJqSQZE*6o0ZXGB7YQ=m6OaAQ=WG_MZNgr@7)87_0%hD+j~? literal 0 HcmV?d00001 diff --git a/toolkit/themes/windows/global/console/console-toolbar.png b/toolkit/themes/windows/global/console/console-toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fc681f926815cf4be7bd0aa324bb846948994165 GIT binary patch literal 5787 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 r7oEXF%JLd#ql#c label:first-child, +.console-row-file > label:first-child { + display: none; +} + +.console-time { + font-weight: normal !important; +} + +.console-icon { + list-style-image: inherit; +} + +.console-error-msg { + margin-bottom: 2px; +} + +/* ..... error rows ..... */ + +.console-row-code { + padding-top: 3px; + padding-bottom: 3px; + -moz-padding-start: 3px; + -moz-padding-end: 0px; + color: #0000BB; + font-size: larger; +} + +.console-dots, +.console-caret { + height: 9px; +} + +.console-dots { + background: url("chrome://global/skin/console/console-error-dash.gif") repeat-x top; +} + +.console-caret { + width: 7px; + background: url("chrome://global/skin/console/console-error-caret.gif") no-repeat top; +} + +/* ..... message rows ..... */ + +.console-row[type="message"] { + font-family: monospace; +} + +/* ..... selected state ..... */ + +.console-row[selected="true"] { + background-image: url("chrome://global/skin/console/itemSelected.png"); +} + +.console-row-code[selected="true"], +.console-row-content[selected="true"] > .console-row-file > .console-error-source > .text-link { + color: inherit !important; +} + +/* ::::: icons ::::: */ + +.console-row[type="error"], +.console-row[type="exception"] { + list-style-image: url("chrome://global/skin/icons/error-16.png"); +} + +.console-row[type="error"] .console-row-msg, +.console-row[type="exception"] .console-row-msg { + font-weight: bold; +} + +.console-row[type="warning"] { + list-style-image: url("chrome://global/skin/icons/warning-16.png"); +} + +.console-row[type="message"] { + list-style-image: url("chrome://global/skin/icons/information-16.png"); +} + +/* ::::: toolbars ::::: */ + +#TextboxEval { + margin: 2px !important; +} + +#ButtonEval { + margin-top: 2px !important; + margin-bottom: 2px !important; + -moz-margin-start: 0px !important; + -moz-margin-end: 2px !important; +} + +toolbarseparator { + min-height: 1em; +} + +/* Toolbar icons */ + +#ToolbarMode toolbarbutton { + min-width: 57px; + padding: 4px !important; +} + +toolbar#ToolbarMode toolbarbutton:active, +toolbar#ToolbarMode toolbarbutton[checked="true"] { + -moz-padding-start: 5px !important; + -moz-padding-end: 3px !important; +} + + +toolbar#ToolbarMode toolbarbutton { + list-style-image: url("chrome://global/skin/console/console-toolbar.png"); + -moz-box-orient: horizontal; + padding: 4px !important; +} + +#Console\:modeAll { + -moz-image-region: rect(0px 24px 24px 0px); +} + +#Console\:modeAll { + -moz-image-region: rect(0px 24px 24px 0px); +} + +#Console\:modeAll:hover, +#Console\:modeAll[checked="true"] { + -moz-image-region: rect(24px 24px 48px 0px); +} + +#Console\:modeErrors { + -moz-image-region: rect(0px 96px 24px 72px); +} + +#Console\:modeErrors:hover, +#Console\:modeErrors[checked="true"] { + -moz-image-region: rect(24px 96px 48px 72px); +} + +#Console\:modeWarnings { + -moz-image-region: rect(0px 72px 24px 48px); +} + +#Console\:modeWarnings:hover, +#Console\:modeWarnings[checked="true"] { + -moz-image-region: rect(24px 72px 48px 48px); +} + +#Console\:modeMessages { + -moz-image-region: rect(0px 48px 24px 24px); +} + +#Console\:modeMessages:hover, +#Console\:modeMessages[checked="true"] { + -moz-image-region: rect(24px 48px 48px 24px); +} + +#Console\:clear { + -moz-image-region: rect(0px 120px 24px 96px); +} + +#Console\:clear:hover, +#Console\:clear[checked="true"] { + -moz-image-region: rect(24px 120px 48px 96px); +} + +toolbar#ToolbarMode .toolbarbutton-icon { + padding: 2px 0 !important; +} + +toolbar#ToolbarMode .toolbarbutton-text { + -moz-padding-end: 4px; +} + + +/* ::::: Fix Error Console toolbar button text spacing ::::: */ + +.toolbarbutton-text { + -moz-padding-start: 0px; + -moz-padding-end: 5px; +} + +%ifdef XP_WIN +#ToolbarMode { + -moz-appearance: -moz-win-browsertabbar-toolbox; +} + +#ToolbarEval { + -moz-appearance: toolbox; +} +%endif diff --git a/toolkit/themes/windows/global/console/itemSelected.png b/toolkit/themes/windows/global/console/itemSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..964cd6acc684520cd4a15241226ee50f5d11badb GIT binary patch literal 459 zcmeAS@N?(olHy`uVBq!ia0vp^DL{OJgAGW^*|;18QY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFvfbiIEGZ*dV9lD&_z+eg4D7A#a7-I0*bXpbm$y$dLj$d z9`mYbGE<1m|KH>y4@{S_EE=yPI3830O9d3}^qoC=n939Hu zVo8dd1Qd!=B0CyROk@Sh0@;icl}|gdxIheIR8nxDhz)c($U$IpNM%3SZZ>l*%hKf! S*-L@3!QkoY=d#Wzp$Pyz!+b^n literal 0 HcmV?d00001 diff --git a/toolkit/themes/windows/global/jar.mn b/toolkit/themes/windows/global/jar.mn index c3ad17af12..48613e7947 100644 --- a/toolkit/themes/windows/global/jar.mn +++ b/toolkit/themes/windows/global/jar.mn @@ -20,6 +20,11 @@ toolkit.jar: #endif skin/classic/global/colorpicker.css skin/classic/global/commonDialog.css +* skin/classic/global/console/console.css (console/console.css) + skin/classic/global/console/console-toolbar.png (console/console-toolbar.png) + skin/classic/global/console/console-error-caret.gif (console/console-error-caret.gif) + skin/classic/global/console/console-error-dash.gif (console/console-error-dash.gif) + skin/classic/global/console/itemSelected.png (console/itemSelected.png) skin/classic/global/findBar.css * skin/classic/global/global.css skin/classic/global/listbox.css