blitz-pdf 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/THIRD_PARTY_NOTICES.md +5 -2
- package/docs/layout-regressions.md +65 -0
- package/docs/pagination-regressions.md +89 -0
- package/package.json +2 -1
- package/vendor/README.md +35 -0
- package/vendor/blitz-dom/Cargo.toml +113 -0
- package/vendor/blitz-dom/LICENSE-APACHE +176 -0
- package/vendor/blitz-dom/LICENSE-MIT +23 -0
- package/vendor/blitz-dom/assets/default.css +1142 -0
- package/vendor/blitz-dom/assets/moz-bullet-font.otf +0 -0
- package/vendor/blitz-dom/src/accessibility.rs +255 -0
- package/vendor/blitz-dom/src/config.rs +97 -0
- package/vendor/blitz-dom/src/cssom.rs +971 -0
- package/vendor/blitz-dom/src/debug.rs +206 -0
- package/vendor/blitz-dom/src/document.rs +3395 -0
- package/vendor/blitz-dom/src/events/driver.rs +427 -0
- package/vendor/blitz-dom/src/events/focus.rs +40 -0
- package/vendor/blitz-dom/src/events/ime.rs +31 -0
- package/vendor/blitz-dom/src/events/keyboard.rs +174 -0
- package/vendor/blitz-dom/src/events/mod.rs +315 -0
- package/vendor/blitz-dom/src/events/pointer.rs +849 -0
- package/vendor/blitz-dom/src/font_metrics.rs +177 -0
- package/vendor/blitz-dom/src/form.rs +463 -0
- package/vendor/blitz-dom/src/html.rs +38 -0
- package/vendor/blitz-dom/src/iframe.rs +186 -0
- package/vendor/blitz-dom/src/layout/construct.rs +1328 -0
- package/vendor/blitz-dom/src/layout/damage.rs +642 -0
- package/vendor/blitz-dom/src/layout/inline.rs +1160 -0
- package/vendor/blitz-dom/src/layout/list.rs +237 -0
- package/vendor/blitz-dom/src/layout/mod.rs +969 -0
- package/vendor/blitz-dom/src/layout/paint_tree.rs +462 -0
- package/vendor/blitz-dom/src/layout/replaced.rs +439 -0
- package/vendor/blitz-dom/src/layout/table.rs +967 -0
- package/vendor/blitz-dom/src/layout/text_transform.rs +979 -0
- package/vendor/blitz-dom/src/layout/writing_mode.rs +437 -0
- package/vendor/blitz-dom/src/lib.rs +160 -0
- package/vendor/blitz-dom/src/mutator.rs +1818 -0
- package/vendor/blitz-dom/src/net.rs +649 -0
- package/vendor/blitz-dom/src/node/attributes.rs +60 -0
- package/vendor/blitz-dom/src/node/custom_widget.rs +178 -0
- package/vendor/blitz-dom/src/node/element.rs +1106 -0
- package/vendor/blitz-dom/src/node/mod.rs +30 -0
- package/vendor/blitz-dom/src/node/node.rs +2036 -0
- package/vendor/blitz-dom/src/node/scrollbar.rs +237 -0
- package/vendor/blitz-dom/src/node/serialize.rs +225 -0
- package/vendor/blitz-dom/src/node/stylo_data.rs +142 -0
- package/vendor/blitz-dom/src/node/svg.rs +265 -0
- package/vendor/blitz-dom/src/node/text.rs +804 -0
- package/vendor/blitz-dom/src/query_selector.rs +275 -0
- package/vendor/blitz-dom/src/resolve.rs +474 -0
- package/vendor/blitz-dom/src/resolved_style.rs +797 -0
- package/vendor/blitz-dom/src/scrolling.rs +780 -0
- package/vendor/blitz-dom/src/selection.rs +122 -0
- package/vendor/blitz-dom/src/stylo.rs +1518 -0
- package/vendor/blitz-dom/src/stylo_device.rs +88 -0
- package/vendor/blitz-dom/src/stylo_to_cursor_icon.rs +49 -0
- package/vendor/blitz-dom/src/stylo_to_kurbo.rs +129 -0
- package/vendor/blitz-dom/src/stylo_to_parley.rs +655 -0
- package/vendor/blitz-dom/src/traversal.rs +600 -0
- package/vendor/blitz-dom/src/tree.rs +136 -0
- package/vendor/blitz-dom/src/url.rs +63 -0
- package/vendor/blitz-dom/src/util.rs +256 -0
- package/wasm/blitz_pdf_bg.wasm +0 -0
|
@@ -0,0 +1,1142 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
4
|
+
|
|
5
|
+
@namespace url(http://www.w3.org/1999/xhtml);
|
|
6
|
+
/* set default namespace to HTML */
|
|
7
|
+
@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
|
|
8
|
+
|
|
9
|
+
@font-face {
|
|
10
|
+
font-family: -moz-bullet-font;
|
|
11
|
+
src: url("data:font/woff2;base64,d09GMgABAAAAAARYAAwAAAAACqAAAAQFAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBmAAgwIRCAqKDIcYATYCJAMsCxgABCAFg2AHIBtDCFGUrM0MyM/DGJyndUclpZwnU8QPQ6wsFOHO+/yHNvV9IEqSQgsVJW2p+uZkohKbVExPEz/JUW7zk6rzYH9723UJ/4DzBII8CSzwgFMOOE4KW2rjAmh4qQWSiid60f7Y9FsXScfUpeluagFqTTQYyoQaQSubXil0lHRsBehAI9KofG/6ogF9/Hl6lBd920LmeTxj8JXBfFWKwYAY3QsAAXD17ZAB4M6Ocv/nsZlkaTl0gLipewIQEMB2d9lKDAT1ZjP/F7jmWsQ3wn8AZvZFgIIC7ESh4AP1iFb4nPnfWyJgcQArpUWqW9W96j71kHr/L9a/dNRbj+8/ujXLWCMMFYVYiXoEaZQ4YOC/E7Dkz3JEjaokxAP6i3hIUjv9fwYyE6I3yIozKkaGN63fP36aeLJmxlRZwZiFziPrMVvOlnCF98SQJfGO/Xllv/FnWAcEjrMqaMCPwVmktCDO5zzxcXqeKS+QFxYnvJLFVzKZAFcKnlZRwHEPVM3mXxNt2gdZEpkKaIAG9gbgDTU5SOYDcmX7Rr61evEA1U+1/3SMb6FFtUqh55nYleE95j2zPNxzdlnGoR5xu/PxQKzb7bFaFLvl79Z54Lx9OH+g0/PPYlcsNo/nwP2V2vsHUHsV4KqEsd+e2r6Fu2v7abkfvsb65b41uwvRvqewH25kTntqolbYsEr5DAqrX97a0jrBLjFRExVHR2dH1Za6unyZfCVZHqQP0BtYjuUYlg9J6SurcrTEiOr26m5xcuTW4Sp3ljkUYWJ9+/iVmzbzPpcuXnGeqU3U7IKjz/qeKSSCltyhuSoxkqqTZX+DXt/OMmAikC8SzVD0jg3dbhIE0eUqc04UFFrxCSXzFxgHclzRMPe0ocOjiKRoSZISE0OtpkBjECdxkkRM1KiaJV0ed0V5umBP1wyUPL2ZBGLSDh5itIHahHRF0CY5nZMGib6T3cOmDvcTSZKuPiFJFpPRGNTIOq7jl5OjDiGIoo6qEE0QtfQJ3VYUD2RZvbm5uWWCWOgR4HXAk5GxLEO0izhLdvPTfpTV3xeOnOfT96uR53CdPrPq+P9HZvzO4QCMmDr7lTcNZorT6iMOYgI+IxClMzeCspeoLt5ABGSpta6gRZmQSnzk9e9jmOAYKC7RsyGMYaB6MpbNKMiRq2U6vI0yPZuTMiODFytMrGEBi7pjGgkAMoaNLGOFSoYceaZMx1+XTC/UNpmRzY1nmwT7AIcK+fK5lYNjz893lwMTuXlD2AKl8Md+24AxitRaLH/MUMqd9z862owy/bZTuZUqs1iRQop0KdLgZwPc9JS0lprnkef1gitBCRhjgV+vjGK8BfIV8CrlVghj1vIyZfyC/AJvqbsQYAEA/v+IAQA=");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* bidi
|
|
15
|
+
*
|
|
16
|
+
* The dir attribute mapping uses the attribute-selector form from the HTML
|
|
17
|
+
* spec's bidi rendering section rather than Gecko's internal pseudo-classes
|
|
18
|
+
* (:-moz-dir-attr-rtl and friends), which this engine's selector parser
|
|
19
|
+
* does not know: it dropped these rules, and the dir attribute did nothing.
|
|
20
|
+
* dir=auto keeps its isolation but not the content-based direction, which
|
|
21
|
+
* needs bidi analysis no selector can express.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
[dir="ltr" i] {
|
|
25
|
+
direction: ltr;
|
|
26
|
+
unicode-bidi: isolate;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
[dir="rtl" i] {
|
|
30
|
+
direction: rtl;
|
|
31
|
+
unicode-bidi: isolate;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
[dir="auto" i] {
|
|
35
|
+
unicode-bidi: isolate;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
[popover]:not(:popover-open):not(dialog[open]) {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* https://html.spec.whatwg.org/#phrasing-content-3: only links are styled */
|
|
43
|
+
a[href] {
|
|
44
|
+
color: rgb(0, 0, 238);
|
|
45
|
+
text-decoration: underline;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* https://html.spec.whatwg.org/#bidi-rendering */
|
|
49
|
+
input[type=tel]:dir(ltr) {
|
|
50
|
+
direction: ltr;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
input {
|
|
54
|
+
display: inline-block;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* https://html.spec.whatwg.org/#hidden-elements */
|
|
58
|
+
input[type="hidden" i] {
|
|
59
|
+
display: none !important;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
input[type="checkbox"] {
|
|
63
|
+
width: 14px;
|
|
64
|
+
height: 14px;
|
|
65
|
+
margin: 3px 3px 3px 4px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
input[type="radio"] {
|
|
69
|
+
width: 14px;
|
|
70
|
+
height: 14px;
|
|
71
|
+
border-radius: 14px;
|
|
72
|
+
border: none;
|
|
73
|
+
margin: 3px 3px 3px 4px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
input,
|
|
77
|
+
textarea {
|
|
78
|
+
border: 1px solid #999;
|
|
79
|
+
padding: 2px;
|
|
80
|
+
background-color: white;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
input,
|
|
84
|
+
select,
|
|
85
|
+
button {
|
|
86
|
+
font-family: system-ui, sans-serif;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
textarea {
|
|
90
|
+
font-family: monospace;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
input:focus,
|
|
94
|
+
textarea:focus {
|
|
95
|
+
outline: 2px solid #4D90FE;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
button,
|
|
99
|
+
input[type="submit"],
|
|
100
|
+
input[type="reset"],
|
|
101
|
+
input[type="button"] {
|
|
102
|
+
border: 1px solid #999;
|
|
103
|
+
border-radius: 1px;
|
|
104
|
+
padding: 1px 6px;
|
|
105
|
+
color: black;
|
|
106
|
+
background-color: #EFEFEF;
|
|
107
|
+
text-align: center;
|
|
108
|
+
display: inline-block;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Button-flavored inputs clip their contents to the border box and never
|
|
112
|
+
* produce a scrolling mechanism. This matches the UA stylesheet mandated by
|
|
113
|
+
* the HTML standard (https://html.spec.whatwg.org/#form-controls) and prevents
|
|
114
|
+
* an over-long value label from contributing overflow to the page. */
|
|
115
|
+
input[type="submit"],
|
|
116
|
+
input[type="reset"],
|
|
117
|
+
input[type="button"] {
|
|
118
|
+
overflow: clip !important;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
input[type="file"] {
|
|
122
|
+
border: none;
|
|
123
|
+
padding: 0;
|
|
124
|
+
background-color: transparent;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* https://html.spec.whatwg.org/#the-fieldset-and-legend-elements */
|
|
128
|
+
fieldset {
|
|
129
|
+
display: block;
|
|
130
|
+
margin-inline-start: 2px;
|
|
131
|
+
margin-inline-end: 2px;
|
|
132
|
+
border: 2px groove #c0c0c0;
|
|
133
|
+
padding-block-start: 0.35em;
|
|
134
|
+
padding-block-end: 0.625em;
|
|
135
|
+
padding-inline-start: 0.75em;
|
|
136
|
+
padding-inline-end: 0.75em;
|
|
137
|
+
min-inline-size: min-content;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
legend {
|
|
141
|
+
display: block;
|
|
142
|
+
padding-inline-start: 2px;
|
|
143
|
+
padding-inline-end: 2px;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
option {
|
|
147
|
+
display: none;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
picture {
|
|
151
|
+
display: contents;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
source {
|
|
155
|
+
display: none;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* To ensure http://www.w3.org/TR/REC-html40/struct/dirlang.html#style-bidi:
|
|
159
|
+
*
|
|
160
|
+
* "When a block element that does not have a dir attribute is transformed to
|
|
161
|
+
* the style of an inline element by a style sheet, the resulting presentation
|
|
162
|
+
* should be equivalent, in terms of bidirectional formatting, to the
|
|
163
|
+
* formatting obtained by explicitly adding a dir attribute (assigned the
|
|
164
|
+
* inherited value) to the transformed element."
|
|
165
|
+
*
|
|
166
|
+
* and the rules in http://dev.w3.org/html5/spec/rendering.html#rendering
|
|
167
|
+
*/
|
|
168
|
+
|
|
169
|
+
address,
|
|
170
|
+
article,
|
|
171
|
+
aside,
|
|
172
|
+
blockquote,
|
|
173
|
+
body,
|
|
174
|
+
caption,
|
|
175
|
+
center,
|
|
176
|
+
col,
|
|
177
|
+
colgroup,
|
|
178
|
+
dd,
|
|
179
|
+
dir,
|
|
180
|
+
div,
|
|
181
|
+
dl,
|
|
182
|
+
dt,
|
|
183
|
+
fieldset,
|
|
184
|
+
figcaption,
|
|
185
|
+
figure,
|
|
186
|
+
footer,
|
|
187
|
+
form,
|
|
188
|
+
h1,
|
|
189
|
+
h2,
|
|
190
|
+
h3,
|
|
191
|
+
h4,
|
|
192
|
+
h5,
|
|
193
|
+
h6,
|
|
194
|
+
header,
|
|
195
|
+
hgroup,
|
|
196
|
+
hr,
|
|
197
|
+
html,
|
|
198
|
+
legend,
|
|
199
|
+
li,
|
|
200
|
+
listing,
|
|
201
|
+
main,
|
|
202
|
+
marquee,
|
|
203
|
+
menu,
|
|
204
|
+
nav,
|
|
205
|
+
noframes,
|
|
206
|
+
ol,
|
|
207
|
+
p,
|
|
208
|
+
plaintext,
|
|
209
|
+
pre,
|
|
210
|
+
search,
|
|
211
|
+
section,
|
|
212
|
+
summary,
|
|
213
|
+
table,
|
|
214
|
+
tbody,
|
|
215
|
+
td,
|
|
216
|
+
tfoot,
|
|
217
|
+
th,
|
|
218
|
+
thead,
|
|
219
|
+
tr,
|
|
220
|
+
ul,
|
|
221
|
+
xmp {
|
|
222
|
+
unicode-bidi: isolate;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
bdi,
|
|
226
|
+
output {
|
|
227
|
+
unicode-bidi: isolate;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* We need the "bdo:-moz-has-dir-attr" bit because "bdo" has lower
|
|
231
|
+
specificity than the ":-moz-has-dir-attr" selector above. */
|
|
232
|
+
bdo,
|
|
233
|
+
bdo:-moz-has-dir-attr {
|
|
234
|
+
unicode-bidi: isolate-override;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
textarea:-moz-dir-attr-like-auto,
|
|
238
|
+
pre:-moz-dir-attr-like-auto {
|
|
239
|
+
unicode-bidi: plaintext;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* blocks */
|
|
243
|
+
|
|
244
|
+
article,
|
|
245
|
+
aside,
|
|
246
|
+
details,
|
|
247
|
+
div,
|
|
248
|
+
dt,
|
|
249
|
+
figcaption,
|
|
250
|
+
footer,
|
|
251
|
+
form,
|
|
252
|
+
header,
|
|
253
|
+
hgroup,
|
|
254
|
+
html,
|
|
255
|
+
main,
|
|
256
|
+
nav,
|
|
257
|
+
search,
|
|
258
|
+
section,
|
|
259
|
+
summary {
|
|
260
|
+
display: block;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
body {
|
|
264
|
+
display: block;
|
|
265
|
+
margin: 8px;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
p,
|
|
269
|
+
dl,
|
|
270
|
+
multicol {
|
|
271
|
+
display: block;
|
|
272
|
+
margin-block-start: 1em;
|
|
273
|
+
margin-block-end: 1em;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
dd {
|
|
277
|
+
display: block;
|
|
278
|
+
margin-inline-start: 40px;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
blockquote,
|
|
282
|
+
figure {
|
|
283
|
+
display: block;
|
|
284
|
+
margin-block-start: 1em;
|
|
285
|
+
margin-block-end: 1em;
|
|
286
|
+
margin-inline-start: 40px;
|
|
287
|
+
margin-inline-end: 40px;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
address {
|
|
291
|
+
display: block;
|
|
292
|
+
font-style: italic;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
center {
|
|
296
|
+
display: block;
|
|
297
|
+
text-align: -moz-center;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
h1 {
|
|
301
|
+
display: block;
|
|
302
|
+
font-size: 2em;
|
|
303
|
+
font-weight: bold;
|
|
304
|
+
margin-block-start: .67em;
|
|
305
|
+
margin-block-end: .67em;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
h2 {
|
|
309
|
+
display: block;
|
|
310
|
+
font-size: 1.5em;
|
|
311
|
+
font-weight: bold;
|
|
312
|
+
margin-block-start: .83em;
|
|
313
|
+
margin-block-end: .83em;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
h3 {
|
|
317
|
+
display: block;
|
|
318
|
+
font-size: 1.17em;
|
|
319
|
+
font-weight: bold;
|
|
320
|
+
margin-block-start: 1em;
|
|
321
|
+
margin-block-end: 1em;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
h4 {
|
|
325
|
+
display: block;
|
|
326
|
+
font-size: 1.00em;
|
|
327
|
+
font-weight: bold;
|
|
328
|
+
margin-block-start: 1.33em;
|
|
329
|
+
margin-block-end: 1.33em;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
h5 {
|
|
333
|
+
display: block;
|
|
334
|
+
font-size: 0.83em;
|
|
335
|
+
font-weight: bold;
|
|
336
|
+
margin-block-start: 1.67em;
|
|
337
|
+
margin-block-end: 1.67em;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
h6 {
|
|
341
|
+
display: block;
|
|
342
|
+
font-size: 0.67em;
|
|
343
|
+
font-weight: bold;
|
|
344
|
+
margin-block-start: 2.33em;
|
|
345
|
+
margin-block-end: 2.33em;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
listing {
|
|
349
|
+
display: block;
|
|
350
|
+
font-family: -moz-fixed;
|
|
351
|
+
font-size: medium;
|
|
352
|
+
white-space: pre;
|
|
353
|
+
margin-block-start: 1em;
|
|
354
|
+
margin-block-end: 1em;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
xmp,
|
|
358
|
+
pre,
|
|
359
|
+
plaintext {
|
|
360
|
+
display: block;
|
|
361
|
+
font-family: -moz-fixed;
|
|
362
|
+
white-space: pre;
|
|
363
|
+
margin-block-start: 1em;
|
|
364
|
+
margin-block-end: 1em;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/* tables */
|
|
368
|
+
|
|
369
|
+
table {
|
|
370
|
+
display: table;
|
|
371
|
+
border-spacing: 2px;
|
|
372
|
+
border-collapse: separate;
|
|
373
|
+
/* XXXldb do we want this if we're border-collapse:collapse ? */
|
|
374
|
+
box-sizing: border-box;
|
|
375
|
+
text-indent: 0;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
table[align="left"] {
|
|
379
|
+
float: left;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
table[align="right"] {
|
|
383
|
+
float: right;
|
|
384
|
+
text-align: start;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
td[nowrap],
|
|
388
|
+
th[nowrap] {
|
|
389
|
+
white-space: nowrap;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
/* border collapse rules */
|
|
394
|
+
|
|
395
|
+
/* Set hidden if we have 'frame' or 'rules' attribute.
|
|
396
|
+
Set it on all sides when we do so there's more consistency
|
|
397
|
+
in what authors should expect */
|
|
398
|
+
|
|
399
|
+
/* Put this first so 'border' and 'frame' rules can override it. */
|
|
400
|
+
table[rules] {
|
|
401
|
+
border-width: thin;
|
|
402
|
+
border-style: hidden;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/* 'border' before 'frame' so 'frame' overrides
|
|
406
|
+
A border with a given value should, of course, pass that value
|
|
407
|
+
as the border-width in pixels -> attr mapping */
|
|
408
|
+
|
|
409
|
+
/* :-moz-table-border-nonzero is like [border]:not([border="0"]) except it
|
|
410
|
+
also checks for other zero-like values according to HTML attribute
|
|
411
|
+
parsing rules */
|
|
412
|
+
table:-moz-table-border-nonzero {
|
|
413
|
+
border-width: thin;
|
|
414
|
+
border-style: outset;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
table[frame] {
|
|
418
|
+
border: thin hidden;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/* specificity must beat table:-moz-table-border-nonzero rule above */
|
|
422
|
+
table[frame="void"] {
|
|
423
|
+
border-style: hidden;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
table[frame="above"] {
|
|
427
|
+
border-style: outset hidden hidden hidden;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
table[frame="below"] {
|
|
431
|
+
border-style: hidden hidden outset hidden;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
table[frame="lhs"] {
|
|
435
|
+
border-style: hidden hidden hidden outset;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
table[frame="rhs"] {
|
|
439
|
+
border-style: hidden outset hidden hidden;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
table[frame="hsides"] {
|
|
443
|
+
border-style: outset hidden;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
table[frame="vsides"] {
|
|
447
|
+
border-style: hidden outset;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
table[frame="box"],
|
|
451
|
+
table[frame="border"] {
|
|
452
|
+
border-style: outset;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
/* Internal Table Borders */
|
|
457
|
+
|
|
458
|
+
/* 'border' cell borders first */
|
|
459
|
+
|
|
460
|
+
table:-moz-table-border-nonzero>*>tr>td,
|
|
461
|
+
table:-moz-table-border-nonzero>*>tr>th,
|
|
462
|
+
table:-moz-table-border-nonzero>*>td,
|
|
463
|
+
table:-moz-table-border-nonzero>*>th,
|
|
464
|
+
table:-moz-table-border-nonzero>td,
|
|
465
|
+
table:-moz-table-border-nonzero>th {
|
|
466
|
+
border-width: thin;
|
|
467
|
+
border-style: inset;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/* collapse only if rules are really specified */
|
|
471
|
+
table[rules]:not([rules="none"], [rules=""]) {
|
|
472
|
+
border-collapse: collapse;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/* only specified rules override 'border' settings
|
|
476
|
+
(increased specificity to achieve this) */
|
|
477
|
+
table[rules]:not([rules=""])>tr>td,
|
|
478
|
+
table[rules]:not([rules=""])>*>tr>td,
|
|
479
|
+
table[rules]:not([rules=""])>tr>th,
|
|
480
|
+
table[rules]:not([rules=""])>*>tr>th,
|
|
481
|
+
table[rules]:not([rules=""])>td,
|
|
482
|
+
table[rules]:not([rules=""])>th {
|
|
483
|
+
border-width: thin;
|
|
484
|
+
border-style: none;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
table[rules][rules="none"]>tr>td,
|
|
489
|
+
table[rules][rules="none"]>*>tr>td,
|
|
490
|
+
table[rules][rules="none"]>tr>th,
|
|
491
|
+
table[rules][rules="none"]>*>tr>th,
|
|
492
|
+
table[rules][rules="none"]>td,
|
|
493
|
+
table[rules][rules="none"]>th {
|
|
494
|
+
border-width: thin;
|
|
495
|
+
border-style: none;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
table[rules][rules="all"]>tr>td,
|
|
499
|
+
table[rules][rules="all"]>*>tr>td,
|
|
500
|
+
table[rules][rules="all"]>tr>th,
|
|
501
|
+
table[rules][rules="all"]>*>tr>th,
|
|
502
|
+
table[rules][rules="all"]>td,
|
|
503
|
+
table[rules][rules="all"]>th {
|
|
504
|
+
border-width: thin;
|
|
505
|
+
border-style: solid;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
table[rules][rules="rows"]>tr,
|
|
509
|
+
table[rules][rules="rows"]>*>tr {
|
|
510
|
+
border-block-start-width: thin;
|
|
511
|
+
border-block-end-width: thin;
|
|
512
|
+
border-block-start-style: solid;
|
|
513
|
+
border-block-end-style: solid;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
table[rules][rules="cols"]>tr>td,
|
|
518
|
+
table[rules][rules="cols"]>*>tr>td,
|
|
519
|
+
table[rules][rules="cols"]>tr>th,
|
|
520
|
+
table[rules][rules="cols"]>*>tr>th {
|
|
521
|
+
border-inline-start-width: thin;
|
|
522
|
+
border-inline-end-width: thin;
|
|
523
|
+
border-inline-start-style: solid;
|
|
524
|
+
border-inline-end-style: solid;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
table[rules][rules="groups"]>colgroup {
|
|
528
|
+
border-inline-start-width: thin;
|
|
529
|
+
border-inline-end-width: thin;
|
|
530
|
+
border-inline-start-style: solid;
|
|
531
|
+
border-inline-end-style: solid;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
table[rules][rules="groups"]>tfoot,
|
|
535
|
+
table[rules][rules="groups"]>thead,
|
|
536
|
+
table[rules][rules="groups"]>tbody {
|
|
537
|
+
border-block-start-width: thin;
|
|
538
|
+
border-block-end-width: thin;
|
|
539
|
+
border-block-start-style: solid;
|
|
540
|
+
border-block-end-style: solid;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
/* caption inherits from table not table-outer */
|
|
545
|
+
caption {
|
|
546
|
+
display: table-caption;
|
|
547
|
+
text-align: center;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
table[align="center"]>caption {
|
|
551
|
+
margin-inline-start: auto;
|
|
552
|
+
margin-inline-end: auto;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
table[align="center"]>caption[align="left"]:dir(ltr) {
|
|
556
|
+
margin-inline-end: 0;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
table[align="center"]>caption[align="left"]:dir(rtl) {
|
|
560
|
+
margin-inline-start: 0;
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
table[align="center"]>caption[align="right"]:dir(ltr) {
|
|
564
|
+
margin-inline-start: 0;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
table[align="center"]>caption[align="right"]:dir(rtl) {
|
|
568
|
+
margin-inline-end: 0;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
tr {
|
|
572
|
+
display: table-row;
|
|
573
|
+
vertical-align: inherit;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
col {
|
|
577
|
+
display: table-column;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
colgroup {
|
|
581
|
+
display: table-column-group;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
tbody {
|
|
585
|
+
display: table-row-group;
|
|
586
|
+
vertical-align: middle;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
thead {
|
|
590
|
+
display: table-header-group;
|
|
591
|
+
vertical-align: middle;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
tfoot {
|
|
595
|
+
display: table-footer-group;
|
|
596
|
+
vertical-align: middle;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
/* for XHTML tables without tbody */
|
|
600
|
+
table>tr {
|
|
601
|
+
vertical-align: middle;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
td {
|
|
605
|
+
display: table-cell;
|
|
606
|
+
vertical-align: inherit;
|
|
607
|
+
text-align: unset;
|
|
608
|
+
padding: 1px;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
th {
|
|
612
|
+
display: table-cell;
|
|
613
|
+
vertical-align: inherit;
|
|
614
|
+
font-weight: bold;
|
|
615
|
+
padding: 1px;
|
|
616
|
+
text-align: -moz-center-or-inherit;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
:is(tr, tbody, thead, tfoot, table)>form:-moz-is-html {
|
|
620
|
+
/* Important: don't show these forms in HTML */
|
|
621
|
+
display: none !important;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
table[bordercolor]>tbody,
|
|
625
|
+
table[bordercolor]>thead,
|
|
626
|
+
table[bordercolor]>tfoot,
|
|
627
|
+
table[bordercolor]>col,
|
|
628
|
+
table[bordercolor]>colgroup,
|
|
629
|
+
table[bordercolor]>tr,
|
|
630
|
+
table[bordercolor]>*>tr,
|
|
631
|
+
table[bordercolor]>tr>td,
|
|
632
|
+
table[bordercolor]>*>tr>td,
|
|
633
|
+
table[bordercolor]>tr>th,
|
|
634
|
+
table[bordercolor]>*>tr>th {
|
|
635
|
+
border-color: inherit;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
/* inlines */
|
|
639
|
+
|
|
640
|
+
q:before {
|
|
641
|
+
content: open-quote;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
q:after {
|
|
645
|
+
content: close-quote;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
b,
|
|
649
|
+
strong {
|
|
650
|
+
font-weight: bolder;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
i,
|
|
654
|
+
cite,
|
|
655
|
+
em,
|
|
656
|
+
var,
|
|
657
|
+
dfn {
|
|
658
|
+
font-style: italic;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
tt,
|
|
662
|
+
code,
|
|
663
|
+
kbd,
|
|
664
|
+
samp {
|
|
665
|
+
font-family: -moz-fixed;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
u,
|
|
669
|
+
ins {
|
|
670
|
+
text-decoration: underline;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
s,
|
|
674
|
+
strike,
|
|
675
|
+
del {
|
|
676
|
+
text-decoration: line-through;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
big {
|
|
680
|
+
font-size: larger;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
small {
|
|
684
|
+
font-size: smaller;
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
sub {
|
|
688
|
+
vertical-align: sub;
|
|
689
|
+
font-size: smaller;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
sup {
|
|
693
|
+
vertical-align: super;
|
|
694
|
+
font-size: smaller;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
nobr {
|
|
698
|
+
white-space: nowrap;
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
mark {
|
|
702
|
+
background: Mark;
|
|
703
|
+
color: MarkText;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
/* titles */
|
|
707
|
+
abbr[title],
|
|
708
|
+
acronym[title] {
|
|
709
|
+
text-decoration: dotted underline;
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
/* lists */
|
|
713
|
+
|
|
714
|
+
ul,
|
|
715
|
+
menu,
|
|
716
|
+
dir {
|
|
717
|
+
display: block;
|
|
718
|
+
list-style-type: disc;
|
|
719
|
+
margin-block-start: 1em;
|
|
720
|
+
margin-block-end: 1em;
|
|
721
|
+
padding-inline-start: 40px;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
ul,
|
|
725
|
+
ol,
|
|
726
|
+
menu {
|
|
727
|
+
counter-reset: list-item;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
ol {
|
|
731
|
+
display: block;
|
|
732
|
+
list-style-type: decimal;
|
|
733
|
+
margin-block-start: 1em;
|
|
734
|
+
margin-block-end: 1em;
|
|
735
|
+
padding-inline-start: 40px;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
li {
|
|
739
|
+
display: list-item;
|
|
740
|
+
text-align: match-parent;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/* nested lists have no top/bottom margins */
|
|
744
|
+
:is(ul, ol, dir, menu, dl) ul,
|
|
745
|
+
:is(ul, ol, dir, menu, dl) ol,
|
|
746
|
+
:is(ul, ol, dir, menu, dl) dir,
|
|
747
|
+
:is(ul, ol, dir, menu, dl) menu,
|
|
748
|
+
:is(ul, ol, dir, menu, dl) dl {
|
|
749
|
+
margin-block-start: 0;
|
|
750
|
+
margin-block-end: 0;
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
/* 2 deep unordered lists use a circle */
|
|
754
|
+
:is(ol, ul, menu, dir) ul,
|
|
755
|
+
:is(ol, ul, menu, dir) menu,
|
|
756
|
+
:is(ol, ul, menu, dir) dir {
|
|
757
|
+
list-style-type: circle;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
/* 3 deep (or more) unordered lists use a square */
|
|
761
|
+
:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) ul,
|
|
762
|
+
:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) menu,
|
|
763
|
+
:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) dir {
|
|
764
|
+
list-style-type: square;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
/* leafs */
|
|
769
|
+
|
|
770
|
+
/* <hr> noshade and color attributes are handled completely by
|
|
771
|
+
* HTMLHRElement::MapAttributesIntoRule.
|
|
772
|
+
* https://html.spec.whatwg.org/#the-hr-element-2
|
|
773
|
+
*/
|
|
774
|
+
hr {
|
|
775
|
+
color: gray;
|
|
776
|
+
border-width: 1px;
|
|
777
|
+
border-style: inset;
|
|
778
|
+
margin-block-start: 0.5em;
|
|
779
|
+
margin-block-end: 0.5em;
|
|
780
|
+
margin-inline-start: auto;
|
|
781
|
+
margin-inline-end: auto;
|
|
782
|
+
overflow: hidden;
|
|
783
|
+
|
|
784
|
+
/* FIXME: This is not really per spec */
|
|
785
|
+
display: block;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
hr[size="1"] {
|
|
789
|
+
border-style: solid none none none;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
/* Note that we only intend for the alt content to show up if the image is
|
|
793
|
+
* broken. But non-broken images/inputs will have a replaced box, and thus we
|
|
794
|
+
* won't we don't generate the pseudo-element anyways. This prevents
|
|
795
|
+
* unnecessary reframing when images become broken / non-broken. */
|
|
796
|
+
input[type=image]::before,
|
|
797
|
+
img::before {
|
|
798
|
+
content: -moz-alt-content !important;
|
|
799
|
+
unicode-bidi: isolate;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
img[usemap],
|
|
803
|
+
object[usemap] {
|
|
804
|
+
color: blue;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
frameset {
|
|
808
|
+
display: block ! important;
|
|
809
|
+
overflow: clip;
|
|
810
|
+
position: static ! important;
|
|
811
|
+
float: none ! important;
|
|
812
|
+
border: none ! important;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
frame {
|
|
816
|
+
border-radius: 0 ! important;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
iframe {
|
|
820
|
+
border: 2px inset;
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
spacer {
|
|
824
|
+
position: static ! important;
|
|
825
|
+
float: none ! important;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
canvas {
|
|
829
|
+
user-select: none;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
iframe:focus-visible,
|
|
833
|
+
body:focus-visible,
|
|
834
|
+
html:focus-visible {
|
|
835
|
+
/* These elements historically don't show outlines when focused by default.
|
|
836
|
+
* We could consider changing that if needed. */
|
|
837
|
+
outline-style: none;
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
/* hidden elements: https://html.spec.whatwg.org/#hidden-elements
|
|
841
|
+
*
|
|
842
|
+
* Exceptions:
|
|
843
|
+
*
|
|
844
|
+
* * area declaration needs to be !important, see below / bug 135040. That's
|
|
845
|
+
* hacky and broken.
|
|
846
|
+
*
|
|
847
|
+
* * [hidden] is implemented as a presentation attribute to avoid a global
|
|
848
|
+
* selector in a UA sheet.
|
|
849
|
+
*/
|
|
850
|
+
base,
|
|
851
|
+
basefont,
|
|
852
|
+
datalist,
|
|
853
|
+
head,
|
|
854
|
+
link,
|
|
855
|
+
meta,
|
|
856
|
+
noembed,
|
|
857
|
+
noframes,
|
|
858
|
+
param,
|
|
859
|
+
rp,
|
|
860
|
+
script,
|
|
861
|
+
style,
|
|
862
|
+
template,
|
|
863
|
+
title {
|
|
864
|
+
display: none;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
area {
|
|
868
|
+
/* Don't give it frames other than its imageframe */
|
|
869
|
+
display: none ! important;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
iframe:fullscreen {
|
|
873
|
+
/* iframes in full-screen mode don't show a border. */
|
|
874
|
+
border: none !important;
|
|
875
|
+
padding: unset !important;
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
/* Details and summary
|
|
879
|
+
* https://html.spec.whatwg.org/#the-details-and-summary-elements
|
|
880
|
+
*
|
|
881
|
+
* Note that these rules need to be duplicated in details.css for the anonymous
|
|
882
|
+
* summary, which wouldn't match otherwise.
|
|
883
|
+
*
|
|
884
|
+
* The spec here says something different, see
|
|
885
|
+
* https://github.com/whatwg/html/issues/8610
|
|
886
|
+
*/
|
|
887
|
+
details>summary:first-of-type {
|
|
888
|
+
display: list-item;
|
|
889
|
+
counter-increment: list-item 0;
|
|
890
|
+
list-style: disclosure-closed inside;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
details[open]>summary:first-of-type {
|
|
894
|
+
list-style-type: disclosure-open;
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
/* When a <details> is closed, only its first <summary> is shown. Everything
|
|
898
|
+
* else (including any additional summaries) is hidden. */
|
|
899
|
+
details:not([open])>:not(summary:first-of-type) {
|
|
900
|
+
display: none !important;
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
/* media elements */
|
|
904
|
+
video {
|
|
905
|
+
object-fit: contain;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
video>img:-moz-native-anonymous {
|
|
909
|
+
/* Video poster images should render with the video element's "object-fit" &
|
|
910
|
+
"object-position" properties */
|
|
911
|
+
object-fit: inherit !important;
|
|
912
|
+
object-position: inherit !important;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
audio:not([controls]) {
|
|
916
|
+
display: none !important;
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
audio[controls] {
|
|
920
|
+
/* This ensures that intrinsic sizing can reliably shrinkwrap our
|
|
921
|
+
controls (which are also always horizontal) and produce a
|
|
922
|
+
reasonable intrinsic size from them. */
|
|
923
|
+
writing-mode: horizontal-tb !important;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
*|*::-moz-html-canvas-content {
|
|
927
|
+
display: block !important;
|
|
928
|
+
/* we want to be an absolute and fixed container */
|
|
929
|
+
transform: translate(0) !important;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
video>.caption-box {
|
|
933
|
+
width: 100%;
|
|
934
|
+
height: 100%;
|
|
935
|
+
position: relative;
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
/**
|
|
939
|
+
* The pseudo element won't inherit CSS styles from its direct parent, `::cue`
|
|
940
|
+
* would actually inherit styles from video because it's video's pseudo element.
|
|
941
|
+
* Therefore, we have to explicitly set some styles which are already defined
|
|
942
|
+
* in its parent element in vtt.jsm.
|
|
943
|
+
*/
|
|
944
|
+
::cue {
|
|
945
|
+
color: rgba(255, 255, 255, 1);
|
|
946
|
+
white-space: pre-line;
|
|
947
|
+
background-color: rgba(0, 0, 0, 0.8);
|
|
948
|
+
font: 10px sans-serif;
|
|
949
|
+
overflow-wrap: break-word;
|
|
950
|
+
/* TODO : enable unicode-bidi, right now enable it would cause incorrect
|
|
951
|
+
display direction, maybe related with bug 1558431. */
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
/* <dialog> element styles */
|
|
955
|
+
|
|
956
|
+
dialog {
|
|
957
|
+
position: absolute;
|
|
958
|
+
display: block;
|
|
959
|
+
inset-inline-start: 0;
|
|
960
|
+
inset-inline-end: 0;
|
|
961
|
+
margin: auto;
|
|
962
|
+
border-width: initial;
|
|
963
|
+
border-style: solid;
|
|
964
|
+
border-color: initial;
|
|
965
|
+
border-image: initial;
|
|
966
|
+
padding: 1em;
|
|
967
|
+
background-color: Canvas;
|
|
968
|
+
color: CanvasText;
|
|
969
|
+
width: -moz-fit-content;
|
|
970
|
+
height: -moz-fit-content;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
dialog:not([open]) {
|
|
974
|
+
display: none;
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
dialog:modal {
|
|
978
|
+
-moz-top-layer: top !important;
|
|
979
|
+
position: fixed;
|
|
980
|
+
overflow: auto;
|
|
981
|
+
visibility: visible;
|
|
982
|
+
inset-block-start: 0;
|
|
983
|
+
inset-block-end: 0;
|
|
984
|
+
max-width: calc(100% - 6px - 2em);
|
|
985
|
+
max-height: calc(100% - 6px - 2em);
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
/* https://html.spec.whatwg.org/#flow-content-3 */
|
|
989
|
+
dialog::backdrop {
|
|
990
|
+
background: rgba(0, 0, 0, 0.1);
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
marquee {
|
|
994
|
+
inline-size: -moz-available;
|
|
995
|
+
display: inline-block;
|
|
996
|
+
vertical-align: text-bottom;
|
|
997
|
+
text-align: start;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
marquee:is([direction="up"], [direction="down"]) {
|
|
1001
|
+
block-size: 200px;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/* Ruby */
|
|
1005
|
+
|
|
1006
|
+
ruby {
|
|
1007
|
+
display: ruby;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
rb {
|
|
1011
|
+
display: ruby-base;
|
|
1012
|
+
white-space: nowrap;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
rt {
|
|
1016
|
+
display: ruby-text;
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
rtc {
|
|
1020
|
+
display: ruby-text-container;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
rtc,
|
|
1024
|
+
rt {
|
|
1025
|
+
white-space: nowrap;
|
|
1026
|
+
font-size: 50%;
|
|
1027
|
+
-moz-min-font-size-ratio: 50%;
|
|
1028
|
+
line-height: 1;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
@media not (-moz-platform: windows) {
|
|
1032
|
+
|
|
1033
|
+
rtc,
|
|
1034
|
+
rt {
|
|
1035
|
+
/* The widely-used Windows font Meiryo doesn't work fine with this
|
|
1036
|
+
* setting, so disable this on Windows. We should re-enable it once
|
|
1037
|
+
* Microsoft fixes this issue. See bug 1164279. */
|
|
1038
|
+
font-variant-east-asian: ruby;
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
rtc,
|
|
1043
|
+
rt {
|
|
1044
|
+
text-emphasis: none;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
rtc:lang(zh),
|
|
1048
|
+
rt:lang(zh) {
|
|
1049
|
+
ruby-align: center;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
rtc:lang(zh-TW),
|
|
1053
|
+
rt:lang(zh-TW) {
|
|
1054
|
+
font-size: 30%;
|
|
1055
|
+
/* bopomofo */
|
|
1056
|
+
-moz-min-font-size-ratio: 30%;
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
rtc>rt {
|
|
1060
|
+
font-size: unset;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
ruby,
|
|
1064
|
+
rb,
|
|
1065
|
+
rt,
|
|
1066
|
+
rtc {
|
|
1067
|
+
unicode-bidi: isolate;
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
/* Shadow DOM v1
|
|
1071
|
+
* https://drafts.csswg.org/css-scoping/#slots-in-shadow-tree */
|
|
1072
|
+
slot {
|
|
1073
|
+
display: contents;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
/* Un-invert images and videos for users using inverted colors.
|
|
1077
|
+
* "User agents must add the following rule to their UA style sheet"
|
|
1078
|
+
* https://www.w3.org/TR/mediaqueries-5/#inverted
|
|
1079
|
+
*/
|
|
1080
|
+
@media (inverted-colors) {
|
|
1081
|
+
|
|
1082
|
+
img:not(picture > img),
|
|
1083
|
+
picture,
|
|
1084
|
+
video {
|
|
1085
|
+
filter: invert(100%);
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
/* Hide noscript elements if scripting is enabled */
|
|
1090
|
+
@media (scripting) {
|
|
1091
|
+
noscript {
|
|
1092
|
+
display: none !important;
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
@media print {
|
|
1097
|
+
|
|
1098
|
+
input,
|
|
1099
|
+
textarea,
|
|
1100
|
+
select,
|
|
1101
|
+
button,
|
|
1102
|
+
details {
|
|
1103
|
+
-moz-user-input: none !important;
|
|
1104
|
+
pointer-events: none !important;
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
/* Popover UA style, https://html.spec.whatwg.org/#flow-content-3 */
|
|
1109
|
+
/* stylelint-disable-next-line media-query-no-invalid */
|
|
1110
|
+
@media (-moz-bool-pref: "dom.element.popover.enabled") {
|
|
1111
|
+
[popover]:not(:popover-open):not(dialog[open]) {
|
|
1112
|
+
display: none;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
dialog:popover-open {
|
|
1116
|
+
display: block;
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
[popover] {
|
|
1120
|
+
position: fixed;
|
|
1121
|
+
inset: 0;
|
|
1122
|
+
width: fit-content;
|
|
1123
|
+
height: fit-content;
|
|
1124
|
+
margin: auto;
|
|
1125
|
+
border: solid;
|
|
1126
|
+
padding: 0.25em;
|
|
1127
|
+
overflow: auto;
|
|
1128
|
+
color: CanvasText;
|
|
1129
|
+
background-color: Canvas;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
:popover-open {
|
|
1133
|
+
-moz-top-layer: top;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
:popover-open::backdrop {
|
|
1137
|
+
position: fixed;
|
|
1138
|
+
inset: 0;
|
|
1139
|
+
pointer-events: none !important;
|
|
1140
|
+
background-color: transparent;
|
|
1141
|
+
}
|
|
1142
|
+
}
|