debugger.css 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. /* vim:set ts=2 sw=2 sts=2 et: */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. /* Sources and breakpoints pane */
  6. #sources-pane[selectedIndex="0"] + #sources-and-editor-splitter {
  7. border-color: transparent;
  8. }
  9. #sources-pane > tabs {
  10. border-inline-end: 1px solid;
  11. }
  12. #sources-pane .devtools-toolbar {
  13. border: none; /* Remove the devtools-toolbar bottom border. */
  14. border-inline-end: 1px solid;
  15. }
  16. #sources-pane > tabs,
  17. #sources-pane .devtools-toolbar {
  18. border-inline-end-color: var(--theme-splitter-color);
  19. }
  20. /* Sources and breakpoints list */
  21. .dbg-source-item {
  22. padding: 2px 0px;
  23. }
  24. .dbg-wasm-item .icon {
  25. display: block;
  26. background-image: url(chrome://devtools/skin/images/webconsole.svg);
  27. background-repeat: no-repeat;
  28. background-size: 72px 60px;
  29. /* show warning icon */
  30. background-position: -24px -24px;
  31. width: 10px;
  32. height: 10px;
  33. position: absolute;
  34. margin-inline-start: -15px;
  35. margin-top: 3px;
  36. }
  37. .dbg-breakpoint-line {
  38. font-weight: 600;
  39. }
  40. .dbg-breakpoint-text {
  41. padding-inline-start: 6px;
  42. font-style: italic;
  43. font-size: 90%;
  44. }
  45. .dbg-breakpoint-checkbox {
  46. width: 16px;
  47. height: 16px;
  48. margin: 2px;
  49. }
  50. /* Firebug theme uses breakpoint icon istead of a checkbox */
  51. .theme-firebug #sources-pane .dbg-breakpoint-checkbox .checkbox-check {
  52. -moz-appearance: none;
  53. border: none;
  54. background: url(chrome://devtools/skin/images/firebug/breakpoint.svg) no-repeat 50% 50%;
  55. }
  56. .theme-firebug #sources-pane .dbg-breakpoint-checkbox:not([checked="true"]) > .checkbox-check,
  57. .theme-firebug #sources-pane .dbg-breakpoint-checkbox:not([checked="true"]) ~ * {
  58. opacity: 0.5;
  59. }
  60. .theme-firebug #sources-pane .dbg-breakpoint-checkbox {
  61. padding-inline-end: 0;
  62. margin-inline-end: 0;
  63. }
  64. .dbg-breakpoint-condition-thrown-message {
  65. display: none;
  66. color: var(--theme-highlight-red);
  67. }
  68. .dbg-breakpoint.dbg-breakpoint-condition-thrown .dbg-breakpoint-condition-thrown-message {
  69. display: block;
  70. padding-inline-start: 0;
  71. }
  72. /* Sources toolbar */
  73. #sources-toolbar > .devtools-toolbarbutton,
  74. #sources-controls > .devtools-toolbarbutton {
  75. min-width: 32px;
  76. }
  77. #black-box {
  78. list-style-image: url(images/item-toggle.svg);
  79. }
  80. .theme-firebug #black-box {
  81. list-style-image: url(images/firebug/debugger-blackbox.svg);
  82. }
  83. #pretty-print {
  84. list-style-image: url(images/tool-styleeditor.svg);
  85. }
  86. .theme-firebug #pretty-print {
  87. list-style-image: url(images/firebug/debugger-prettyprint.svg);
  88. }
  89. #toggle-breakpoints {
  90. list-style-image: url(images/debugger-toggleBreakpoints.svg);
  91. -moz-image-region: rect(0,32px,16px,16px);
  92. }
  93. .theme-firebug #toggle-breakpoints {
  94. list-style-image: url(images/firebug/debugger-toggleBreakpoints.svg);
  95. -moz-image-region: unset;
  96. }
  97. #toggle-breakpoints[checked] {
  98. -moz-image-region: rect(0,16px,16px,0);
  99. }
  100. #toggle-breakpoints[checked] > image {
  101. /* This button has a special checked image, don't make it blue */
  102. filter: none;
  103. }
  104. #sources .black-boxed {
  105. color: rgba(128,128,128,0.4);
  106. }
  107. #sources .selected .black-boxed {
  108. color: rgba(255,255,255,0.4);
  109. }
  110. #sources .black-boxed ~ .dbg-breakpoint {
  111. display: none;
  112. }
  113. /* Debugger unblackbox button */
  114. #black-boxed-message-button > .button-box > .button-icon {
  115. width: 16px;
  116. height: 16px;
  117. background-image: url(images/item-toggle.svg);
  118. background-position: 0 0;
  119. background-size: cover;
  120. }
  121. /* Black box message and source progress meter */
  122. #black-boxed-message,
  123. #source-progress-container {
  124. /* Prevent the container deck from aquiring the size from this message. */
  125. min-width: 1px;
  126. min-height: 1px;
  127. }
  128. #source-progress {
  129. min-height: 2em;
  130. min-width: 40em;
  131. }
  132. #black-boxed-message-label,
  133. #black-boxed-message-button {
  134. text-align: center;
  135. font-size: 120%;
  136. }
  137. #black-boxed-message-button {
  138. margin-top: 1em;
  139. padding: .25em;
  140. }
  141. /* Breadcrumbs stack frames view */
  142. .dbg-stackframe-details {
  143. padding-inline-start: 4px;
  144. }
  145. /* Classic stack frames view */
  146. .dbg-classic-stackframe {
  147. display: block;
  148. }
  149. .dbg-classic-stackframe-title {
  150. font-weight: 600;
  151. }
  152. .dbg-classic-stackframe-details:-moz-locale-dir(ltr) {
  153. float: right;
  154. }
  155. .dbg-classic-stackframe-details:-moz-locale-dir(rtl) {
  156. float: left;
  157. }
  158. .dbg-classic-stackframe-details-url {
  159. max-width: 90%;
  160. text-align: end;
  161. }
  162. .dbg-classic-stackframe-details-url {
  163. color: var(--theme-content-color1);
  164. }
  165. .dbg-classic-stackframe-details-sep {
  166. color: var(--theme-body-color-alt)
  167. }
  168. .dbg-classic-stackframe-details-line {
  169. color: var(--theme-highlight-bluegrey);
  170. }
  171. #callstack-list .selected label {
  172. /* Text inside a selected item should not be custom colored. */
  173. color: inherit !important;
  174. }
  175. /* Tracer */
  176. #trace {
  177. list-style-image: url(images/tracer-icon.png);
  178. }
  179. @media (min-resolution: 1.1dppx) {
  180. #trace {
  181. list-style-image: url(images/tracer-icon@2x.png);
  182. }
  183. }
  184. #clear-tracer {
  185. /* Make this button as narrow as the text inside it. */
  186. min-width: 1px;
  187. }
  188. .trace-name {
  189. padding-inline-start: 4px;
  190. }
  191. /* Tracer dark theme */
  192. .theme-dark .trace-item {
  193. color: var(--theme-selection-color);
  194. }
  195. .theme-dark .trace-item.black-boxed {
  196. color: rgba(128,128,128,0.4);
  197. }
  198. .theme-dark .trace-item.selected-matching {
  199. background-color: rgba(86, 117, 185, .4); /* Select highlight blue at 40% alpha */
  200. }
  201. .theme-dark .selected > .trace-item {
  202. background-color: rgba(86, 117, 185, .6); /* Select highlight blue at 60% alpha */
  203. }
  204. .trace-call {
  205. color: var(--theme-highlight-blue);
  206. }
  207. .trace-return,
  208. .trace-yield {
  209. color: var(--theme-highlight-green);
  210. }
  211. .trace-throw {
  212. color: var(--theme-highlight-red);
  213. }
  214. .trace-param {
  215. color: var(--theme-content-color1);
  216. }
  217. .theme-dark .trace-syntax {
  218. color: var(--theme-content-color2);
  219. }
  220. /* Tracer light theme */
  221. .theme-light .trace-item {
  222. color: var(--theme-content-color1);
  223. }
  224. .theme-light .trace-item.black-boxed {
  225. color: rgba(128,128,128,0.4);
  226. }
  227. .theme-light .trace-item.selected-matching {
  228. background-color: rgba(76,158,217,.4); /* Select highlight blue at 40% alpha */
  229. }
  230. .theme-light .selected > .trace-item {
  231. background-color: rgba(76,158,217,.6); /* Select highlight blue at 60% alpha */
  232. }
  233. #tracer-traces .selected label {
  234. /* Text inside a selected item should not be custom colored. */
  235. color: inherit !important;
  236. }
  237. /* Watch expressions view */
  238. #expressions {
  239. min-height: 10px;
  240. max-height: 125px;
  241. }
  242. .dbg-expression {
  243. height: 20px;
  244. }
  245. .dbg-expression-arrow {
  246. background-image: var(--theme-command-line-image-focus);
  247. width: 16px;
  248. height: 16px;
  249. margin: 2px;
  250. }
  251. .dbg-expression-input {
  252. color: inherit;
  253. }
  254. .dbg-expression-button {
  255. -moz-appearance: none;
  256. border: none;
  257. background: none;
  258. text-decoration: underline;
  259. cursor: pointer;
  260. }
  261. .dbg-expression-button {
  262. color: var(--theme-highlight-blue);
  263. }
  264. /* Event listeners view */
  265. .dbg-event-listener-type {
  266. font-weight: 600;
  267. }
  268. .dbg-event-listener-location {
  269. color: var(--theme-content-color1);
  270. }
  271. .dbg-event-listener-separator {
  272. color: var(--theme-body-color-alt);
  273. }
  274. .dbg-event-listener-targets {
  275. color: var(--theme-highlight-bluegrey);
  276. }
  277. .theme-dark #event-listeners .selected {
  278. /* Selected items shouldn't be displayed differently. */
  279. background: none;
  280. color: #fff;
  281. }
  282. .theme-light #event-listeners .selected {
  283. /* Selected items shouldn't be displayed differently. */
  284. background: none;
  285. color: #000;
  286. }
  287. /* Searchbox and the search operations help panel */
  288. #searchbox {
  289. min-width: 220px;
  290. margin-inline-start: 1px;
  291. }
  292. #filter-label {
  293. margin-inline-start: 2px;
  294. }
  295. #searchbox-panel-operators {
  296. margin-top: 5px;
  297. margin-bottom: 8px;
  298. margin-inline-start: 2px;
  299. }
  300. .searchbox-panel-operator-button {
  301. min-width: 26px;
  302. margin-top: 0;
  303. margin-bottom: 0;
  304. margin-inline-start: 2px;
  305. margin-inline-end: 6px;
  306. text-align: center;
  307. }
  308. .searchbox-panel-operator-label {
  309. padding-bottom: 2px;
  310. }
  311. /* Searchbox results panel */
  312. #results-panel {
  313. border: none;
  314. }
  315. .results-panel-item {
  316. padding: 6px 8px;
  317. border-top: 1px solid rgba(128,128,128,0.2);
  318. }
  319. .results-panel-item:first-of-type {
  320. border-top: none;
  321. }
  322. .results-panel-item-label {
  323. font-weight: 600;
  324. }
  325. .results-panel-item-label-before {
  326. padding-inline-end: 6px;
  327. }
  328. .theme-dark .results-panel-item-label {
  329. color: var(--theme-selection-color);
  330. }
  331. .theme-light .results-panel-item-label {
  332. color: var(--theme-body-color);
  333. }
  334. .results-panel-item-label-before {
  335. color: var(--theme-highlight-bluegrey);
  336. }
  337. .results-panel-item-label-below {
  338. color: var(--theme-content-color3);
  339. }
  340. #results-panel .selected label {
  341. /* Text inside a selected item should not be custom colored. */
  342. color: inherit !important;
  343. }
  344. /* Sources search view */
  345. #globalsearch {
  346. min-height: 10px;
  347. max-height: 50vh;
  348. }
  349. .dbg-results-header {
  350. padding-inline-start: 6px;
  351. }
  352. .dbg-results-header-location {
  353. font-weight: 600;
  354. }
  355. .dbg-results-header-match-count {
  356. padding-inline-start: 6px;
  357. }
  358. .dbg-results-line-number {
  359. min-width: 3em;
  360. border-inline-end: 1px solid rgba(128,128,128,0.2);
  361. padding-inline-end: 4px;
  362. text-align: end;
  363. }
  364. .dbg-results-line-contents {
  365. padding-inline-start: 4px;
  366. }
  367. .dbg-results-line-contents-string[match=true] {
  368. background-color: rgba(255,255,0,0.2);
  369. border: 1px solid rgba(128,128,128,0.7);
  370. border-radius: 4px;
  371. margin-top: -1px !important;
  372. margin-bottom: -1px !important;
  373. cursor: pointer;
  374. }
  375. .dbg-results-line-contents-string[match=true][focusing] {
  376. transition: transform 0.3s ease-in-out;
  377. }
  378. .dbg-results-line-contents-string[match=true][focused] {
  379. transition-duration: 0.1s;
  380. transform: scale(1.75, 1.75);
  381. }
  382. .dbg-source-results:not(.selected):hover {
  383. background-color: var(--theme-sidebar-background);
  384. }
  385. .dbg-results-header {
  386. background-color: var(--theme-tab-toolbar-background);
  387. }
  388. .theme-dark .dbg-results-header {
  389. color: var(--theme-content-color1);
  390. }
  391. .theme-light .dbg-results-header {
  392. color: var(--theme-content-color3);
  393. }
  394. .theme-dark .dbg-search-result:hover {
  395. background-color: rgba(86, 117, 185, .2); /* Select highlight blue at 40% alpha */
  396. }
  397. .theme-light .dbg-search-result:hover {
  398. background-color: rgba(76,158,217,.2); /* Select highlight blue at 40% alpha */
  399. }
  400. .dbg-results-header-match-count {
  401. color: var(--theme-content-color3);
  402. }
  403. .dbg-results-line-number {
  404. background-color: var(--theme-tab-toolbar-background);
  405. color: var(--theme-body-color-alt);
  406. }
  407. .dbg-results-line-contents-string {
  408. color: var(--theme-body-color-alt);
  409. }
  410. .theme-dark .dbg-results-line-contents-string[match=true] {
  411. color: var(--theme-selection-color);
  412. }
  413. .theme-light .dbg-results-line-contents-string[match=true] {
  414. color: var(--theme-body-color);
  415. }
  416. /* Toolbar controls */
  417. #resume {
  418. list-style-image: url(images/pause.svg);
  419. }
  420. #resume[checked] {
  421. list-style-image: url(images/play.svg);
  422. }
  423. .theme-firebug #resume {
  424. list-style-image: url(images/firebug/pause.svg);
  425. }
  426. .theme-firebug #resume[checked] {
  427. list-style-image: url(images/firebug/play.svg);
  428. }
  429. #resume[break-on-next] {
  430. background: var(--theme-highlight-lightorange);
  431. }
  432. #step-over {
  433. list-style-image: url(images/debugger-step-over.svg);
  434. }
  435. #step-in {
  436. list-style-image: url(images/debugger-step-in.svg);
  437. }
  438. #step-out {
  439. list-style-image: url(images/debugger-step-out.svg);
  440. }
  441. .theme-firebug #step-over {
  442. list-style-image: url(images/firebug/debugger-step-over.svg);
  443. }
  444. .theme-firebug #step-in {
  445. list-style-image: url(images/firebug/debugger-step-in.svg);
  446. }
  447. .theme-firebug #step-out {
  448. list-style-image: url(images/firebug/debugger-step-out.svg);
  449. }
  450. #instruments-pane-toggle {
  451. list-style-image: var(--theme-pane-collapse-image);
  452. }
  453. #instruments-pane-toggle.pane-collapsed {
  454. list-style-image: var(--theme-pane-expand-image);
  455. }
  456. /* Horizontal vs. vertical layout */
  457. #vertical-layout-panes-container {
  458. min-height: 35vh;
  459. max-height: 80vh;
  460. }
  461. #body[layout=vertical] #sources-pane > tabs {
  462. border-inline-end: none;
  463. }
  464. #body[layout=vertical] #instruments-pane {
  465. margin: 0 !important;
  466. /* To prevent all the margin hacks to hide the sidebar. */
  467. }
  468. #body[layout=vertical] .side-menu-widget-container,
  469. #body[layout=vertical] .side-menu-widget-empty-text {
  470. box-shadow: none !important;
  471. }
  472. #body[layout=vertical] .side-menu-widget-item-arrow {
  473. background-image: none !important;
  474. }
  475. #body[layout=vertical] .side-menu-widget-group,
  476. #body[layout=vertical] .side-menu-widget-item {
  477. margin-inline-end: 0;
  478. }
  479. /* Firebug theme customization of source group title */
  480. .theme-firebug #sources-pane .side-menu-widget-group-title {
  481. border-bottom: none;
  482. padding: 2px 4px;
  483. background: var(--theme-header-background);
  484. font-weight: bold;
  485. }
  486. /* Sections titles (toolbars) in Variables panel they have different height */
  487. .theme-firebug #variables-tabpanel .title.devtools-toolbar {
  488. display: -moz-box;
  489. height: 20px !important;
  490. }
  491. /* Firebug theme support for the Callstack Panel */
  492. .theme-firebug #callstack-list {
  493. font-family: var(--proportional-font-family);
  494. }
  495. .theme-firebug #callstack-list .dbg-classic-stackframe-title {
  496. color: var(--theme-content-color2);
  497. font-weight: normal;
  498. font-family: monospace;
  499. }
  500. .theme-firebug #callstack-list .side-menu-widget-item {
  501. padding-top: 2px;
  502. padding-bottom: 2px;
  503. }
  504. .theme-firebug #callstack-list .dbg-classic-stackframe-details-url,
  505. .theme-firebug #callstack-list .dbg-classic-stackframe-details-sep,
  506. .theme-firebug #callstack-list .dbg-classic-stackframe-details-line {
  507. color: blue;
  508. font-weight: bold;
  509. }
  510. .theme-firebug #callstack-list .side-menu-widget-item {
  511. margin: 0 4px;
  512. }
  513. .theme-firebug #callstack-list .side-menu-widget-item.selected {
  514. color: var(--theme-selection-color);
  515. }
  516. .theme-firebug #callstack-list .side-menu-widget-item:first-child {
  517. border-top: none;
  518. }