apply height workaround to page info only
[themes.git] / LCARStrek / devtools / netmonitor.css
CommitLineData
cc7e70eb
RK
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
11ddc405
RK
6@import url("resource://devtools/client/shared/components/tree/tree-view.css");
7@import url(variables.css); /* No idea why this is needed but we get error messages without it */
2af95f78
RK
8@import "resource://devtools/client/shared/components/tabs/tabs.css";
9@import "resource://devtools/client/shared/components/tabs/tabbar.css";
11ddc405 10
cc7e70eb
RK
11window {
12 padding: 0;
13}
14
9f6401c2
RK
15#toolbar-labels {
16 overflow: hidden;
11ddc405
RK
17 display: flex;
18 flex: auto;
9f6401c2
RK
19}
20
21.devtools-toolbar-container {
22 display: flex;
23 justify-content: space-between;
24}
25
26.devtools-toolbar-group {
27 display: flex;
28 flex: 0 0 auto;
29 flex-wrap: nowrap;
30 align-items: stretch;
31}
32
33/**
34 * Collapsed details pane needs to be truly hidden to prevent both accessibility
35 * tools and keyboard from accessing its contents.
36 */
37#details-pane.pane-collapsed {
38 visibility: hidden;
39}
40
41#details-pane-toggle[disabled] {
42 display: none;
43}
44
45#custom-pane {
46 overflow: auto;
47}
48
49#response-content-image-box {
50 overflow: auto;
51}
52
53#network-statistics-charts {
54 overflow: auto;
55}
56
57.cropped-textbox .textbox-input {
58 /* workaround for textbox not supporting the @crop attribute */
59 text-overflow: ellipsis;
60}
61
62/* Responsive sidebar */
63@media (max-width: 700px) {
64 #toolbar-spacer,
65 #details-pane-toggle,
66 #details-pane.pane-collapsed,
67 .requests-menu-waterfall,
68 #requests-menu-network-summary-button > .summary-info-text {
69 display: none;
70 }
71}
72
2e389898
RK
73:root.theme-dark,
74:root.theme-light {
19988d2d 75 --table-splitter-color: #A09090;
2e389898 76 --table-zebra-background: rgba(255,159,0,0.1);
7d6161c5
RK
77
78 --timing-blocked-color: #FF0000;
79 --timing-dns-color: #E7ADE7; /* pink */
80 --timing-connect-color: #FF9F00; /* orange */
81 --timing-send-color: #FFCF00; /* light blue */
6f751fd1 82 --timing-wait-color: #9C9CFF; /* blue grey */
7d6161c5
RK
83 --timing-receive-color: #A09090; /* green */
84
85 --sort-ascending-image: url(chrome://devtools/skin/images/sort-arrows.svg#ascending);
86 --sort-descending-image: url(chrome://devtools/skin/images/sort-arrows.svg#descending);
2e389898
RK
87}
88
11ddc405
RK
89#network-table {
90 display: -moz-box;
91 -moz-box-orient: vertical;
92 -moz-box-flex: 1;
93 overflow: hidden;
94}
95
96.request-list-container {
97 display: -moz-box;
98 -moz-box-orient: vertical;
99 -moz-box-flex: 1;
100}
101
102#requests-menu-empty-notice,
103.request-list-empty-notice {
45dc7657 104 margin: 0;
cc7e70eb 105 padding: 12px;
46e71434 106 font-size: 120%;
46e71434
RK
107}
108
2b5a5147
RK
109#notice-perf-message {
110 margin-top: 2px;
111}
112
46e71434
RK
113#requests-menu-perf-notice-button {
114 min-width: 30px;
2b5a5147 115 min-height: 26px;
dadba0f2 116 list-style-image: url("images/profiler-stopwatch.svg");
11ddc405
RK
117 margin: 0 5px;
118 vertical-align: middle;
119}
120
121#requests-menu-perf-notice-button::before {
122 background-image: url("images/profiler-stopwatch.svg");
46e71434
RK
123}
124
6f751fd1
RK
125/* Make sure the icon is visible on Linux (to overwrite a rule
126 in xul.css that hides the icon if there is no label.
127 See also bug 1278050. */
128#requests-menu-perf-notice-button .button-icon {
129 display: block;
130}
131
46e71434
RK
132#requests-menu-perf-notice-button .button-text {
133 display: none;
cc7e70eb
RK
134}
135
2b5a5147 136#requests-menu-reload-notice-button {
11ddc405 137 font-size: inherit;
2b5a5147 138 min-height: 26px;
11ddc405
RK
139 padding-left: 10px;
140 padding-right: 10px;
141 margin: 0 5px;
2b5a5147
RK
142}
143
45dc7657
RK
144/* Network requests table */
145
cc7e70eb 146#requests-menu-toolbar {
11ddc405
RK
147 background: var(--theme-capped-toolbar-background);
148}
149
150#requests-menu-toolbar::before, #requests-menu-toolbar::after {
151 display: none; /* Remove caps from this toolbar (and above background rule make the background fill it completely) */
cc7e70eb
RK
152}
153
9f6401c2
RK
154#requests-menu-filter-buttons {
155 display: flex;
156 flex-wrap: nowrap;
157}
158
f30073a6
RK
159#requests-menu-toolbar > .toolbar-box > .toolbar-startcap,
160#requests-menu-toolbar > .toolbar-box > .toolbar-endcap {
161 display: none;
162}
163
11ddc405
RK
164.requests-menu-contents {
165 display: -moz-box;
166 -moz-box-orient: vertical;
167 -moz-box-flex: 1;
168 overflow-x: hidden;
169 overflow-y: auto;
170
171 --timings-scale: 1;
172 --timings-rev-scale: 1;
173}
174
cc7e70eb 175.requests-menu-subitem {
11ddc405
RK
176 display: flex;
177 flex: none;
178 box-sizing: border-box;
179 align-items: center;
7d6161c5 180 padding: 3px;
cc7e70eb
RK
181}
182
11ddc405
RK
183.subitem-label {
184 white-space: nowrap;
185 overflow: hidden;
186 text-overflow: ellipsis;
187}
188
189.requests-menu-header {
190 display: flex;
191 flex: none;
45dc7657
RK
192}
193
7d6161c5
RK
194#requests-menu-status-button,
195.requests-menu-header-button {
11ddc405
RK
196 display: flex;
197 align-items: center;
198 flex: auto;
199 -moz-appearance: none;
f30073a6 200 background-color: transparent;
7d6161c5 201 border-image: linear-gradient(transparent 15%,
1e9e1791
RK
202 var(--theme-toolbar-background) 15%,
203 var(--theme-toolbar-background) 85%,
7d6161c5 204 transparent 85%) 1 1;
d0a8de80
RK
205 border-style: solid;
206 border-width: 0;
207 border-inline-start-width: 1px;
f30073a6 208 border-radius: 0;
d0a8de80
RK
209 min-width: 1px;
210 min-height: 24px;
f30073a6 211 margin: 0;
d0a8de80 212 padding-top: 2px;
11ddc405
RK
213 padding-bottom: 2px;
214 padding-inline-start: 16px;
215 padding-inline-end: 0;
d0a8de80 216 text-align: center;
7d6161c5 217/* color: inherit;*/
e2734cc7 218 font-weight: inherit !important;
cc7e70eb
RK
219}
220
11ddc405
RK
221.requests-menu-header-button::-moz-focus-inner {
222 border: 0;
223 padding: 0;
224}
225
d0a8de80
RK
226.requests-menu-header:first-child .requests-menu-header-button {
227 border-width: 0;
cc7e70eb
RK
228}
229
f30073a6 230.requests-menu-header-button:hover {
d0a8de80
RK
231 background-color: var(--theme-hover-background);
232 color: var(--theme-hover-color);
cc7e70eb
RK
233}
234
f30073a6 235.requests-menu-header-button:hover:active {
d0a8de80
RK
236 background-color: var(--theme-active-background);
237 color: var(--theme-active-color);
238}
239
11ddc405
RK
240.requests-menu-header-button > .button-text {
241 flex: auto;
242 white-space: nowrap;
243 overflow: hidden;
244 text-overflow: ellipsis;
245}
246
d0a8de80
RK
247.requests-menu-header-button > .button-box > .button-icon,
248#requests-menu-waterfall-image {
249 display: -moz-box;
11ddc405
RK
250 -moz-box-ordinal-group: 2;
251}
252.requests-menu-header-button > .button-box > .button-icon,
253#requests-menu-waterfall-image,
254.requests-menu-header-button > .button-icon {
255 flex: none;
d0a8de80 256 height: 4px;
11ddc405 257 margin-inline-start: 3px;
d0a8de80 258 margin-inline-end: 6px;
d0a8de80
RK
259 width: 7px;
260}
261
d0a8de80
RK
262.requests-menu-header-button[sorted=ascending] > .button-box > .button-icon,
263.requests-menu-header-button[sorted=ascending] #requests-menu-waterfall-image {
7d6161c5 264 list-style-image: var(--sort-ascending-image);
f30073a6
RK
265}
266
11ddc405
RK
267.requests-menu-header-button[data-sorted=ascending] > .button-icon {
268 background-image: var(--sort-ascending-image);
269}
270
d0a8de80
RK
271.requests-menu-header-button[sorted=descending] > .button-box > .button-icon,
272.requests-menu-header-button[sorted=descending] #requests-menu-waterfall-image {
7d6161c5 273 list-style-image: var(--sort-descending-image);
cc7e70eb
RK
274}
275
11ddc405
RK
276.requests-menu-header-button[data-sorted=descending] > .button-icon {
277 background-image: var(--sort-descending-image);
278}
279
d0a8de80
RK
280.requests-menu-header-button > .button-box > .button-text,
281#requests-menu-waterfall-label-wrapper {
282 -moz-box-flex: 1;
283}
284
11ddc405
RK
285.requests-menu-waterfall-label-wrapper {
286 display: flex;
287}
288
7d6161c5 289.requests-menu-header-button[sorted],
11ddc405
RK
290.requests-menu-header-button[sorted]:hover,
291.requests-menu-header-button[data-sorted],
292.requests-menu-header-button[data-sorted]:hover {
d0a8de80
RK
293 background-color: var(--theme-selection-background);
294 color: var(--theme-selection-color);
cc7e70eb
RK
295}
296
d0a8de80 297.requests-menu-header-button[sorted],
11ddc405
RK
298.requests-menu-header[active] + .requests-menu-header .requests-menu-header-button,
299.requests-menu-header-button[data-sorted],
300.requests-menu-header[data-active] + .requests-menu-header .requests-menu-header-button {
d0a8de80 301 border-image: linear-gradient(var(--theme-splitter-color), var(--theme-splitter-color)) 1 1;
cc7e70eb
RK
302}
303
f30073a6
RK
304#requests-menu-status-button {
305 border: none;
306}
307
308#requests-menu-status-button > .button-box {
309 padding: 0;
310}
311
312/* Network requests table: specific column dimensions */
313
f30073a6 314.requests-menu-status {
d0a8de80
RK
315 max-width: 6em;
316 text-align: center;
317 width: 10vw;
cc7e70eb
RK
318}
319
d0a8de80
RK
320.requests-menu-method,
321.requests-menu-method-box {
322 max-width: 7em;
cc7e70eb 323 text-align: center;
d0a8de80 324 width: 10vw;
cc7e70eb
RK
325}
326
c1d2ce3e 327.requests-menu-icon-and-file {
d0a8de80 328 width: 22vw;
c1d2ce3e
RK
329}
330
331.requests-menu-icon {
11ddc405
RK
332 background: transparent;
333 width: 15px;
334 height: 15px;
dae45075 335 margin-inline-end: 4px;
c1d2ce3e
RK
336}
337
338.requests-menu-icon {
2e389898 339 outline: 1px solid var(--table-splitter-color);
c1d2ce3e
RK
340}
341
20752032 342.requests-menu-security-and-domain {
c1d2ce3e 343 width: 14vw;
cc7e70eb
RK
344}
345
20752032 346.requests-security-state-icon {
11ddc405 347 flex: none;
1437a48c
RK
348 width: 16px;
349 height: 16px;
dae45075 350 margin-inline-end: 4px;
20752032
RK
351}
352
2af95f78
RK
353.side-menu-widget-item.selected .requests-security-state-icon,
354.request-list-item.selected .requests-security-state-icon {
ec6b35d8
RK
355/* filter: brightness(1.3);*/
356}
357
20752032 358.security-state-insecure {
d0a8de80 359 list-style-image: url("chrome://devtools/skin/images/security-state-insecure.svg");
20752032
RK
360}
361
362.security-state-secure {
d0a8de80 363 list-style-image: url("chrome://devtools/skin/images/security-state-secure.svg");
20752032
RK
364}
365
d533ec21 366.security-state-weak {
d0a8de80 367 list-style-image: url("chrome://devtools/skin/images/security-state-weak.svg");
d533ec21
RK
368}
369
20752032 370.security-state-broken {
d0a8de80 371 list-style-image: url("chrome://devtools/skin/images/security-state-broken.svg");
e9fbfc3a
RK
372}
373
374.security-state-local {
d0a8de80 375 list-style-image: url("chrome://devtools/skin/images/security-state-local.svg");
cc7e70eb
RK
376}
377
d0a8de80 378.requests-menu-type,
cc7e70eb 379.requests-menu-size {
d0a8de80 380 max-width: 6em;
cc7e70eb 381 text-align: center;
d0a8de80 382 width: 8vw;
11ddc405
RK
383 justify-content: center;
384}
385
386.requests-menu-transferred {
387 max-width: 8em;
388 width: 8vw;
389 justify-content: center;
390}
391
1e9e1791
RK
392.requests-menu-cause {
393 max-width: 8em;
394 width: 8vw;
395}
396
397.requests-menu-cause-stack {
398 background-color: var(--theme-body-color-alt);
399 color: var(--theme-body-background);
400 font-size: 8px;
401 font-weight: bold;
402 line-height: 10px;
403 border-radius: 3px;
404 padding: 0 2px;
405 margin: 0;
406 margin-inline-end: 3px;
407 -moz-user-select: none;
408}
409
2f2239a0 410.requests-menu-transferred {
d0a8de80 411 max-width: 8em;
2f2239a0 412 text-align: center;
7d6161c5 413 width: 8vw;
2f2239a0
RK
414}
415
2af95f78
RK
416.side-menu-widget-item.selected .requests-menu-transferred.theme-comment,
417.request-list-item.selected .requests-menu-transferred.theme-comment {
ec6b35d8
RK
418 color: var(--theme-selection-color);
419}
420
f30073a6
RK
421/* Network requests table: status codes */
422
d0a8de80 423.requests-menu-status-code {
dae45075 424 margin-inline-start: 3px !important;
d0a8de80 425 width: 3em;
dae45075 426 margin-inline-end: -3em !important;
d0a8de80
RK
427}
428
429.requests-menu-status-icon {
f30073a6 430 background-color: #A09090;
d0a8de80 431 height: 10px;
46e71434 432 width: 10px;
dae45075
RK
433 margin-inline-start: 5px;
434 margin-inline-end: 5px;
f30073a6
RK
435 border-radius: 20px;
436 border: 1px solid #000000;
437 transition: background-color 0.5s ease-in-out;
2af95f78 438 box-sizing: border-box;
f30073a6
RK
439}
440
ec6b35d8 441.side-menu-widget-item.selected .requests-menu-status-icon,
11ddc405 442.request-list-item.selected .requests-menu-status-icon {
ec6b35d8 443/* filter: brightness(1.3);*/
11ddc405
RK
444}
445
446.requests-menu-status-icon:not([code]),
447.requests-menu-status-icon:not([data-code]) {
d0a8de80 448 background-color: var(--theme-content-color2);
f30073a6
RK
449}
450
11ddc405
RK
451.requests-menu-status-icon[code="cached"],
452.requests-menu-status-icon[data-code="cached"] {
2e389898 453 border: 2px solid var(--theme-content-color2);
7d6161c5 454 background-color: transparent;
a5cb6e53
RK
455}
456
11ddc405
RK
457.requests-menu-status-icon[code^="1"],
458.requests-menu-status-icon[data-code^="1"] {
d0a8de80 459 background-color: var(--theme-highlight-blue);
46e71434
RK
460}
461
11ddc405
RK
462.requests-menu-status-icon[code^="2"],
463.requests-menu-status-icon[data-code^="2"] {
2e389898 464 background-color: var(--theme-highlight-green);
f30073a6
RK
465}
466
46e71434 467/* 3xx are triangles */
11ddc405
RK
468.requests-menu-status-icon[code^="3"],
469.requests-menu-status-icon[data-code^="3"] {
46e71434
RK
470 background-color: transparent;
471 width: 0;
472 height: 0;
473 border-left: 5px solid transparent;
474 border-right: 5px solid transparent;
2e389898 475 border-bottom: 10px solid var(--theme-highlight-lightorange);
46e71434 476 border-radius: 0;
f30073a6
RK
477}
478
46e71434 479/* 4xx and 5xx are squares - error codes */
11ddc405
RK
480.requests-menu-status-icon[code^="4"],
481.requests-menu-status-icon[data-code^="4"] {
2e389898 482 background-color: var(--theme-highlight-red);
46e71434
RK
483 border-radius: 0; /* squares */
484}
485
11ddc405
RK
486.requests-menu-status-icon[code^="5"],
487.requests-menu-status-icon[data-code^="5"] {
2e389898 488 background-color: var(--theme-highlight-pink);
46e71434
RK
489 border-radius: 0;
490 transform: rotate(45deg);
f30073a6
RK
491}
492
493/* Network requests table: waterfall header */
494
d0a8de80 495.requests-menu-waterfall {
11ddc405 496 flex: auto;
d0a8de80
RK
497 padding-inline-start: 0;
498}
499
11ddc405
RK
500#requests-menu-waterfall-label:not(.requests-menu-waterfall-visible),
501.requests-menu-waterfall-label-wrapper:not(.requests-menu-waterfall-visible) {
502 padding-inline-start: 16px;
cc7e70eb
RK
503}
504
f30073a6
RK
505.requests-menu-timings-division {
506 width: 100px;
7d6161c5 507 padding-top: 2px;
d0a8de80 508 padding-inline-start: 4px;
7d6161c5 509 font-size: 75%;
f30073a6 510 pointer-events: none;
d0a8de80
RK
511 box-sizing: border-box;
512 text-align: start;
11ddc405
RK
513 /* Allow the timing label to shrink if the container gets too narrow.
514 * The container width then is not limited by the content. */
515 flex: initial;
d0a8de80
RK
516}
517
518.requests-menu-timings-division:first-child {
519 width: 98px; /* Substract 2px for borders */
f30073a6
RK
520}
521
522.requests-menu-timings-division:not(:first-child) {
7d6161c5 523 border-inline-start: 1px dashed;
11ddc405 524/* margin-inline-start: -100px !important; / Don't affect layout. */
f30073a6
RK
525}
526
c4460289
RK
527.requests-menu-timings-division:-moz-locale-dir(ltr) {
528 transform-origin: left center;
529}
530
531.requests-menu-timings-division:-moz-locale-dir(rtl) {
532 transform-origin: right center;
533}
534
d0a8de80
RK
535.requests-menu-timings-division {
536 border-inline-start-color: var(--theme-body-color) !important;
45dc7657
RK
537}
538
d0a8de80 539.requests-menu-timings-division[division-scale=second],
11ddc405
RK
540.requests-menu-timings-division[division-scale=minute],
541.requests-menu-timings-division[data-division-scale=second],
542.requests-menu-timings-division[data-division-scale=minute] {
45dc7657
RK
543 font-weight: 600;
544}
545
f30073a6 546/* Network requests table: waterfall items */
cc7e70eb
RK
547
548.requests-menu-subitem.requests-menu-waterfall {
11ddc405 549 padding-inline-start: 0;
dae45075 550 padding-inline-end: 4px;
d1e87ec1 551 /* Background created on a <canvas> in js. */
7d6161c5 552 /* @see devtools/client/netmonitor/netmonitor-view.js */
d1e87ec1
RK
553 background-image: -moz-element(#waterfall-background);
554 background-repeat: repeat-y;
11ddc405 555 background-position: left center;
cc7e70eb
RK
556}
557
c4460289
RK
558.requests-menu-subitem.requests-menu-waterfall:-moz-locale-dir(rtl) {
559 background-position: right center;
560}
561
11ddc405
RK
562.requests-menu-timings {
563 display: flex;
564 flex: none;
565 align-items: center;
566 transform: scaleX(var(--timings-scale));
567}
568
c4460289 569.requests-menu-timings:-moz-locale-dir(ltr) {
11ddc405 570 transform-origin: left center;
c4460289
RK
571}
572
573.requests-menu-timings:-moz-locale-dir(rtl) {
574 transform-origin: right center;
575}
576
577.requests-menu-timings-total:-moz-locale-dir(ltr) {
cc7e70eb
RK
578 transform-origin: left center;
579}
580
c4460289
RK
581.requests-menu-timings-total:-moz-locale-dir(rtl) {
582 transform-origin: right center;
583}
584
cc7e70eb 585.requests-menu-timings-total {
11ddc405 586 display: inline-block;
dae45075 587 padding-inline-start: 4px;
cc7e70eb
RK
588 font-size: 85%;
589 font-weight: 600;
11ddc405
RK
590 white-space: nowrap;
591 /* This node should not be scaled - apply a reversed transformation */
592 transform: scaleX(var(--timings-rev-scale));
cc7e70eb
RK
593}
594
cc7e70eb 595.requests-menu-timings-box {
11ddc405 596 display: inline-block;
46e71434 597 height: 9px;
cc7e70eb
RK
598}
599
46e71434 600.requests-menu-timings-box.blocked {
7d6161c5 601 background-color: var(--timing-blocked-color);
cc7e70eb
RK
602}
603
46e71434 604.requests-menu-timings-box.dns {
7d6161c5 605 background-color: var(--timing-dns-color);
cc7e70eb
RK
606}
607
46e71434 608.requests-menu-timings-box.connect {
7d6161c5 609 background-color: var(--timing-connect-color);
cc7e70eb
RK
610}
611
46e71434 612.requests-menu-timings-box.send {
7d6161c5 613 background-color: var(--timing-send-color);
cc7e70eb
RK
614}
615
46e71434 616.requests-menu-timings-box.wait {
7d6161c5 617 background-color: var(--timing-wait-color);
cc7e70eb
RK
618}
619
46e71434 620.requests-menu-timings-box.receive {
7d6161c5 621 background-color: var(--timing-receive-color);
cc7e70eb
RK
622}
623
e2734cc7
RK
624/* SideMenuWidget */
625
2e389898 626#network-table .side-menu-widget-empty-text,
11ddc405
RK
627#network-table .side-menu-widget-container,
628#network-table .request-list-empty-notice,
629#network-table .request-list-container {
2e389898
RK
630 background-color: var(--theme-body-background);
631}
632
11ddc405
RK
633#network-table .side-menu-widget-item,
634.request-list-item {
635 display: flex;
2e389898
RK
636 border-top-color: transparent;
637 border-bottom-color: transparent;
11ddc405
RK
638 padding: 0;
639}
640
641.request-list-item.selected {
642 background-color: var(--theme-selection-background);
643 color: var(--theme-selection-color);
2e389898
RK
644}
645
45dc7657
RK
646.side-menu-widget-item-contents {
647 padding: 0px;
648}
649
de57e474
RK
650.side-menu-widget-container {
651 box-shadow: none !important;
652}
653
11ddc405
RK
654.side-menu-widget-item:not(.selected)[odd],
655.request-list-item:not(.selected).odd {
2e389898
RK
656 background-color: var(--table-zebra-background);
657}
658
11ddc405
RK
659.side-menu-widget-item:not(.selected):hover,
660.request-list-item:not(.selected):hover {
2e389898 661 background-color: var(--theme-selection-background-semitransparent);
cc7e70eb
RK
662}
663
11ddc405
RK
664/* Method Column */
665
ec6b35d8 666.side-menu-widget-item.selected .requests-menu-method,
11ddc405
RK
667.request-list-item.selected .requests-menu-method {
668 color: var(--theme-selection-color);
669}
670
cc7e70eb
RK
671/* Network request details */
672
ec6b35d8
RK
673#details-pane-toggle:-moz-locale-dir(ltr),
674#details-pane-toggle.pane-collapsed:-moz-locale-dir(rtl) {
7d6161c5 675 list-style-image: var(--theme-pane-collapse-image);
3d64e0ce
RK
676}
677
ec6b35d8
RK
678#details-pane-toggle.pane-collapsed:-moz-locale-dir(ltr),
679#details-pane-toggle:-moz-locale-dir(rtl) {
7d6161c5 680 list-style-image: var(--theme-pane-expand-image);
3d64e0ce
RK
681}
682
9f6401c2
RK
683#details-pane-toggle:-moz-locale-dir(ltr)::before,
684#details-pane-toggle.pane-collapsed:-moz-locale-dir(rtl)::before {
685 background-image: var(--theme-pane-collapse-image);
686}
687
688#details-pane-toggle.pane-collapsed:-moz-locale-dir(ltr)::before,
689#details-pane-toggle:-moz-locale-dir(rtl)::before {
690 background-image: var(--theme-pane-expand-image);
691}
692
cc7e70eb
RK
693/* Network request details tabpanels */
694
695.tabpanel-content {
2e389898 696 background-color: var(--theme-sidebar-background);
2e389898 697
de5e780d 698 color: var(--theme-body-color);
cc7e70eb
RK
699}
700
2e389898
RK
701#headers-tabpanel {
702 background-color: var(--theme-toolbar-background);
703}
704
46e71434
RK
705/* Summary tabpanel */
706
cc7e70eb
RK
707.tabpanel-summary-container {
708 padding: 1px;
709}
710
711.tabpanel-summary-label {
11ddc405 712 display: inline-block;
dae45075
RK
713 padding-inline-start: 4px;
714 padding-inline-end: 3px;
cc7e70eb 715 font-weight: 600;
cc7e70eb
RK
716}
717
718.tabpanel-summary-value {
e184b661 719 color: inherit;
dae45075 720 padding-inline-start: 3px;
cc7e70eb
RK
721}
722
723/* Headers tabpanel */
724
725#headers-summary-status,
726#headers-summary-version {
727 padding-bottom: 2px;
728}
729
730#headers-summary-size {
731 padding-top: 2px;
732}
733
e7c8bab1 734#headers-summary-resend {
7d6161c5 735 margin-top: -10px;
dae45075 736 margin-inline-end: 6px;
e7c8bab1
RK
737}
738
8922acc9
RK
739#toggle-raw-headers {
740 margin-top: -10px;
dae45075 741 margin-inline-end: 6px;
8922acc9
RK
742}
743
744.raw-response-textarea {
745 height: 50vh;
746}
747
cc7e70eb
RK
748/* Response tabpanel */
749
2af95f78
RK
750#response-content-info-header,
751.response-error-header {
e2734cc7 752 margin: 0;
46e71434 753 padding: 3px 8px;
de5e780d
RK
754 background-color: var(--theme-highlight-red);
755 color: var(--theme-selection-color);
e2734cc7
RK
756}
757
cc7e70eb
RK
758#response-content-image-box {
759 padding-top: 10px;
760 padding-bottom: 10px;
761}
762
763#response-content-image {
764 background: #FFFFFF;
765 border: 1px dashed #A09090;
766 margin-bottom: 10px;
767}
768
2af95f78
RK
769.response-image-box {
770 display: flex;
771 flex-direction: column;
772 justify-content: center;
773 align-items: center;
774 overflow-y: auto;
775 padding: 10px;
776}
777
778.response-image {
779 background: #FFFFFF;
780 border: 1px dashed #A09090;
781 margin-bottom: 10px;
782 max-width: 300px;
783 max-height: 100px;
784}
785
c1d2ce3e
RK
786/* Preview tabpanel */
787
788#preview-tabpanel {
789 background: #fff;
790}
791
792#response-preview {
793 display: -moz-box;
794 -moz-box-flex: 1;
795}
796
cc7e70eb
RK
797/* Timings tabpanel */
798
2af95f78
RK
799#timings-tabpanel .tabpanel-summary-container,
800.timings-container {
11ddc405
RK
801 display: flex;
802}
803
2af95f78
RK
804#timings-tabpanel .tabpanel-summary-label,
805.timings-label {
cc7e70eb
RK
806 width: 10em;
807}
808
2af95f78
RK
809#timings-tabpanel .requests-menu-timings-container,
810.requests-menu-timings-container {
11ddc405
RK
811 display: flex;
812 flex: 1;
813 align-items: center;
814}
815
2af95f78
RK
816#timings-tabpanel .requests-menu-timings-offset,
817.requests-menu-timings-offset {
11ddc405
RK
818 transition: width 0.2s ease-out;
819}
820
2af95f78
RK
821#timings-tabpanel .requests-menu-timings-box,
822.requests-menu-timings-box {
45dc7657 823 border: none;
7d6161c5 824 min-width: 1px;
11ddc405 825 transition: width 0.2s ease-out;
cc7e70eb
RK
826}
827
828#timings-tabpanel .requests-menu-timings-total {
829 transition: transform 0.2s ease-out;
830}
f30073a6 831
20752032
RK
832/* Security tabpanel */
833
2af95f78
RK
834/* Overwrite tree-view cell colon `:` for security panel and tree section */
835.security-panel .treeTable .treeLabelCell::after,
836.treeTable .tree-section .treeLabelCell::after {
837 content: "";
838}
839
840/* Layout additional warning icon in tree value cell */
841.security-info-value {
842 display: flex;
843}
844
20752032 845.security-info-section {
dae45075 846 padding-inline-start: 1em;
20752032
RK
847}
848
849#security-tabpanel {
850 overflow: auto;
11ddc405 851 -moz-user-select: text;
20752032
RK
852}
853
d533ec21 854.security-warning-icon {
dc9d5d64 855 background-image: url("images/alerticon-warning.png");
d533ec21 856 background-size: 13px 12px;
dae45075 857 margin-inline-start: 5px;
d533ec21
RK
858 vertical-align: top;
859 width: 13px;
860 height: 12px;
861}
862
024a65e9 863@media (min-resolution: 1.1dppx) {
d533ec21 864 .security-warning-icon {
dc9d5d64 865 background-image: url("images/alerticon-warning@2x.png");
d533ec21
RK
866 }
867}
868
e7c8bab1
RK
869/* Custom request form */
870
871#custom-pane {
872 padding: 0.6em 0.5em;
873}
874
875.custom-header {
876 font-size: 1.1em;
877}
878
879.custom-section {
880 margin-top: 0.5em;
fe524e0c
RK
881}
882
883#custom-method-value {
884 width: 4.5em;
e7c8bab1
RK
885}
886
7d6161c5
RK
887/* Main toolbar */
888.requests-menu-filter-button {
889/* -moz-appearance: none;
890 background: rgba(128,128,128,0.1);
e2734cc7 891 border: none;
7d6161c5
RK
892 border-radius: 2px;
893 min-width: 0;
894 padding: 0 5px;
895 margin: 2px;
896 color: var(--theme-body-color);*/
1e9e1791
RK
897 margin-top: 0;
898 margin-bottom: 0;
e2734cc7
RK
899}
900
7d6161c5
RK
901.requests-menu-filter-button:hover {
902/* background: rgba(128,128,128,0.2);*/
e2734cc7
RK
903}
904
7d6161c5
RK
905.requests-menu-filter-button:hover:active {
906/* background-color: var(--theme-selection-background-semitransparent);*/
a5cb6e53
RK
907}
908
46e71434
RK
909/* Performance analysis buttons */
910
911#requests-menu-network-summary-button {
9f6401c2
RK
912 display: flex;
913 flex-wrap: nowrap;
914 align-items: center;
915 font: inherit;
7d6161c5
RK
916 box-shadow: none;
917 border-color: transparent;
1e9e1791 918 list-style-image: url("images/profiler-stopwatch-tbutton.svg");
46e71434 919 cursor: pointer;
7d6161c5 920 min-width: 0;
46e71434
RK
921}
922
11ddc405
RK
923#requests-menu-network-summary-button > .summary-info-icon {
924 background-image: url(images/profiler-stopwatch.svg);
925 filter: var(--icon-filter);
926 width: 16px;
927 height: 16px;
928}
929
930#requests-menu-network-summary-button > .summary-info-text {
931 margin-inline-start: 0.5em;
932}
933
934#requests-menu-network-summary-button:hover > .summary-info-icon,
935#requests-menu-network-summary-button:hover > .summary-info-text {
936}
937
46e71434
RK
938/* Performance analysis view */
939
2af95f78
RK
940#network-statistics-view {
941 display: -moz-box;
942}
943
46e71434
RK
944#network-statistics-toolbar {
945 /* Make the toolbar invisible, it only hold the back button */
946 -moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbar");
947 background-color: #000000;
7d6161c5
RK
948 border: none;
949 margin: 0;
950 padding: 0;
46e71434
RK
951}
952
953#network-statistics-back-button {
954 min-width: 4em;
955 min-height: 100vh;
7d6161c5
RK
956 margin: 0;
957 padding: 0;
958 border-radius: 0;
959 border-top: none;
960 border-bottom: none;
dae45075 961 border-inline-start: none;
46e71434
RK
962}
963
964#network-statistics-view-splitter {
7d6161c5 965/* border-color: rgba(0,0,0,0.2);*/
46e71434
RK
966 cursor: default;
967 pointer-events: none;
968}
969
970#network-statistics-charts {
971 min-height: 1px;
7d6161c5
RK
972}
973
974#network-statistics-charts {
2e389898 975 background-color: var(--theme-sidebar-background);
46e71434
RK
976}
977
978#network-statistics-charts .pie-chart-container {
dae45075
RK
979 margin-inline-start: 3vw;
980 margin-inline-end: 1vw;
46e71434
RK
981}
982
983#network-statistics-charts .table-chart-container {
dae45075
RK
984 margin-inline-start: 1vw;
985 margin-inline-end: 3vw;
46e71434
RK
986}
987
b7f3670c 988.chart-colored-blob[name=html] {
de5e780d
RK
989 fill: var(--theme-highlight-bluegrey);
990 background: var(--theme-highlight-bluegrey);
46e71434
RK
991}
992
b7f3670c 993.chart-colored-blob[name=css] {
de5e780d
RK
994 fill: var(--theme-highlight-blue);
995 background: var(--theme-highlight-blue);
46e71434
RK
996}
997
b7f3670c 998.chart-colored-blob[name=js] {
de5e780d
RK
999 fill: var(--theme-highlight-lightorange);
1000 background: var(--theme-highlight-lightorange);
46e71434
RK
1001}
1002
b7f3670c 1003.chart-colored-blob[name=xhr] {
de5e780d
RK
1004 fill: var(--theme-highlight-orange);
1005 background: var(--theme-highlight-orange);
46e71434
RK
1006}
1007
b7f3670c 1008.chart-colored-blob[name=fonts] {
de5e780d
RK
1009 fill: var(--theme-highlight-darkpurple);
1010 background: var(--theme-highlight-darkpurple);
46e71434
RK
1011}
1012
b7f3670c 1013.chart-colored-blob[name=images] {
de5e780d
RK
1014 fill: var(--theme-highlight-pink);
1015 background: var(--theme-highlight-pink);
46e71434
RK
1016}
1017
b7f3670c 1018.chart-colored-blob[name=media] {
de5e780d
RK
1019 fill: var(--theme-highlight-green);
1020 background: var(--theme-highlight-green);
46e71434
RK
1021}
1022
b7f3670c 1023.chart-colored-blob[name=flash] {
de5e780d
RK
1024 fill: var(--theme-highlight-red);
1025 background: var(--theme-highlight-red);
46e71434
RK
1026}
1027
1028.table-chart-row-label[name=cached] {
1029 display: none;
1030}
1031
1032.table-chart-row-label[name=count] {
1033 width: 3em;
1034 text-align: end;
1035}
1036
1037.table-chart-row-label[name=label] {
1038 width: 7em;
1039}
1040
1041.table-chart-row-label[name=size] {
1042 width: 7em;
1043}
1044
1045.table-chart-row-label[name=time] {
1046 width: 7em;
1047}
1048
f30073a6
RK
1049/* Responsive sidebar */
1050@media (max-width: 700px) {
2af95f78
RK
1051 #toolbar-spacer,
1052 #details-pane-toggle,
1053 #details-pane.pane-collapsed,
1054 #requests-menu-network-summary-button > .summary-info-text {
1055 display: none;
1056 }
1057
f30073a6 1058 #requests-menu-toolbar {
7d6161c5 1059 height: 22px;
f30073a6
RK
1060 }
1061
1062 .requests-menu-header-button {
d0a8de80
RK
1063 min-height: 22px;
1064 padding-left: 8px;
e2734cc7
RK
1065 }
1066
f30073a6 1067 #details-pane {
f30073a6
RK
1068 margin: 0 !important;
1069 /* To prevent all the margin hacks to hide the sidebar. */
1070 }
1071
d0a8de80
RK
1072 .requests-menu-status {
1073 max-width: none;
11ddc405 1074 width: 10vw;
d0a8de80
RK
1075 }
1076
1077 .requests-menu-status-code {
1078 width: auto;
1079 }
1080
1081 .requests-menu-method,
1082 .requests-menu-method-box {
1083 max-width: none;
11ddc405 1084 width: 12vw;
d0a8de80
RK
1085 }
1086
1087 .requests-menu-icon-and-file {
1088 width: 22vw;
f30073a6
RK
1089 }
1090
20752032 1091 .requests-menu-security-and-domain {
11ddc405 1092 width: 16vw;
f30073a6
RK
1093 }
1094
11ddc405
RK
1095 .requests-menu-cause,
1096 .requests-menu-type,
1097 .requests-menu-transferred,
1098 .requests-menu-size {
1099 max-width: none;
d0a8de80 1100 width: 10vw;
f30073a6
RK
1101 }
1102
11ddc405
RK
1103 .requests-menu-waterfall {
1104 display: none;
f30073a6
RK
1105 }
1106}
1107
7d6161c5
RK
1108/* Platform overrides (copied in from the old platform specific files) */
1109:root[platform="win"] .requests-menu-header-button > .button-box {
1110 padding: 0;
1111}
1112
1113:root[platform="win"] .requests-menu-timings-division {
1114 padding-top: 1px;
1115 font-size: 90%;
1116}
1117
1118:root[platform="linux"] #headers-summary-resend {
1119 padding: 4px;
1120}
1121
1122:root[platform="linux"] #toggle-raw-headers {
1123 padding: 4px;
1124}
1125
1126/* Responsive sidebar */
1127@media (max-width: 700px) {
1128 :root[platform="linux"] .requests-menu-header-button {
1129 font-size: 85%;
1130 }
1131}
11ddc405 1132
2af95f78
RK
1133.textbox-input {
1134 text-overflow: ellipsis;
1135 border: none;
1136 background: none;
1137 color: inherit;
1138 width: 100%;
1139}
1140
11ddc405
RK
1141/* Overwrite tree-view cell colon and use l10n string instead */
1142.treeTable .treeLabelCell::after {
1143 content: "";
1144}
1145
2af95f78
RK
1146.treeTable .textbox-input:focus {
1147/* outline: 0;
1148 box-shadow: var(--theme-focus-box-shadow-textbox);*/
1149}
1150
1151.panel-container,
1152.properties-view {
1153 display: flex;
1154 flex-direction: column;
1155 flex-grow: 1;
1156 height: 100%;
1157}
1158
11ddc405
RK
1159/* Layout additional warning icon in tree value cell */
1160.security-info-value {
1161 display: flex;
1162}
1163
1164.security-info-value .textbox-input {
1165 text-overflow: ellipsis;
1166 border: none;
1167 background: none;
1168 color: inherit;
1169 width: 100%;
1170 margin-inline-end: 2px;
1171}
1172
1173.security-info-value .textbox-input:focus {
1174 outline: 0;
1175 box-shadow: var(--theme-focus-box-shadow-textbox);
1176}
1177
2af95f78
RK
1178.properties-view .searchbox-section {
1179 flex: 0 1 auto;
11ddc405
RK
1180}
1181
2af95f78
RK
1182.properties-view .devtools-searchbox {
1183 padding: 0;
11ddc405
RK
1184}
1185
2af95f78
RK
1186.properties-view .devtools-searchbox input {
1187 margin: 1px 3px;
1188}
1189
1190.tree-container {
1191 position: relative;
1192 height: 100%;
1193}
1194
1195/* Make treeTable fill parent element and scrollable */
1196.tree-container .treeTable {
1197 position: absolute;
1198 display: block;
1199 overflow-y: auto;
1200 top: 0;
1201 right: 0;
1202 bottom: 0;
1203 left: 0;
1204}
1205
1206/* Apply flex to table tbody in order to fill available vertical space */
1207.tree-container .treeTable tbody {
1208 display: flex;
1209 flex-direction: column;
1210 /* Apply flex to table will create an anonymous table element outside of tbody
1211 * See also http://stackoverflow.com/a/30851678
1212 * Therefore, we set height with this magic number in order to remove the
1213 * redundant scrollbar when source editor appears.
1214 */
1215 height: calc(100% - 4px);
1216}
1217
1218.tree-container .treeTable tr {
1219 display: block;
1220}
1221/* Make right td fill available horizontal space */
1222.tree-container .treeTable td:last-child {
1223 width: 100%;
1224}
1225
1226/* If there is a source editor shows up in the last row of TreeView,
1227 * it should occupy the available vertical space.
1228 */
1229.tree-container .treeTable .editor-row-container,
1230.tree-container .treeTable tr:last-child td[colspan="2"] {
1231 display: block;
1232 height: 100%;
1233}
1234
1235.properties-view .devtools-searchbox,
1236.tree-container .treeTable .tree-section {
1237 width: 100%;
1238 background-color: var(--theme-toolbar-background);
1239}
1240
1241.tree-container .treeTable tr.tree-section:not(:first-child) td:not([class=""]) {
1242 border-top: 1px solid var(--theme-splitter-color);
1243}
1244
1245.properties-view .devtools-searchbox,
1246.tree-container .treeTable tr.tree-section:not(:last-child) td:not([class=""]) {
1247 border-bottom: 1px solid var(--theme-splitter-color);
1248}
1249
1250.tree-container .treeTable .tree-section > * {
1251 vertical-align: middle;
1252}
1253
1254.tree-container .treeTable .treeRow.tree-section > .treeLabelCell > .treeLabel,
1255.tree-container .treeTable .treeRow.tree-section > .treeLabelCell > .treeLabel:hover {
1256 color: var(--theme-body-color-alt);
1257}
1258
1259.tree-container .treeTable .treeValueCell {
1260 /* FIXME: Make value cell can be reduced to shorter width */
1261 max-width: 0;
1262 padding-inline-end: 5px;
1263}
1264
1265.headers-summary input:not([type="button"]) {
1266 width: 100%;
1267 background: none;
1268 border: none;
1269 color: inherit;
1270 margin-inline-end: 2px;
11ddc405
RK
1271}
1272
2af95f78
RK
1273.headers-summary input:not([type="button"]):focus {
1274/* outline: none;
1275 box-shadow: var(--theme-focus-box-shadow-textbox);*/
1276 transition: all 0.2s ease-in-out;
1277}
1278
1279.headers-summary-label,
1280.tree-container .objectBox {
1281 white-space: nowrap;
1282}
1283
1284.headers-summary,
1285.response-summary {
1286 display: flex;
1287 align-items: center;
1288}
1289
1290.headers-summary .tool-button {
1291/* border: 1px solid transparent;
11ddc405 1292 color: var(--theme-body-color);
2af95f78
RK
1293 transition: background 0.05s ease-in-out;*/
1294 margin-inline-end: 6px;
1295 padding: 0 5px;
1296}
1297
1298.headers-summary .requests-menu-status-icon {
1299 min-width: 10px;
1300}
1301
1302.headers-summary .raw-headers-container {
1303 display: flex;
1304 width: 100%;
1305}
1306
1307.headers-summary .raw-headers {
1308 width: 50%;
1309 padding: 0px 4px;
1310}
1311
1312.headers-summary .raw-headers textarea {
1313 width: 100%;
1314 height: 50vh;
1315 font: message-box;
1316 resize: none;
1317 box-sizing: border-box;
1318}
1319
1320.headers-summary .raw-headers .tabpanel-summary-label {
1321 padding: 0 0 4px 0;
1322}
1323
1324.empty-notice {
1325 color: var(--theme-body-color-alt);
1326 padding: 3px 8px;
1327}
1328
1329.response-summary {
1330 display: flex;
1331}
1332
1333.editor-container,
1334.editor-mount,
1335.panel-container iframe {
1336 border: none;
1337 width: 100%;
1338 height: 100%;
1339}
1340
1341.treeTable .treeLabel {
1342 font-weight: 600;
1343}
1344
1345/* Customize default tree table style to align with devtools theme */
1346.treeTable .treeLabel,
1347.treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
1348 color: var(--theme-highlight-purple);
11ddc405
RK
1349}
1350
1351.treeTable .treeRow.hasChildren > .treeLabelCell > .treeLabel:hover {
1352 cursor: default;
1353 text-decoration: none;
1354}
1355
1356/*
1357 * FIXME: normal html block element cannot fill outer XUL element
1358 * This workaround should be removed after sidebar is migrated to react
1359 */
1360#react-security-tabpanel-hook,
1361#react-timings-tabpanel-hook {
1362 display: -moz-box;
1363 -moz-box-orient: vertical;
1364 -moz-box-flex: 1;
1365}
2af95f78
RK
1366
1367/*
1368 * FIXME: normal html block element cannot fill outer XUL element
1369 * This workaround should be removed after netmonitor is migrated to react
1370 */
1371#react-details-panel-hook {
1372 display: flex;
1373 flex-direction: column;
1374}
1375
1376#network-statistics-charts,
1377#primed-cache-chart,
1378#empty-cache-chart {
1379 display: -moz-box;
1380 -moz-box-flex: 1;
1381}