RegistrationDatabase::openSQLiteDatabase can spin
[WebKit-https.git] / Source / WebInspectorUI / UserInterface / Views / Main.css
1 /*
2  * Copyright (C) 2013-2017 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 * {
27     box-sizing: border-box;
28 }
29
30 :root {
31     color-scheme: light dark;
32 }
33
34 summary {
35     outline: none;
36 }
37
38 summary::-webkit-details-marker {
39     color: hsl(0, 0%, 55%);
40 }
41
42 body {
43     font-family: -webkit-system-font, sans-serif;
44     font-size: 11px;
45
46     position: absolute;
47     top: 0;
48     left: 0;
49     right: 0;
50     bottom: 0;
51
52     padding: 0;
53     margin: 0;
54
55     overflow: hidden;
56
57     -webkit-user-select: none;
58     -webkit-user-drag: none;
59
60     cursor: default;
61
62     -webkit-font-smoothing: subpixel-antialiased;
63
64     background-color: var(--background-color-content);
65 }
66
67 body.docked.right {
68     border-left: 1px solid var(--border-color);
69 }
70
71 body.docked.left {
72     border-right: 1px solid var(--border-color);
73 }
74
75 #docked-resizer {
76     display: none;
77
78     z-index: var(--z-index-resizer);
79 }
80
81 body.docked #docked-resizer {
82     display: block;
83
84     position: absolute;
85     top: 0;
86 }
87
88 body.docked.bottom #docked-resizer {
89     left: 0;
90     right: 0;
91     height: 3px;
92
93     cursor: row-resize;
94 }
95
96 body.docked.right #docked-resizer {
97     left: 0;
98     bottom: 0;
99     width: 3px;
100
101     cursor: col-resize;
102 }
103
104 body.docked.left #docked-resizer {
105     right: 0;
106     bottom: 0;
107     width: 3px;
108
109     cursor: col-resize;
110 }
111
112 #undocked-title-area {
113     position: absolute;
114     top: 0;
115     right: 0;
116     left: 0;
117     height: var(--undocked-title-area-height);
118     background: var(--undocked-title-area-background);
119 }
120
121 body.big-sur #undocked-title-area {
122     --undocked-title-area-background: white;
123 }
124
125 body:not(.big-sur) #undocked-title-area {
126     --undocked-title-area-background: linear-gradient(to bottom, hsl(0, 0%, 92%), hsl(0, 0%, 87%));
127     box-shadow: inset hsla(0, 0%, 100%, 0.5) 0 1px 1px;
128 }
129
130 body.docked #undocked-title-area {
131     display: none;
132 }
133
134 body.window-inactive #undocked-title-area {
135     --undocked-title-area-background: hsl(0, 0%, 96%);
136 }
137
138 input[type=range] {
139     -webkit-appearance: none;
140 }
141
142 input[type=range]::-webkit-slider-thumb {
143     margin-top: -7px;
144 }
145
146 input[type=range]::-webkit-slider-runnable-track {
147     height: 1px;
148     margin-top: 1px;
149     background-color: var(--selected-background-color);
150 }
151
152 #main {
153     position: absolute;
154     top: calc(var(--undocked-title-area-height) + var(--tab-bar-height));
155     left: 0;
156     right: 0;
157     bottom: 0;
158
159     display: flex;
160     flex-direction: column;
161
162     background-color: var(--background-color-content);
163
164     /* The position and z-index are needed to make negative z-index work in the DOM tree. */
165     z-index: 0;
166 }
167
168 #navigation-sidebar {
169     width: 300px;
170     height: 100%;
171 }
172
173 body.docked:matches(.right, .left) #navigation-sidebar.collapsed > .resizer {
174     pointer-events: none;
175 }
176
177 #content {
178     display: flex;
179     height: 100%; /* This reduces paint areas when typing in the console. http://webkit.org/b/145324 */
180     flex: 1;
181 }
182
183 #tab-browser {
184     flex: 1;
185 }
186
187 #details-sidebar {
188     width: 300px;
189     height: 100%;
190 }
191
192 #layout-measurement-container {
193     position: absolute;
194     visibility: hidden;
195     pointer-events: none;
196 }
197
198 .message-text-view {
199     display: flex;
200     flex-direction: column;
201     justify-content: center;
202     align-items: center;
203     position: absolute;
204     top: 0;
205     left: 0;
206     right: 0;
207     bottom: 0;
208     z-index: var(--z-index-popover);
209     min-height: min-content;
210     white-space: pre-wrap;
211     text-align: center;
212     font-size: 13px;
213     color: var(--text-color-gray-medium);
214 }
215
216 .message-text-view > .message {
217     display: inline-block;
218     padding: 15px;
219     font-size: var(--message-text-view-font-size);
220 }
221
222 .message-text-view > .message + button {
223     margin-bottom: 15px;
224 }
225
226 .navigation-item-help {
227     display: block;
228     line-height: 22px;
229 }
230
231 .navigation-item-help > .navigation-bar {
232     display: inline-flex;
233     height: 20px;
234     padding: 0 4px;
235     border-bottom: none;
236     vertical-align: -3px;
237 }
238
239 .navigation-item-help > .navigation-bar > .item {
240     height: 100%;
241     padding: 0 4px !important;
242     font-size: 11px;
243     border-radius: 4px;
244     border: solid 1px var(--border-color);
245 }
246
247 .message-text-view.error {
248     color: var(--error-text-color);
249 }
250
251 .resource-link {
252     display: block;
253 }
254
255 .resource-link + .resource-link {
256     margin-top: 2px;
257 }
258
259 .resource-link,
260 .go-to-link {
261     color: var(--link-text-color);
262     text-decoration: underline;
263     cursor: pointer;
264     -webkit-user-select: none;
265 }
266
267 .go-to-link:not(.dont-float) {
268     max-width: 100%;
269     -webkit-margin-start: 5px;
270     text-overflow: ellipsis;
271     overflow: hidden;
272     white-space: nowrap;
273 }
274
275 body[dir=ltr] .go-to-link:not(.dont-float) {
276     float: right;
277 }
278
279 body[dir=rtl] .go-to-link:not(.dont-float) {
280     float: left;
281 }
282
283 .go-to-arrow {
284     -webkit-appearance: none;
285
286     padding: 0;
287     margin: 0;
288     border: none;
289
290     background-color: transparent;
291     background-image: url(../Images/GoToArrow.svg#normal);
292     background-repeat: no-repeat;
293     background-position: center;
294     background-size: 10px 10px;
295
296     width: 16px;
297     height: 16px;
298
299  /* Workaround: for text boxes overlapping float:right. Give go-to arrows a z-index to ensure they are clickable.
300     <rdar://problem/11536832> Cannot access content view from Instruments navigator if name of file is truncated */
301     position: relative;
302     z-index: 1;
303 }
304
305 .go-to-arrow:active {
306     background-image: url(../Images/GoToArrow.svg#active);
307 }
308
309 body[dir=rtl] .go-to-arrow {
310     transform: scaleX(-1);
311 }
312
313 body[dir=rtl] [dir=ltr] .go-to-arrow {
314     transform: revert;
315 }
316
317 :focus .selected .go-to-arrow,
318 .selected:focus .go-to-arrow {
319     background-image: url(../Images/GoToArrow.svg#selected);
320 }
321
322 :focus .selected .go-to-arrow:active,
323 .selected:focus .go-to-arrow:active {
324     background-image: url(../Images/GoToArrow.svg#selected-active);
325 }
326
327 .search-settings {
328     display: inline-block;
329     margin: 0;
330     padding: 0;
331     background-color: transparent;
332     border: none;
333     -webkit-appearance: none;
334 }
335
336 .search-settings > .glyph {
337     width: 16px;
338     height: 16px;
339     color: var(--glyph-color);
340 }
341
342 .search-settings:active > .glyph {
343     color: var(--glyph-color-pressed);
344 }
345
346 .search-settings.active > .glyph {
347     color: var(--glyph-color-active);
348 }
349
350 .search-settings:active.active > .glyph {
351     color: var(--glyph-color-active-pressed);
352 }
353
354 .hidden {
355     display: none !important;
356 }
357
358 .expand-list-button {
359     -webkit-appearance: none;
360     text-decoration: underline;
361     background-color: transparent;
362     padding: 0;
363     margin: 0;
364     border: 0;
365     cursor: pointer;
366     color: black;
367 }
368
369 .node-link {
370     text-decoration: underline;
371     cursor: pointer;
372 }
373
374 .node-link-list, .node-link-list li:not([hidden]) {
375     display: block;
376     margin: 0;
377     padding: 0;
378     line-height: 1.2;
379 }
380
381 .node-link-list li {
382     margin: 0 0 0.4em;
383 }
384
385 .node-link-list li:last-child {
386     margin: 0;
387 }
388
389 .value-with-clarification .clarification {
390     color: hsl(0, 0%, 40%);
391 }
392
393 .bouncy-highlight {
394     position: absolute;
395     z-index: var(--z-index-highlight);
396
397     box-shadow: inset hsl(50, 91%, 76%) 0 -1px 0, hsl(52, 56%, 60%) 0 1px 1px, hsla(0, 0%, 0%, 0.33) 0 1px 2px 1px;
398
399     background-color: hsl(54, 93%, 70%);
400     color: black !important;
401
402     padding: 2px 4px;
403     margin-top: -2px;
404     margin-left: -4px;
405
406     -webkit-user-select: none;
407     pointer-events: none;
408
409     animation-name: bouncy-highlight-animation;
410     animation-duration: 750ms;
411     animation-timing-function: ease-in-out;
412
413     opacity: 0;
414 }
415
416 @keyframes bouncy-highlight-animation {
417     0% {
418         transform: scale(1);
419         opacity: 1;
420     }
421
422     12.5% {
423         transform: scale(1.25);
424     }
425
426     25% {
427         transform: scale(1);
428     }
429
430     62.5% {
431         opacity: 1;
432     }
433
434     100% {
435         opacity: 0;
436     }
437 }
438
439 :matches(img, canvas).show-grid {
440     background-color: var(--checkerboard-light-square);
441     background-image: linear-gradient(315deg, transparent 75%, var(--checkerboard-dark-square) 75%),
442                       linear-gradient(45deg, transparent 75%, var(--checkerboard-dark-square) 75%),
443                       linear-gradient(315deg, var(--checkerboard-dark-square) 25%, transparent 25%),
444                       linear-gradient(45deg, var(--checkerboard-dark-square) 25%, transparent 25%);
445     background-size: 20px 20px;
446     background-position: 10px 10px, 10px 0px, 0 0, 0 10px;
447
448     --checkerboard-light-square: transparent;
449     --checkerboard-dark-square: hsl(0, 0%, 95%);
450 }
451
452 .reference-page-link {
453     display: inline-flex;
454     justify-content: center;
455     align-items: center;
456     width: 20px;
457     height: 20px;
458     font-size: 14px;
459     line-height: 18px;
460     color: var(--text-color);
461     text-decoration: none;
462     background-color: var(--button-background-color);
463     border: var(--stroke-width) solid var(--border-color);
464     border-radius: 50%;
465     box-shadow: 0 var(--stroke-width) 1px var(--border-color);
466     cursor: default;
467
468     --stroke-width: 0.5px;
469 }
470
471 .reference-page-link:active {
472     background-color: var(--button-background-color-active);
473 }
474
475 @media (-webkit-device-pixel-ratio: 1) {
476     .reference-page-link {
477         -webkit-padding-start: 1px;
478
479         --stroke-width: 1px;
480     }
481 }
482
483 @media (prefers-color-scheme: dark) {
484     .reference-page-link {
485         border: var(--stroke-width) solid hsl(0, 0%, 20%);
486         box-shadow: 0 var(--stroke-width) 1px hsl(0, 0%, 20%);
487     }
488
489     .reference-page-link:active {
490         background-color: hsl(0, 0%, 50%);
491     }
492 }
493
494 @keyframes tab-bar-console-item-pulse {
495     50% { opacity: 0.6; }
496 }
497
498 .tab-bar > .navigation-bar :matches(.console-warnings, .console-errors):not(.disabled).pulsing {
499     animation-name: tab-bar-console-item-pulse;
500     animation-duration: 0.75s;
501 }
502
503 .device-settings-content {
504     position: relative;
505     padding: 0 4px;
506 }
507
508 .device-settings-content > table {
509     border-collapse: separate;
510     border-spacing: 4px 8px;
511 }
512
513 .device-settings-content > table > tr > td:first-child {
514     text-align: end;
515     vertical-align: top;
516 }
517
518 .device-settings-content .container {
519     display: flex;
520 }
521
522 .device-settings-content .container > * + * {
523     -webkit-margin-start: 8px;
524 }
525
526 .device-settings-content .column {
527     display: flex;
528     flex-direction: column;
529 }
530
531 .device-settings-content .user-agent select {
532     display: block;
533     margin: -2px 0 0;
534 }
535
536 .device-settings-content .user-agent input {
537     display: block;
538     width: 100%;
539     margin: 6px 0 0;
540 }
541
542 .device-settings-content label + label {
543     margin-top: 4px;
544 }
545
546
547 .device-settings-content label > input {
548     margin: 0;
549     -webkit-margin-start: 0.5px;
550     -webkit-margin-end: 4px;
551 }
552
553 .device-settings-content > .reference-page-link-container {
554     position: absolute;
555     bottom: 0.5em;
556 }
557
558 body[dir=ltr] .device-settings-content > .reference-page-link-container {
559     right: 0.5em;
560 }
561
562 body[dir=rtl] .device-settings-content > .reference-page-link-container {
563     left: 0.5em;
564 }
565
566 @media (prefers-color-scheme: dark) {
567     #undocked-title-area {
568         box-shadow: none;
569     }
570
571     body.big-sur #undocked-title-area {
572         --undocked-title-area-background: hsl(0, 0%, 19%);
573     }
574
575     body:not(.big-sur) #undocked-title-area {
576         --undocked-title-area-background: linear-gradient(to bottom, hsl(0, 0%, 26%), hsl(0, 0%, 23%));
577     }
578
579     body.big-sur.window-inactive #undocked-title-area {
580         --undocked-title-area-background: hsl(0, 0%, 11%);
581     }
582
583     body:not(.big-sur).window-inactive #undocked-title-area {
584         --undocked-title-area-background: hsl(0, 0%, 19%);
585     }
586
587     .go-to-arrow {
588         filter: invert();
589     }
590
591     :focus .selected .go-to-arrow,
592     .selected:focus .go-to-arrow {
593         filter: unset;
594     }
595
596     .expand-list-button {
597         color: inherit;
598     }
599
600     :matches(img, canvas).show-grid {
601         --checkerboard-dark-square: hsl(0, 0%, 5%);
602     }
603 }