Implement stroke-miterlimit.
[WebKit-https.git] / Source / WebCore / css / CSSProperties.json
1 {
2     "instructions": [
3         "CSS Properties",
4         "",
5         "Some properties are used internally, but are not part of CSS. They are used to get",
6         "HTML4 compatibility in the rendering engine.",
7         "",
8         "Microsoft extensions are documented here:",
9         "http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp",
10         "",
11         "1. Possible Keys",
12         "",
13         "Keys that control CSS behavior:",
14         "",
15         "* inherited:",
16         "Whether the property is inherited.",
17         "",
18         "* animatable:",
19         "Indicates that this CSS property is an animation / transition property.",
20         "It must have corresponding methods on the Animation class.",
21         "",
22         "Keys that control code generation:",
23         "",
24         "* initial:",
25         "Overrides the method name on RenderStyle to get the initial value for",
26         "the property. By default, \"initial\" + PropertyId is used (e.g.",
27         "initialBorderCollapse()).",
28         "",
29         "* getter:",
30         "Overrides the method name on RenderStyle to get the current value for",
31         "the property. By default, the PropertyId with first letter lowercased",
32         "is used (e.g. borderCollapse()).",
33         "",
34         "* setter:",
35         "Overrides the method name on RenderStyle to set the current value for",
36         "the property. By default, \"set\" + PropertyId is used (e.g.",
37         "setBorderCollapse()).",
38         "",
39         "* name-for-methods:",
40         "Overrides the getter / setter / initial method names on RenderStyle.",
41         "For example, '\"name-for-methods\": \"OverflowWrap\"' will use",
42         "\"overflowWrap() / setOverflowWrap() / initialOverflowWrap()\".",
43         "",
44         "* converter:",
45         "The name of the converter helper function in css/StyleBuilderConverter.h",
46         "to use. The converter helper function takes ",
47         "If converting the input CSSValue into the setter method argument type",
48         "is not trivial (i.e. the CSSPrimitiveValue cannot be implicitly converted",
49         "to the expected type), then you can indicate that a converter helper",
50         "function in css/StyleBuilderConverter.h should be used.",
51         "",
52         "* conditional-converter:",
53         "Similar to property converter, but the converter function returns a",
54         "WTF::Optional<> to indicate if the property setter should be called",
55         "or not.",
56         "",
57         "* custom:",
58         "A string that is \"All\", \"Initial\", \"Inherit\", or \"Value\" or some combination",
59         "of the latter three separated by '|' (e.g. \"Inherit|Value\"). These options",
60         "are described as follows:",
61         "",
62         "All - the CSS property requires special handling to set its initial value,",
63         "inherit value, and its value. Prefer this option over listing the individual",
64         "options.",
65         "",
66         "Initial - the CSS property requires special handling to set its initial value.",
67         "",
68         "Inherit - the CSS property requires special handling to set its inherit value.",
69         "",
70         "Value - the CSS property requires special handling to set its value, and a",
71         "regular converter helper cannot be used.",
72         "",
73         "The custom code for the property should be located in css/StyleBuilderCustom.h",
74         "and named applyValue[CSSPropertyName]().",
75         "",
76         "* svg:",
77         "Indicates that this is an SVG CSS property and that the corresponding",
78         "methods are on SVGRenderStyle instead of RenderStyle.",
79         "",
80         "* auto-functions:",
81         "Indicates that this CSS property requires handling of \"auto\" and has",
82         "corresponding hasAutoXXX() / setHasAutoXXX() methods on RenderStyle.",
83         "",
84         "* visited-link-color-support:",
85         "Indicates that this CSS property is a color property with a",
86         "\"setVisitedLinkXXX()\" setter on RenderStyle to be called when",
87         "StyleResolver::applyPropertyToVisitedLinkStyle() return true.",
88         "The regular setter on RenderStyle will only be called if",
89         "StyleResolver::applyPropertyToRegularStyle() returns true.",
90         "",
91         "* no-default-color:",
92         "Should only with used with \"VisitedLinkColorSupport\". It indicates that for",
93         "setting the inherited value, it will not fallback to using the parent's",
94         "\"color\" property if the inherited color is invalid.",
95         "",
96         "* fone-property:",
97         "Indicates that this CSS property is font-related. It must have corresponding",
98         "methods on the FontDescription class.",
99         "",
100         "* fill-layer-property:",
101         "Indicates that this CSS property is a FillLayer property. It must have",
102         "corresponding methods on the FillLayer class.",
103         "",
104         "* skip-builder:",
105         "Ignore this property in the StyleBuilder.",
106         "",
107         "* longhands:",
108         "Indicated the array longhand property names associated with this shorthand",
109         "property. Shorthand properties should not use the StyleBuilder. An",
110         "ASSERT_NOT_REACHED() will be generated for this property in the StyleBuilder.",
111         "property1, property2, ... are the longhands for this shorthand property. A",
112         "corresponding \"StylePropertyShorthand propertyIdShorthand()\" function will be",
113         "generated in StylePropertyShorthandFunctions.h header.",
114         "",
115         "* high-priority:",
116         "Whether the property needs to be applied before non-high-priority properties",
117         "in CSS cascading order.",
118         "",
119         "* aliases:",
120         "An array of the alternative names for this property.",
121         "",
122         "* enable-if:",
123         "Indicates that code should only be generated for this property/value if the",
124         "specified macro define is enabled. Prefix the macro define with '!' to",
125         "generate code when the macro define is not enabled.",
126         "",
127         "2. Lesser known capabilities of this file format",
128         "",
129         "Conditional CSS keyword value:",
130         "",
131         "Typically the value of key \"values\" is an array of strings that represent the",
132         "CSS keyword values that are recognized by a CSS property. This array may also",
133         "contain objects of the form:",
134         "",
135         "    {",
136         "        \"value\": \"awesome\",",
137         "        \"enable-if\": \"ENABLE_AWESOME_FEATURE\"",
138         "    }",
139         "",
140         "The key \"value\" is the name of the conditional keyword and key \"enable-if\"",
141         "describes the code generation criterion. See the documentation for \"enable-if\"",
142         "above for more details.",
143         "",
144         "Conditonal CSS property definition:",
145         "",
146         "A CSS property can have more than one definition so long as the key \"enable-if\"",
147         "differs in each definition. For example, ",
148         "",
149         "    \"awesome-property\": [",
150         "        {",
151         "            \"inherited\": true,",
152         "            ...,",
153         "            \"codegen-properties\": {",
154         "                ...",
155         "                \"enable-if\": \"ENABLE_AWESOME_FEATURE\"",
156         "            }",
157         "        },",
158         "        {",
159         "            \"inherited\": false,",
160         "            ...,",
161         "            \"codegen-properties\": {",
162         "                ...",
163         "                \"enable-if\": \"!ENABLE_AWESOME_FEATURE\"",
164         "            }",
165         "        },",
166         "        ...",
167         "    ],",
168         "",
169         "The first definition in parse order whose \"enable-if\" criterion evaluates",
170         "to true is chosen for code generation."
171     ],
172     "properties": {
173         "color": {
174             "inherited": true,
175             "codegen-properties": {
176                 "visited-link-color-support": true,
177                 "no-default-color": true,
178                 "high-priority": true
179             },
180             "specification": {
181                 "category": "css-color",
182                 "url": "https://www.w3.org/TR/css-color-4/#the-color-property",
183                 "comment": "All the values from CSS Color Level 3 are supported, as well as the 8- and 4-digit forms of hex color, and the color() function."
184             }
185         },
186         "direction": {
187             "inherited": true,
188             "values": [
189                 "ltr",
190                 "rtl"
191             ],
192             "codegen-properties": {
193                 "custom": "Value",
194                 "high-priority": true
195             },
196             "specification": {
197                 "category": "css-writing-modes",
198                 "url": "https://www.w3.org/TR/css-writing-modes-3/#propdef-direction"
199             }
200         },
201         "display": {
202             "values": [
203                 "inline",
204                 "block",
205                 "list-item",
206                 {
207                     "value": "compact",
208                     "url": "https://www.w3.org/TR/REC-CSS2/visuren.html#compact"
209                 },
210                 "inline-block",
211                 {
212                     "value": "run-in",
213                     "status": "Removed",
214                     "url": "https://www.w3.org/TR/css-display-3/#valdef-display-run-in",
215                     "comment": "Removed in https://trac.webkit.org/r163560"
216                 },
217                 "table",
218                 "inline-table",
219                 "table-row-group",
220                 "table-header-group",
221                 "table-footer-group",
222                 "table-row",
223                 "table-column-group",
224                 "table-column",
225                 "table-cell",
226                 "table-caption",
227                 {
228                     "value": "-webkit-box",
229                     "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
230                 },
231                 {
232                     "value": "-webkit-inline-box",
233                     "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
234                 },
235                 {
236                     "value": "flex",
237                     "url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-flex"
238                 },
239                 "-webkit-flex",
240                 {
241                     "value": "inline-flex",
242                     "url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-inline-flex"
243                 },
244                 "-webkit-inline-flex",
245                 {
246                     "value": "contents",
247                     "url": "https://www.w3.org/TR/css-display-3/#valdef-display-contents"
248                 },
249                 "none",
250                 {
251                     "value": "grid",
252                     "url": "https://www.w3.org/TR/css-grid/#valdef-display-grid"
253                 },
254                 {  
255                     "value": "inline-grid",
256                     "url": "https://www.w3.org/TR/css-grid/#valdef-display-inline-grid"
257                 }
258             ],
259             "codegen-properties": {
260                 "custom": "Inherit|Value",
261                 "high-priority": true
262             },
263             "specification": {
264                 "category": "css-display",
265                 "url": "https://www.w3.org/TR/css-display-3/#the-display-properties"
266             }
267         },
268         "font-family": {
269             "inherited": true,
270             "codegen-properties": {
271                 "custom": "All",
272                 "high-priority": true
273             },
274             "specification": {
275                 "category": "css-fonts",
276                 "url": "https://www.w3.org/TR/css-fonts-3/#font-family-prop"
277             }
278         },
279         "font-size": {
280             "inherited": true,
281             "codegen-properties": {
282                 "custom": "All",
283                 "high-priority": true
284             },
285             "specification": {
286                 "category": "css-fonts",
287                 "url": "https://www.w3.org/TR/css-fonts-3/#font-size-prop"
288             }
289         },
290         "font-style": {
291             "inherited": true,
292             "values": [
293                 "normal",
294                 "italic",
295                 "oblique"
296             ],
297             "codegen-properties": {
298                 "name-for-methods": "Italic",
299                 "font-property": true,
300                 "high-priority": true,
301                 "converter": "FontStyle"
302             },
303             "specification": {
304                 "category": "css-fonts",
305                 "url": "https://www.w3.org/TR/css-fonts-3/#font-style-prop"
306             }
307         },
308         "font-weight": {
309             "inherited": true,
310             "codegen-properties": {
311                 "name-for-methods": "Weight",
312                 "font-property": true,
313                 "high-priority": true,
314                 "converter": "FontWeight"
315             },
316             "specification": {
317                 "category": "css-fonts",
318                 "url": "https://www.w3.org/TR/css-fonts-3/#font-weight-prop"
319             }
320         },
321         "font-stretch": {
322             "inherited": true,
323             "values": [
324                 "normal",
325                 "ultra-condensed",
326                 "extra-condensed",
327                 "condensed",
328                 "semi-condensed",
329                 "semi-expanded",
330                 "expanded",
331                 "extra-expanded",
332                 "ultra-expanded"
333             ],
334             "codegen-properties": {
335                 "name-for-methods": "Stretch",
336                 "font-property": true,
337                 "high-priority": true,
338                 "converter": "FontStretch"
339             },
340             "specification": {
341                 "category": "css-fonts",
342                 "url": "https://www.w3.org/TR/css-fonts-3/#font-stretch-prop"
343             }
344         },
345         "text-rendering": {
346             "inherited": true,
347             "values": [
348                 "auto",
349                 "optimizespeed",
350                 "optimizelegibility",
351                 "geometricprecision"
352             ],
353             "codegen-properties": {
354                 "name-for-methods": "TextRenderingMode",
355                 "font-property": true,
356                 "high-priority": true
357             },
358             "specification": {
359                 "category": "svg",
360                 "url": "https://www.w3.org/TR/SVG11/painting.html#TextRenderingProperty"
361             }
362         },
363         "font-feature-settings": {
364             "inherited": true,
365             "codegen-properties": {
366                 "name-for-methods": "FeatureSettings",
367                 "converter": "FontFeatureSettings",
368                 "custom": "Initial|Inherit",
369                 "font-property": true,
370                 "high-priority": true
371             },
372             "specification": {
373                 "category": "css-fonts",
374                 "url": "https://www.w3.org/TR/css-fonts-3/#font-rend-desc"
375             }
376         },
377         "font-variation-settings": {
378             "inherited": true,
379             "codegen-properties": {
380                 "name-for-methods": "VariationSettings",
381                 "converter": "FontVariationSettings",
382                 "custom": "Initial|Inherit",
383                 "font-property": true,
384                 "high-priority": true,
385                 "enable-if": "ENABLE_VARIATION_FONTS"
386             },
387             "specification": {
388                 "category": "css-fonts",
389                 "url": "https://drafts.csswg.org/css-fonts-4/#low-level-font-variation-settings-control-the-font-variation-settings-property"
390             }
391         },
392         "-webkit-font-kerning": {
393             "inherited": true,
394             "values": [
395                 "auto",
396                 "normal",
397                 "none"
398             ],
399             "codegen-properties": {
400                 "aliases": [
401                     "font-kerning"
402                 ],
403                 "name-for-methods": "Kerning",
404                 "font-property": true,
405                 "high-priority": true
406             },
407             "specification": {
408                 "category": "css-fonts",
409                 "url": "https://drafts.csswg.org/css-fonts-3/#font-kerning-prop"
410             }
411         },
412         "-webkit-font-smoothing": {
413             "inherited": true,
414             "values": [
415                 "auto",
416                 "none",
417                 "antialiased",
418                 "subpixel-antialiased"
419             ],
420             "codegen-properties": {
421                 "font-property": true,
422                 "high-priority": true
423             },
424             "status": "non-standard"
425         },
426         "font-variant-ligatures": {
427             "inherited": true,
428             "codegen-properties": {
429                 "name-for-methods": "VariantLigatures",
430                 "custom": "All",
431                 "font-property": true,
432                 "high-priority": true
433             },
434             "specification": {
435                 "category": "css-fonts",
436                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-ligatures-prop"
437             }
438         },
439         "font-variant-position": {
440             "inherited": true,
441             "values": [
442                 "normal",
443                 "sub",
444                 "super"
445             ],
446             "codegen-properties": {
447                 "name-for-methods": "VariantPosition",
448                 "font-property": true,
449                 "high-priority": true
450             },
451             "status": {
452                 "status": "in development",
453                 "enabled-by-default": true
454             },
455             "specification": {
456                 "category": "css-fonts",
457                 "url": "https://drafts.csswg.org/css-fonts-3/#propdef-font-variant-position"
458             }
459         },
460         "font-variant-caps": {
461             "inherited": true,
462             "values": [
463                 "normal",
464                 "small-caps",
465                 "all-small-caps",
466                 "petite-caps",
467                 "all-petite-caps",
468                 "unicase",
469                 "titling-caps"
470             ],
471             "codegen-properties": {
472                 "name-for-methods": "VariantCaps",
473                 "font-property": true,
474                 "high-priority": true
475             },
476             "specification": {
477                 "category": "css-fonts",
478                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-caps-prop"
479             }
480         },
481         "font-variant-numeric": {
482             "inherited": true,
483             "codegen-properties": {
484                 "name-for-methods": "VariantNumeric",
485                 "custom": "All",
486                 "font-property": true,
487                 "high-priority": true
488             },
489             "specification": {
490                 "category": "css-fonts",
491                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-numeric-prop"
492             }
493         },
494         "font-variant-alternates": {
495             "inherited": true,
496             "values": [
497                 "normal",
498                 "historical-forms"
499             ],
500             "codegen-properties": {
501                 "name-for-methods": "VariantAlternates",
502                 "font-property": true,
503                 "high-priority": true
504             },
505             "specification": {
506                 "category": "css-fonts",
507                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-alternates-prop"
508             }
509         },
510         "font-variant-east-asian": {
511             "inherited": true,
512             "codegen-properties": {
513                 "name-for-methods": "VariantEastAsian",
514                 "custom": "All",
515                 "font-property": true,
516                 "high-priority": true
517             },
518             "specification": {
519                 "category": "css-fonts",
520                 "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-east-asian-prop"
521             }
522         },
523         "font-synthesis": {
524             "inherited": true,
525             "codegen-properties": {
526                 "converter": "FontSynthesis",
527                 "font-property": true,
528                 "high-priority": true
529             },
530             "specification": {
531                 "category": "css-fonts",
532                 "url": "https://drafts.csswg.org/css-fonts-3/#font-synthesis-prop"
533             }
534         },
535         "font-optical-sizing": {
536             "inherited": true,
537             "values": [
538                 "auto",
539                 "none"
540             ],
541             "codegen-properties": {
542                 "name-for-methods": "OpticalSizing",
543                 "font-property": true,
544                 "high-priority": true,
545                 "enable-if": "ENABLE_VARIATION_FONTS"
546             },
547             "specification": {
548                 "category": "css-fonts",
549                 "url": "https://drafts.csswg.org/css-fonts-4/#optical-sizing-control-the-font-optical-sizing-property"
550             }
551         },
552         "font": {
553             "inherited": true,
554             "codegen-properties": {
555                 "longhands": [
556                               "font-family",
557                               "font-size",
558                               "font-style",
559                               "font-variant-caps",
560                               "font-weight",
561                               "font-stretch",
562                               "line-height"
563                               ]
564             },
565             "specification": {
566                 "category": "css-fonts",
567                 "url": "https://www.w3.org/TR/css-fonts-3/#font-prop"
568             }
569         },
570         "font-variant": {
571             "inherited": true,
572             "codegen-properties": {
573                 "longhands": [
574                               "font-variant-ligatures",
575                               "font-variant-position",
576                               "font-variant-caps",
577                               "font-variant-numeric",
578                               "font-variant-alternates",
579                               "font-variant-east-asian"
580                               ]
581             },
582             "specification": {
583                 "category": "css-fonts",
584                 "url": "https://www.w3.org/TR/css-fonts-3/#propdef-font-variant"
585             }
586         },
587         "-webkit-locale": {
588             "inherited": true,
589             "codegen-properties": {
590                 "custom": "Value",
591                 "font-property": true,
592                 "high-priority": true
593             },
594             "status": "non-standard"
595         },
596         "-webkit-text-orientation": {
597             "inherited": true,
598             "values": [
599                 "sideways",
600                 {
601                     "value": "sideways-right",
602                     "status": "deprecated"
603                 },
604                 {
605                     "value": "vertical-right",
606                     "status": "non-standard"
607                 },
608                 "mixed",
609                 "upright"
610             ],
611             "codegen-properties": {
612                 "aliases": [
613                     "-epub-text-orientation"
614                 ],
615                 "custom": "Value",
616                 "high-priority": true
617             },
618             "specification": {
619                 "category": "css-writing-modes",
620                 "url": "https://www.w3.org/TR/css-writing-modes-3/#text-orientation"
621             }
622         },
623         "-webkit-text-size-adjust": {
624             "inherited": true,
625             "codegen-properties": {
626                 "custom": "Value",
627                 "high-priority": true,
628                 "enable-if": "ENABLE_TEXT_AUTOSIZING"
629             },
630             "status": "experimental",
631             "specification": {
632                 "non-canonical-url": "https://drafts.csswg.org/css-size-adjust/#adjustment-control"
633             }
634         },
635         "writing-mode": {
636             "inherited": true,
637             "values": [
638                 {
639                     "value": "lr-tb",
640                     "status": "deprecated"
641                 },
642                 {
643                     "value": "rl-tb",
644                     "status": "deprecated"
645                 },
646                 {
647                     "value": "tb-rl",
648                     "status": "deprecated"
649                 },
650                 {
651                     "value": "lr",
652                     "status": "deprecated"
653                 },
654                 {
655                     "value": "rl",
656                     "status": "deprecated"
657                 },
658                 {
659                     "value": "tb",
660                     "status": "deprecated"
661                 },
662                 {
663                     "value": "horizontal-tb",
664                     "status": "unimplemented"
665                 },
666                 {
667                     "value": "vertical-rl",
668                     "status": "unimplemented"
669                 },
670                 {
671                     "value": "vertical-lr",
672                     "status": "unimplemented"
673                 },
674                 {
675                     "value": "sideways-rl",
676                     "status": "unimplemented"
677                 },
678                 {
679                     "value": "sideways-lr",
680                     "status": "unimplemented"
681                 }
682             ],
683             "codegen-properties": {
684                 "aliases": [
685                     "-webkit-writing-mode",
686                     "-epub-writing-mode"
687                 ],
688                 "custom": "Value",
689                 "high-priority": true
690             },
691             "specification": {
692                 "category": "css-writing-modes",
693                 "non-canonical-url": "https://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode"
694             }
695         },
696         "-webkit-text-zoom": {
697             "inherited": true,
698             "values": [
699                 "normal",
700                 "reset"
701             ],
702             "codegen-properties": {
703                 "custom": "Value",
704                 "high-priority": true
705             },
706             "status": "non-standard",
707             "specification": {
708                 "description": "Used to reset the text zoom level.",
709                 "comment": "Used to reset the size of text affected by the zoom property."
710             }
711         },
712         "zoom": {
713             "codegen-properties": {
714                 "custom": "All",
715                 "high-priority": true
716             },
717             "status": "non-standard",
718             "specification": {
719                 "url": "https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx"
720             }
721         },
722         "-webkit-ruby-position": {
723             "inherited": true,
724             "values": [
725                 {
726                     "value": "before",
727                     "status": "deprecated"
728                 },
729                 {
730                     "value": "after",
731                     "status": "deprecated"
732                 },
733                 "inter-character",
734                 {
735                     "value": "over",
736                     "status": "unimplemented"
737                 },
738                 {
739                     "value": "under",
740                     "status": "unimplemented"
741                 }
742             ],
743             "status": {
744                 "comment":  "This is the highest priority property and 'is resolved before all other properties, to ensure that its value can be checked when determining a smart default font size', (<https://trac.webkit.org/browser/trunk/Source/WebCore/ChangeLog?rev=172861>)."
745             },
746             "specification": {
747                 "category": "css-ruby",
748                 "url": "https://www.w3.org/TR/css-ruby-1/#rubypos"
749             }
750         },
751         "alignment-baseline": {
752             "values": [
753                 "auto",
754                 "baseline",
755                 "middle",
756                 "before-edge",
757                 "after-edge",
758                 "central",
759                 "text-before-edge",
760                 "text-after-edge",
761                 "ideographic",
762                 "hanging",
763                 "mathematical"
764             ],
765             "codegen-properties": {
766                 "svg": true
767             },
768             "specification": {
769                 "category": "svg",
770                 "url": "https://www.w3.org/TR/SVG11/text.html#AlignmentBaselineProperty"
771             }
772         },
773         "all": {
774             "codegen-properties": {
775                 "longhands": [
776                     "all"
777                 ]
778             },
779             "specification": {
780                 "category": "css-cascade",
781                 "url": "https://www.w3.org/TR/css-cascade-3/#all-shorthand"
782             }
783         },
784         "animation": {
785             "codegen-properties": {
786                 "aliases": [
787                     "-webkit-animation"
788                 ],
789                 "longhands": [
790                     "animation-name",
791                     "animation-duration",
792                     "animation-timing-function",
793                     "animation-delay",
794                     "animation-iteration-count",
795                     "animation-direction",
796                     "animation-fill-mode",
797                     "animation-play-state"
798                 ]
799             },
800             "specification": {
801                 "category": "css-animations",
802                 "url": "https://www.w3.org/TR/css3-animations/#animation-shorthand-property",
803                 "keywords": ["animation"],
804                 "description": "Used to animate elements"
805             }
806         },
807         "animation-delay": {
808             "animatable": true,
809             "codegen-properties": {
810                 "aliases": [
811                     "-webkit-animation-delay"
812                 ],
813                 "name-for-methods": "Delay"
814             },
815             "specification": {
816                 "category": "css-animations",
817                 "url": "https://www.w3.org/TR/css3-animations/#animation-delay-property"
818             }
819         },
820         "animation-direction": {
821             "values": [
822                 "normal",
823                 "reverse",
824                 "alternate",
825                 "alternate-reverse"
826             ],
827             "animatable": true,
828             "codegen-properties": {
829                 "aliases": [
830                     "-webkit-animation-direction"
831                 ],
832                 "name-for-methods": "Direction"
833             },
834             "specification": {
835                 "category": "css-animations",
836                 "url": "https://www.w3.org/TR/css3-animations/#animation-direction-property"
837             }
838         },
839         "animation-duration": {
840             "animatable": true,
841             "codegen-properties": {
842                 "aliases": [
843                     "-webkit-animation-duration"
844                 ],
845                 "name-for-methods": "Duration"
846             },
847             "specification": {
848                 "category": "css-animations",
849                 "url": "https://www.w3.org/TR/css3-animations/#animation-duration-property",
850                 "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration"
851             }
852         },
853         "animation-fill-mode": {
854             "values": [
855                 "forwards",
856                 "backwards",
857                 "both"
858             ],
859             "animatable": true,
860             "codegen-properties": {
861                 "aliases": [
862                     "-webkit-animation-fill-mode"
863                 ],
864                 "name-for-methods": "FillMode"
865             },
866             "specification": {
867                 "category": "css-animations",
868                 "url": "https://www.w3.org/TR/css3-animations/#animation-fill-mode-property"
869             }
870         },
871         "animation-iteration-count": {
872             "animatable": true,
873             "codegen-properties": {
874                 "aliases": [
875                     "-webkit-animation-iteration-count"
876                 ],
877                 "name-for-methods": "IterationCount"
878             },
879             "specification": {
880                 "category": "css-animations",
881                 "url": "https://www.w3.org/TR/css3-animations/#animation-iteration-count-property"
882             }
883         },
884         "animation-name": {
885             "animatable": true,
886             "codegen-properties": {
887                 "aliases": [
888                     "-webkit-animation-name"
889                 ],
890                 "name-for-methods": "Name"
891             },
892             "specification": {
893                 "category": "css-animations",
894                 "url": "https://www.w3.org/TR/css3-animations/#animation-name-property"
895             }
896         },
897         "animation-play-state": {
898             "values": [
899                 "running",
900                 "paused"
901             ],
902             "animatable": true,
903             "codegen-properties": {
904                 "aliases": [
905                     "-webkit-animation-play-state"
906                 ],
907                 "name-for-methods": "PlayState"
908             },
909             "specification": {
910                 "category": "css-animations",
911                 "url": "https://www.w3.org/TR/css3-animations/#animation-play-state-property"
912             }
913         },
914         "animation-timing-function": {
915             "animatable": true,
916             "codegen-properties": {
917                 "aliases": [
918                     "-webkit-animation-timing-function"
919                 ],
920                 "name-for-methods": "TimingFunction"
921             },
922             "specification": {
923                 "category": "css-animations",
924                 "url": "https://www.w3.org/TR/css3-animations/#animation-timing-function-property"
925             }
926         },
927         "background": {
928             "codegen-properties": {
929                 "longhands": [
930                     "background-image",
931                     "background-position-x",
932                     "background-position-y",
933                     "background-size",
934                     "background-repeat-x",
935                     "background-repeat-y",
936                     "background-attachment",
937                     "background-origin",
938                     "background-clip",
939                     "background-color"
940                 ]
941             },
942             "specification": {
943                 "category": "css-backgrounds",
944                 "url": "https://www.w3.org/TR/css3-background/#the-background"
945             }
946         },
947         "background-attachment": {
948             "values": [
949                 "fixed",
950                 "local",
951                 "scroll"
952             ],
953             "codegen-properties": {
954                 "name-for-methods": "Attachment",
955                 "fill-layer-property": true
956             },
957             "specification": {
958                 "category": "css-backgrounds",
959                 "url": "https://www.w3.org/TR/css3-background/#the-background-attachment"
960             }
961         },
962         "background-blend-mode": {
963             "values" : [
964                 "normal",
965                 "multiply",
966                 "screen",
967                 "overlay",
968                 "darken",
969                 "lighten",
970                 "color-dodge",
971                 "color-burn",
972                 "hard-light",
973                 "soft-light",
974                 "difference",
975                 "exclusion",
976                 "hue",
977                 "saturation",
978                 "color",
979                 "luminosity"
980             ],
981             "codegen-properties": {
982                 "name-for-methods": "BlendMode",
983                 "fill-layer-property": true
984             },
985             "specification": {
986                 "category": "css-compositing",
987                 "url": "https://www.w3.org/TR/compositing-1/#background-blend-mode"
988             }
989         },
990         "background-clip": {
991             "values": [
992                 "border-box",
993                 "padding-box",
994                 "content-box",
995                 {
996                     "value": "-webkit-text",
997                     "status": "non-standard"
998                 }
999             ],
1000             "codegen-properties": {
1001                 "name-for-methods": "Clip",
1002                 "fill-layer-property": true
1003             },
1004             "specification": {
1005                 "category": "css-backgrounds",
1006                 "url": "https://www.w3.org/TR/css3-background/#the-background-clip"
1007             }
1008         },
1009         "background-color": {
1010             "codegen-properties": {
1011                 "visited-link-color-support": true,
1012                 "no-default-color": true
1013             },
1014             "specification": {
1015                 "category": "css-backgrounds",
1016                 "url": "https://www.w3.org/TR/css3-background/#the-background-color"
1017             }
1018         },
1019         "background-image": {
1020             "codegen-properties": {
1021                 "name-for-methods": "Image",
1022                 "fill-layer-property": true
1023             },
1024             "specification": {
1025                 "category": "css-backgrounds",
1026                 "url": "https://www.w3.org/TR/css3-background/#the-background-image"
1027             }
1028         },
1029         "background-origin": {
1030             "codegen-properties": {
1031                 "name-for-methods": "Origin",
1032                 "fill-layer-property": true
1033             },
1034             "specification": {
1035                 "category": "css-backgrounds",
1036                 "url": "https://www.w3.org/TR/css3-background/#the-background-origin"
1037             }
1038         },
1039         "background-position": {
1040             "codegen-properties": {
1041                 "longhands": [
1042                     "background-position-x",
1043                     "background-position-y"
1044                 ]
1045             },
1046             "specification": {
1047                 "category": "css-backgrounds",
1048                 "url": "https://www.w3.org/TR/css3-background/#background-position"
1049             }
1050         },
1051         "background-position-x": {
1052             "codegen-properties": {
1053                 "name-for-methods": "XPosition",
1054                 "fill-layer-property": true
1055             },
1056             "specification": {
1057                 "category": "css-backgrounds",
1058                 "url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x"
1059             },
1060             "status": {
1061                 "status": "experimental",
1062                 "enabled-by-default": true
1063             }
1064         },
1065         "background-position-y": {
1066             "codegen-properties": {
1067                 "name-for-methods": "YPosition",
1068                 "fill-layer-property": true
1069             },
1070             "specification": {
1071                 "category": "css-backgrounds",
1072                 "url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y"
1073             },
1074             "status": {
1075                 "status": "experimental",
1076                 "enabled-by-default": true
1077             }
1078         },
1079         "background-repeat": {
1080             "codegen-properties": {
1081                 "longhands": [
1082                     "background-repeat-x",
1083                     "background-repeat-y"
1084                 ]
1085             },
1086             "specification": {
1087                 "category": "css-backgrounds",
1088                 "url": "https://www.w3.org/TR/css3-background/#background-repeat"
1089             }
1090         },
1091         "background-repeat-x": {
1092             "codegen-properties": {
1093                 "name-for-methods": "RepeatX",
1094                 "fill-layer-property": true,
1095                 "internal-only": true
1096             },
1097             "specification": {
1098                 "category": "css-backgrounds"
1099             },
1100             "status": {
1101                 "status": "experimental",
1102                 "enabled-by-default": true
1103             }
1104         },
1105         "background-repeat-y": {
1106             "codegen-properties": {
1107                 "name-for-methods": "RepeatY",
1108                 "fill-layer-property": true,
1109                 "internal-only": true
1110             },
1111             "specification": {
1112                 "category": "css-backgrounds"
1113             },
1114             "status": {
1115                 "status": "experimental",
1116                 "enabled-by-default": true
1117             }
1118         },
1119         "background-size": {
1120             "codegen-properties": {
1121                 "name-for-methods": "Size",
1122                 "fill-layer-property": true
1123             },
1124             "specification": {
1125                 "category": "css-backgrounds",
1126                 "url": "https://www.w3.org/TR/css3-background/#background-size"
1127             }
1128         },
1129         "baseline-shift": {
1130             "codegen-properties": {
1131                 "custom": "Value",
1132                 "svg": true
1133             },
1134             "specification": {
1135                 "category": "svg",
1136                 "url": "https://www.w3.org/TR/SVG11/text.html#BaselineShiftProperty"
1137             }
1138         },
1139         "border": {
1140             "codegen-properties": {
1141                 "longhands": [
1142                     "border-top-color",
1143                     "border-top-style",
1144                     "border-top-width",
1145                     "border-right-color",
1146                     "border-right-style",
1147                     "border-right-width",
1148                     "border-bottom-color",
1149                     "border-bottom-style",
1150                     "border-bottom-width",
1151                     "border-left-color",
1152                     "border-left-style",
1153                     "border-left-width"
1154                 ]
1155             },
1156             "specification": {
1157                 "category": "css-backgrounds",
1158                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1159             }
1160         },
1161         "border-bottom": {
1162             "codegen-properties": {
1163                 "longhands": [
1164                     "border-bottom-width",
1165                     "border-bottom-style",
1166                     "border-bottom-color"
1167                 ]
1168             },
1169             "specification": {
1170                 "category": "css-backgrounds",
1171                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1172             }
1173         },
1174         "border-bottom-color": {
1175             "codegen-properties": {
1176                 "initial": "invalidColor",
1177                 "visited-link-color-support": true
1178             },
1179             "specification": {
1180                 "category": "css-backgrounds",
1181                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1182             }
1183         },
1184         "border-bottom-left-radius": {
1185             "codegen-properties": {
1186                 "aliases": [
1187                     "-webkit-border-bottom-left-radius"
1188                 ],
1189                 "initial": "initialBorderRadius",
1190                 "converter": "Radius"
1191             },
1192             "specification": {
1193                 "category": "css-backgrounds",
1194                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1195             }
1196         },
1197         "border-bottom-right-radius": {
1198             "codegen-properties": {
1199                 "aliases": [
1200                     "-webkit-border-bottom-right-radius"
1201                 ],
1202                 "initial": "initialBorderRadius",
1203                 "converter": "Radius"
1204             },
1205             "specification": {
1206                 "category": "css-backgrounds",
1207                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1208             }
1209         },
1210         "border-bottom-style": {
1211             "values": [
1212                 "none",
1213                 "hidden",
1214                 "inset",
1215                 "groove",
1216                 "outset",
1217                 "ridge",
1218                 "dotted",
1219                 "dashed",
1220                 "solid",
1221                 "double"
1222             ],
1223             "codegen-properties": {
1224                 "initial": "initialBorderStyle"
1225             },
1226             "specification": {
1227                 "category": "css-backgrounds",
1228                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1229             }
1230         },
1231         "border-bottom-width": {
1232             "codegen-properties": {
1233                 "initial": "initialBorderWidth",
1234                 "converter": "LineWidth<float>"
1235             },
1236             "specification": {
1237                 "category": "css-backgrounds",
1238                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1239             }
1240         },
1241         "border-collapse": {
1242             "values": [
1243                 "collapse",
1244                 "separate"
1245             ],
1246             "inherited": true,
1247             "values": [
1248                 "collapse",
1249                 "separate"
1250             ],
1251             "specification": {
1252                 "category": "css-22",
1253                 "url": "https://www.w3.org/TR/CSS22/tables.html#borders"
1254             }
1255         },
1256         "border-color": {
1257             "codegen-properties": {
1258                 "longhands": [
1259                     "border-top-color",
1260                     "border-right-color",
1261                     "border-bottom-color",
1262                     "border-left-color"
1263                 ]
1264             },
1265             "specification": {
1266                 "category": "css-backgrounds",
1267                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1268             }
1269         },
1270         "border-image": {
1271             "codegen-properties": {
1272                 "longhands": [
1273                     "border-image-source",
1274                     "border-image-slice",
1275                     "border-image-width",
1276                     "border-image-outset",
1277                     "border-image-repeat"
1278                 ]
1279             },
1280             "specification": {
1281                 "category": "css-backgrounds",
1282                 "url": "https://www.w3.org/TR/css3-background/#the-border-image"
1283             }
1284         },
1285         "border-image-outset": {
1286             "codegen-properties": {
1287                 "custom": "All"
1288             },
1289             "specification": {
1290                 "category": "css-backgrounds",
1291                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-outset"
1292             }
1293         },
1294         "border-image-repeat": {
1295             "codegen-properties": {
1296                 "custom": "All"
1297             },
1298             "specification": {
1299                 "category": "css-backgrounds",
1300                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-repeat"
1301             }
1302         },
1303         "border-image-slice": {
1304             "codegen-properties": {
1305                 "custom": "All"
1306             },
1307             "specification": {
1308                 "category": "css-backgrounds",
1309                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-slice"
1310             }
1311         },
1312         "border-image-source": {
1313             "codegen-properties": {
1314                 "converter": "StyleImage<CSSPropertyBorderImageSource>"
1315             },
1316             "specification": {
1317                 "category": "css-backgrounds",
1318                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-source"
1319             }
1320         },
1321         "border-image-width": {
1322             "codegen-properties": {
1323                 "custom": "All"
1324             },
1325             "specification": {
1326                 "category": "css-backgrounds",
1327                 "url": "https://www.w3.org/TR/css3-background/#the-border-image-width"
1328             }
1329         },
1330         "border-left": {
1331             "codegen-properties": {
1332                 "longhands": [
1333                     "border-left-width",
1334                     "border-left-style",
1335                     "border-left-color"
1336                 ]
1337             },
1338             "specification": {
1339                 "category": "css-backgrounds",
1340                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1341             }
1342         },
1343         "border-left-color": {
1344             "codegen-properties": {
1345                 "initial": "invalidColor",
1346                 "visited-link-color-support": true
1347             },
1348             "specification": {
1349                 "category": "css-backgrounds",
1350                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1351             }
1352         },
1353         "border-left-style": {
1354             "values": [
1355                 "none",
1356                 "hidden",
1357                 "inset",
1358                 "groove",
1359                 "outset",
1360                 "ridge",
1361                 "dotted",
1362                 "dashed",
1363                 "solid",
1364                 "double"
1365             ],
1366             "codegen-properties": {
1367                 "initial": "initialBorderStyle"
1368             },
1369             "specification": {
1370                 "category": "css-backgrounds",
1371                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1372             }
1373         },
1374         "border-left-width": {
1375             "codegen-properties": {
1376                 "initial": "initialBorderWidth",
1377                 "converter": "LineWidth<float>"
1378             },
1379             "specification": {
1380                 "category": "css-backgrounds",
1381                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1382             }
1383         },
1384         "border-radius": {
1385             "codegen-properties": {
1386                 "longhands": [
1387                     "border-top-left-radius",
1388                     "border-top-right-radius",
1389                     "border-bottom-right-radius",
1390                     "border-bottom-left-radius"
1391                 ]
1392             },
1393             "specification": {
1394                 "category": "css-backgrounds",
1395                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1396             }
1397         },
1398         "border-right": {
1399             "codegen-properties": {
1400                 "longhands": [
1401                     "border-right-width",
1402                     "border-right-style",
1403                     "border-right-color"
1404                 ]
1405             },
1406             "specification": {
1407                 "category": "css-backgrounds",
1408                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1409             }
1410         },
1411         "border-right-color": {
1412             "codegen-properties": {
1413                 "initial": "invalidColor",
1414                 "visited-link-color-support": true
1415             },
1416             "specification": {
1417                 "category": "css-backgrounds",
1418                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1419             }
1420         },
1421         "border-right-style": {
1422             "values": [
1423                 "none",
1424                 "hidden",
1425                 "inset",
1426                 "groove",
1427                 "outset",
1428                 "ridge",
1429                 "dotted",
1430                 "dashed",
1431                 "solid",
1432                 "double"
1433             ],
1434             "codegen-properties": {
1435                 "initial": "initialBorderStyle"
1436             },
1437             "specification": {
1438                 "category": "css-backgrounds",
1439                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1440             }
1441         },
1442         "border-right-width": {
1443             "codegen-properties": {
1444                 "initial": "initialBorderWidth",
1445                 "converter": "LineWidth<float>"
1446             },
1447             "specification": {
1448                 "category": "css-backgrounds",
1449                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1450             }
1451         },
1452         "border-spacing": {
1453             "inherited": true,
1454             "codegen-properties": {
1455                 "longhands": [
1456                     "-webkit-border-horizontal-spacing",
1457                     "-webkit-border-vertical-spacing"
1458                 ]
1459             },
1460             "specification": {
1461                 "category": "css-22",
1462                 "url": "https://www.w3.org/TR/CSS22/tables.html#separated-borders"
1463             }
1464         },
1465         "border-style": {
1466             "codegen-properties": {
1467                 "longhands": [
1468                     "border-top-style",
1469                     "border-right-style",
1470                     "border-bottom-style",
1471                     "border-left-style"
1472                 ]
1473             },
1474             "specification": {
1475                 "category": "css-backgrounds",
1476                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1477             }
1478         },
1479         "border-top": {
1480             "codegen-properties": {
1481                 "longhands": [
1482                     "border-top-width",
1483                     "border-top-style",
1484                     "border-top-color"
1485                 ]
1486             },
1487             "specification": {
1488                 "category": "css-backgrounds",
1489                 "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
1490             }
1491         },
1492         "border-top-color": {
1493             "codegen-properties": {
1494                 "initial": "invalidColor",
1495                 "visited-link-color-support": true
1496             },
1497             "specification": {
1498                 "category": "css-backgrounds",
1499                 "url": "https://www.w3.org/TR/css3-background/#the-border-color"
1500             }
1501         },
1502         "border-top-left-radius": {
1503             "codegen-properties": {
1504                 "aliases": [
1505                     "-webkit-border-top-left-radius"
1506                 ],
1507                 "initial": "initialBorderRadius",
1508                 "converter": "Radius"
1509             },
1510             "specification": {
1511                 "category": "css-backgrounds",
1512                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1513             }
1514         },
1515         "border-top-right-radius": {
1516             "codegen-properties": {
1517                 "aliases": [
1518                     "-webkit-border-top-right-radius"
1519                 ],
1520                 "initial": "initialBorderRadius",
1521                 "converter": "Radius"
1522             },
1523             "specification": {
1524                 "category": "css-backgrounds",
1525                 "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
1526             }
1527         },
1528         "border-top-style": {
1529             "values": [
1530                 "none",
1531                 "hidden",
1532                 "inset",
1533                 "groove",
1534                 "outset",
1535                 "ridge",
1536                 "dotted",
1537                 "dashed",
1538                 "solid",
1539                 "double"
1540             ],
1541             "codegen-properties": {
1542                 "initial": "initialBorderStyle"
1543             },
1544             "specification": {
1545                 "category": "css-backgrounds",
1546                 "url": "https://www.w3.org/TR/css3-background/#the-border-style"
1547             }
1548         },
1549         "border-top-width": {
1550             "codegen-properties": {
1551                 "initial": "initialBorderWidth",
1552                 "converter": "LineWidth<float>"
1553             },
1554             "specification": {
1555                 "category": "css-backgrounds",
1556                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1557             }
1558         },
1559         "border-width": {
1560             "codegen-properties": {
1561                 "longhands": [
1562                     "border-top-width",
1563                     "border-right-width",
1564                     "border-bottom-width",
1565                     "border-left-width"
1566                 ]
1567             },
1568             "specification": {
1569                 "category": "css-backgrounds",
1570                 "url": "https://www.w3.org/TR/css3-background/#the-border-width"
1571             }
1572         },
1573         "bottom": {
1574             "codegen-properties": {
1575                 "initial": "initialOffset",
1576                 "converter": "LengthOrAuto"
1577             },
1578             "specification": {
1579                 "category": "css-22",
1580                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-bottom"
1581             }
1582         },
1583         "box-shadow": {
1584             "codegen-properties": {
1585                 "custom": "All"
1586             },
1587             "specification": {
1588                 "category": "css-backgrounds",
1589                 "url": "https://www.w3.org/TR/css3-background/#the-box-shadow"
1590             }
1591         },
1592         "box-sizing": {
1593             "values": [
1594                 "border-box",
1595                 "content-box"
1596             ],
1597             "codegen-properties": {
1598                 "aliases": [
1599                     "-webkit-box-sizing"
1600                 ]
1601             },
1602             "status": {
1603                 "comment": "-webkit-box-sizing worked in Safari 4 and earlier."
1604             },
1605             "specification": {
1606                 "category": "css-ui",
1607                 "url": "https://www.w3.org/TR/css-ui-3/#box-sizing"
1608             }
1609         },
1610         "break-after": {
1611             "values": [
1612                 "auto",
1613                 "avoid",
1614                 "left",
1615                 "right",
1616                 "recto",
1617                 "verso",
1618                 "column",
1619                 "page",
1620                 "region",
1621                 "avoid-column",
1622                 "avoid-page",
1623                 "avoid-region"
1624             ],
1625             "codegen-properties": {
1626                 "initial": "initialBreakBetween"
1627             },
1628             "specification": {
1629                 "category": "css-break",
1630                 "url": "https://www.w3.org/TR/css-break-3/#break-between"
1631             }
1632         },
1633         "break-before": {
1634             "values": [
1635                 "auto",
1636                 "avoid",
1637                 "left",
1638                 "right",
1639                 "recto",
1640                 "verso",
1641                 "column",
1642                 "page",
1643                 "region",
1644                 "avoid-column",
1645                 "avoid-page",
1646                 "avoid-region"
1647             ],
1648             "codegen-properties": {
1649                 "initial": "initialBreakBetween"
1650             },
1651             "specification": {
1652                 "category": "css-break",
1653                 "url": "https://www.w3.org/TR/css-break-3/#break-between"
1654             }
1655         },
1656         "break-inside": {
1657             "values": [
1658                 "auto",
1659                 "avoid",
1660                 "avoid-column",
1661                 "avoid-page",
1662                 "avoid-region"
1663             ],
1664             "codegen-properties": {
1665                 "initial": "initialBreakInside"
1666             },
1667             "specification": {
1668                 "category": "css-break",
1669                 "url": "https://www.w3.org/TR/css-break-3/#break-within"
1670             }
1671         },
1672         "buffered-rendering": {
1673             "values": [
1674                 "auto",
1675                 "dynamic",
1676                 "static"
1677             ],
1678             "codegen-properties": {
1679                 "svg": true
1680             },
1681             "specification": {
1682                 "category": "svg",
1683                 "url": "https://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty"
1684             }
1685         },
1686         "caption-side": {
1687             "inherited": true,
1688             "values": [
1689                 "left",
1690                 "right",
1691                 "top",
1692                 "bottom"
1693             ],
1694             "codegen-properties": {
1695                 "aliases": [
1696                     "-epub-caption-side"
1697                 ]
1698             },
1699             "specification": {
1700                 "category": "css-22",
1701                 "url": "https://www.w3.org/TR/CSS22/tables.html#propdef-caption-side"
1702             }
1703         },
1704         "clear": {
1705             "values": [
1706                 "none",
1707                 "left",
1708                 "right",
1709                 "both"
1710             ],
1711             "specification": {
1712                 "category": "css-22",
1713                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-clear"
1714             }
1715         },
1716         "clip": {
1717             "codegen-properties": {
1718                 "custom": "All"
1719             },
1720             "specification": {
1721                 "category": "css-22",
1722                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-clip"
1723             }
1724         },
1725         "-webkit-clip-path": {
1726             "codegen-properties": {
1727                 "converter": "ClipPath"
1728             }
1729         },
1730         "clip-path": {
1731             "codegen-properties": {
1732                 "name-for-methods": "ClipperResource",
1733                 "converter": "SVGURIReference",
1734                 "svg": true
1735             },
1736             "specification": {
1737                 "category": "css-masking",
1738                 "url": "https://www.w3.org/TR/css-masking-1/#the-clip-path"
1739             }
1740         },
1741         "clip-rule": {
1742             "inherited": true,
1743             "values": [
1744                 "nonzero",
1745                 "evenodd"
1746             ],
1747             "codegen-properties": {
1748                 "svg": true
1749             },
1750             "specification": {
1751                 "category": "svg",
1752                 "url": "https://www.w3.org/TR/SVG11/masking.html#ClipRuleProperty"
1753             }
1754         },
1755         "color-interpolation": {
1756             "inherited": true,
1757             "values": [
1758                 "auto",
1759                 "srgb",
1760                 "linearrgb"
1761             ],
1762             "codegen-properties": {
1763                 "svg": true
1764             },
1765             "specification": {
1766                 "category": "svg",
1767                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty"
1768             }
1769         },
1770         "color-interpolation-filters": {
1771             "inherited": true,
1772             "values": [
1773                 "auto",
1774                 "srgb",
1775                 "linearrgb"
1776             ],
1777             "codegen-properties": {
1778                 "svg": true
1779             },
1780             "specification": {
1781                 "category": "svg",
1782                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationFiltersProperty"
1783             }
1784         },
1785         "color-profile": {
1786             "codegen-properties": {
1787                 "skip-builder": true,
1788                 "svg": true
1789             },
1790             "status": {
1791                 "status": "not implemented",
1792                 "enabled-by-default": true
1793             },
1794             "specification": {
1795                 "category": "svg",
1796                 "url": "https://www.w3.org/TR/SVG11/color.html#ColorProfileProperty"
1797             }
1798         },
1799         "color-rendering": {
1800             "inherited": true,
1801             "values": [
1802                 "auto",
1803                 "optimizespeed",
1804                 "optimizequality"
1805             ],
1806             "codegen-properties": {
1807                 "svg": true
1808             },
1809             "specification": {
1810                 "category": "svg",
1811                 "url": "https://www.w3.org/TR/SVG11/painting.html#ColorRenderingProperty"
1812             }
1813         },
1814         "content": {
1815             "codegen-properties": {
1816                 "custom": "All"
1817             },
1818             "specification": {
1819                 "category": "css-content",
1820                 "url": "https://www.w3.org/TR/css-content-3/#content-property"
1821             }
1822         },
1823         "counter-increment": {
1824             "codegen-properties": {
1825                 "custom": "All"
1826             },
1827             "specification": {
1828                 "category": "css-lists",
1829                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-increment"
1830             }
1831         },
1832         "counter-reset": {
1833             "codegen-properties": {
1834                 "custom": "All"
1835             },
1836             "specification": {
1837                 "category": "css-lists",
1838                 "url": "https://www.w3.org/TR/css-lists-3/#counter-properties"
1839             }
1840         },
1841         "counter-set": {
1842             "codegen-properties": {
1843                 "skip-codegen": true
1844             },
1845             "status": {
1846                 "status": "not implemented"
1847             },
1848             "specification": {
1849                 "category": "css-lists",
1850                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-set"
1851             }
1852         },
1853         "cursor": {
1854             "values": [
1855                 "context-menu",
1856                 "help",
1857                 "pointer",
1858                 "progress",
1859                 "wait",
1860                 "cell",
1861                 "crosshair",
1862                 "text",
1863                 "vertical-text",
1864                 "alias",
1865                 "copy",
1866                 "move",
1867                 "no-drop",
1868                 "not-allowed",
1869                 {
1870                     "value": "grab",
1871                     "status": "unimplemented"
1872                 },
1873                 {
1874                     "value": "-webkit-grab",
1875                     "status": "non-standard"
1876                 },
1877                 {
1878                     "value": "grabbing",
1879                     "status": "unimplemented"
1880                 },
1881                 {
1882                     "value": "-webkit-grabbing",
1883                     "status": "non-standard"
1884                 },
1885                 "e-resize",
1886                 "n-resize",
1887                 "ne-resize",
1888                 "nw-resize",
1889                 "s-resize",
1890                 "se-resize",
1891                 "sw-resize",
1892                 "w-resize",
1893                 "ew-resize",
1894                 "ns-resize",
1895                 "nesw-resize",
1896                 "nwse-resize",
1897                 "col-resize",
1898                 "row-resize",
1899                 "all-scroll",
1900                 {
1901                     "value": "zoom-in",
1902                     "status": "unimplemented"
1903                 },
1904                 {
1905                     "value": "zoom-out",
1906                     "status": "unimplemented"
1907                 },
1908                 {
1909                     "value": "-webkit-zoom-in",
1910                     "status": "non-standard"
1911                 },
1912                 {
1913                     "value": "-webkit-zoom-out",
1914                     "status": "non-standard"
1915                 }
1916             ],
1917             "inherited": true,
1918             "codegen-properties": {
1919                 "custom": "All"
1920             },
1921             "specification": {
1922                 "category": "css-ui",
1923                 "url": "https://www.w3.org/TR/css-ui-3/#cursor"
1924             }
1925         },
1926         "-webkit-cursor-visibility": {
1927             "inherited": true,
1928             "values": [
1929                 "auto",
1930                 "auto-hide"
1931             ],
1932             "codegen-properties": {
1933                 "enable-if": "ENABLE_CURSOR_VISIBILITY"
1934             },
1935             "status": "non-standard"
1936         },
1937         "cx": {
1938             "codegen-properties": {
1939                 "initial": "initialZeroLength",
1940                 "converter": "Length"
1941             },
1942             "specification": {
1943                 "category": "svg",
1944                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1945             }
1946         },
1947         "cy": {
1948             "codegen-properties": {
1949                 "initial": "initialZeroLength",
1950                 "converter": "Length"
1951             },
1952             "specification": {
1953                 "category": "svg",
1954                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1955             }
1956         },
1957         "dominant-baseline": {
1958             "values": [
1959                 "auto",
1960                 "middle",
1961                 "use-script",
1962                 "no-change",
1963                 "reset-size",
1964                 "central",
1965                 "text-before-edge",
1966                 "text-after-edge",
1967                 "ideographic",
1968                 "hanging",
1969                 "mathematical"
1970             ],
1971             "codegen-properties": {
1972                 "svg": true
1973             },
1974             "specification": {
1975                 "category": "svg",
1976                 "url": "https://www.w3.org/TR/SVG11/text.html#DominantBaselineProperty"
1977             }
1978         },
1979         "empty-cells": {
1980             "inherited": true,
1981             "values": [
1982                 "show",
1983                 "hide"
1984             ],
1985             "specification": {
1986                 "category": "css-22",
1987                 "url": "https://www.w3.org/TR/CSS2/tables.html#empty-cells"
1988             }
1989         },
1990         "enable-background": {
1991             "codegen-properties": {
1992                 "skip-builder": true
1993             },
1994             "status": {
1995                 "status": "not implemented",
1996                 "enabled-by-default": true
1997             },
1998             "specification": {
1999                 "category": "svg"
2000             }
2001         },
2002         "fill": {
2003             "inherited": true,
2004             "codegen-properties": {
2005                 "custom": "All",
2006                 "svg": true
2007             },
2008             "specification": {
2009                 "category": "svg",
2010                 "url": "https://www.w3.org/TR/SVG/painting.html#FillProperty"
2011             }
2012         },
2013         "fill-opacity": {
2014             "inherited": true,
2015             "codegen-properties": {
2016                 "converter": "Opacity",
2017                 "svg": true
2018             },
2019             "specification": {
2020                 "category": "svg",
2021                 "url": "https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty"
2022             }
2023         },
2024         "fill-rule": {
2025             "inherited": true,
2026             "values": [
2027                 "nonzero",
2028                 "evenodd"
2029             ],
2030             "codegen-properties": {
2031                 "svg": true
2032             },
2033             "specification": {
2034                 "category": "svg",
2035                 "url": "https://www.w3.org/TR/SVG/painting.html#FillRuleProperty"
2036             }
2037         },
2038         "float": {
2039             "values": [
2040                 "left",
2041                 "right",
2042                 "none"
2043             ],
2044             "codegen-properties": {
2045                 "name-for-methods": "Floating"
2046             },
2047             "specification": {
2048                 "category": "css-22",
2049                 "url": "https://www.w3.org/TR/CSS22/visuren.html#float-position"
2050             }
2051         },
2052         "flood-color": {
2053             "codegen-properties": {
2054                 "converter": "SVGColor",
2055                 "svg": true
2056             },
2057             "specification": {
2058                 "category": "svg",
2059                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodColorProperty"
2060             }
2061         },
2062         "flood-opacity": {
2063             "codegen-properties": {
2064                 "converter": "Opacity",
2065                 "svg": true
2066             },
2067             "specification": {
2068                 "category": "svg",
2069                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodOpacityProperty"
2070             }
2071         },
2072         "glyph-orientation-horizontal": {
2073             "inherited": true,
2074             "codegen-properties": {
2075                 "converter": "GlyphOrientation",
2076                 "svg": true
2077             },
2078             "specification": {
2079                 "category": "svg",
2080                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationHorizontalProperty"
2081             }
2082         },
2083         "glyph-orientation-vertical": {
2084             "inherited": true,
2085             "codegen-properties": {
2086                 "converter": "GlyphOrientationOrAuto",
2087                 "svg": true
2088             },
2089             "specification": {
2090                 "category": "svg",
2091                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationVerticalProperty"
2092             }
2093         },
2094         "hanging-punctuation": {
2095             "inherited": true,
2096             "codegen-properties": {
2097                 "converter": "HangingPunctuation"
2098             },
2099             "specification": {
2100                 "category": "css-text",
2101                 "url": "https://www.w3.org/TR/css-text-3/#hanging-punctuation"
2102             }
2103         },
2104         "height": {
2105             "codegen-properties": {
2106                 "initial": "initialSize",
2107                 "converter": "LengthSizing"
2108             },
2109             "specification": {
2110                 "category": "css-22",
2111                 "url": "https://www.w3.org/TR/CSS22/visudet.html#the-height-property"
2112             }
2113         },
2114         "image-orientation": {
2115             "inherited": true,
2116             "codegen-properties": {
2117                 "enable-if": "ENABLE_CSS_IMAGE_ORIENTATION"
2118             },
2119             "status": {
2120                 "status": "under consideration",
2121                 "enabled-by-default": false
2122             },
2123             "specification": {
2124                 "category": "css-images",
2125                 "url": "https://www.w3.org/TR/css3-images/#the-image-orientation"
2126             }
2127         },
2128         "image-rendering": {
2129             "inherited": true,
2130             "values": [
2131                 "auto",
2132                 {
2133                     "value": "optimizespeed",
2134                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2135                 },
2136                 {
2137                     "value": "optimizequality",
2138                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2139                 },
2140                 {
2141                     "value": "-webkit-crisp-edges",
2142                     "status": "non-standard"
2143                 },
2144                 {
2145                     "value": "-webkit-optimize-contrast",
2146                     "status": "non-standard"
2147                 },
2148                 "crisp-edges",
2149                 "pixelated"
2150             ],
2151             "specification": {
2152                 "category": "css-images",
2153                 "url": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering"
2154             }
2155         },
2156         "image-resolution": {
2157             "inherited": true,
2158             "codegen-properties": {
2159                 "custom": "All",
2160                 "enable-if": "ENABLE_CSS_IMAGE_RESOLUTION"
2161             },
2162             "status": {
2163                 "status": "under consideration",
2164                 "enabled-by-default": false
2165             },
2166             "specification": {
2167                 "category": "css-images",
2168                 "url": "https://www.w3.org/TR/css3-images/#image-resolution"
2169             }
2170         },
2171         "kerning": {
2172             "inherited": true,
2173             "codegen-properties": {
2174                 "converter": "SVGLengthValue",
2175                 "svg": true
2176             },
2177             "specification": {
2178                 "category": "svg",
2179                 "url": "https://www.w3.org/TR/SVG11/text.html#KerningProperty"
2180             }
2181         },
2182         "left": {
2183             "codegen-properties": {
2184                 "initial": "initialOffset",
2185                 "converter": "LengthOrAuto"
2186             },
2187             "specification": {
2188                 "category": "css-22",
2189                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-left"
2190             }
2191         },
2192         "letter-spacing": {
2193             "inherited": true,
2194             "codegen-properties": {
2195                 "converter": "Spacing"
2196             },
2197             "specification": {
2198                 "category": "css-text",
2199                 "url": "https://www.w3.org/TR/css-text-3/#letter-spacing-property"
2200             }
2201         },
2202         "lighting-color": {
2203             "codegen-properties": {
2204                 "converter": "SVGColor",
2205                 "svg": true
2206             }
2207         },
2208         "line-height": {
2209             "inherited": true,
2210             "codegen-properties": [
2211                 {
2212                     "custom": "All",
2213                     "enable-if": "ENABLE_TEXT_AUTOSIZING"
2214                 },
2215                 {
2216                     "getter": "specifiedLineHeight",
2217                     "conditional-converter": "LineHeight",
2218                     "enable-if": "!ENABLE_TEXT_AUTOSIZING"
2219                 }
2220             ],
2221             "specification": {
2222                 "category": "css-22",
2223                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-line-height"
2224             }
2225         },
2226         "list-style": {
2227             "inherited": true,
2228             "codegen-properties": {
2229                 "longhands": [
2230                     "list-style-type",
2231                     "list-style-position",
2232                     "list-style-image"
2233                 ]
2234             },
2235             "specification": {
2236                 "category": "css-lists",
2237                 "url": "https://www.w3.org/TR/css-lists-3/#list-style-property"
2238             }
2239         },
2240         "list-style-image": {
2241             "inherited": true,
2242             "codegen-properties": {
2243                 "converter": "StyleImage<CSSPropertyListStyleImage>"
2244             },
2245             "specification": {
2246                 "category": "css-lists",
2247                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-image"
2248             }
2249         },
2250         "list-style-position": {
2251             "inherited": true,
2252             "values": [
2253                 "inside",
2254                 "outside"
2255             ],
2256             "specification": {
2257                 "category": "css-lists",
2258                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-position"
2259             }
2260         },
2261         "list-style-type": {
2262             "inherited": true,
2263             "values": [
2264                 "disc",
2265                 "circle",
2266                 "square",
2267                 "decimal",
2268                 "decimal-leading-zero",
2269                 "arabic-indic",
2270                 "binary",
2271                 "bengali",
2272                 "cambodian",
2273                 "khmer",
2274                 "devanagari",
2275                 "gujarati",
2276                 "gurmukhi",
2277                 "kannada",
2278                 "lower-hexadecimal",
2279                 "lao",
2280                 "malayalam",
2281                 "mongolian",
2282                 "myanmar",
2283                 "octal",
2284                 "oriya",
2285                 "persian",
2286                 "urdu",
2287                 "telugu",
2288                 "tibetan",
2289                 "thai",
2290                 "upper-hexadecimal",
2291                 "lower-roman",
2292                 "upper-roman",
2293                 "lower-greek",
2294                 "lower-alpha",
2295                 "lower-latin",
2296                 "upper-alpha",
2297                 "upper-latin",
2298                 "afar",
2299                 "ethiopic-halehame-aa-et",
2300                 "ethiopic-halehame-aa-er",
2301                 "amharic",
2302                 "ethiopic-halehame-am-et",
2303                 "amharic-abegede",
2304                 "ethiopic-abegede-am-et",
2305                 "cjk-earthly-branch",
2306                 "cjk-heavenly-stem",
2307                 "ethiopic",
2308                 "ethiopic-halehame-gez",
2309                 "ethiopic-abegede",
2310                 "ethiopic-abegede-gez",
2311                 "hangul-consonant",
2312                 "hangul",
2313                 "lower-norwegian",
2314                 "oromo",
2315                 "ethiopic-halehame-om-et",
2316                 "sidama",
2317                 "ethiopic-halehame-sid-et",
2318                 "somali",
2319                 "ethiopic-halehame-so-et",
2320                 "tigre",
2321                 "ethiopic-halehame-tig",
2322                 "tigrinya-er",
2323                 "ethiopic-halehame-ti-er",
2324                 "tigrinya-er-abegede",
2325                 "ethiopic-abegede-ti-er",
2326                 "tigrinya-et",
2327                 "ethiopic-halehame-ti-et",
2328                 "tigrinya-et-abegede",
2329                 "ethiopic-abegede-ti-et",
2330                 "upper-greek",
2331                 "upper-norwegian",
2332                 "asterisks",
2333                 "footnotes",
2334                 "hebrew",
2335                 "armenian",
2336                 "lower-armenian",
2337                 "upper-armenian",
2338                 "georgian",
2339                 "cjk-ideographic",
2340                 "hiragana",
2341                 "katakana",
2342                 "hiragana-iroha",
2343                 "katakana-iroha",
2344                 "none"
2345             ],
2346             "specification": {
2347                 "category": "css-lists",
2348                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-type"
2349             }
2350         },
2351         "margin": {
2352             "codegen-properties": {
2353                 "longhands": [
2354                     "margin-top",
2355                     "margin-right",
2356                     "margin-bottom",
2357                     "margin-left"
2358                 ]
2359             },
2360             "specification": {
2361                 "category": "css-22",
2362                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin"
2363             }
2364         },
2365         "margin-bottom": {
2366             "codegen-properties": {
2367                 "initial": "initialMargin",
2368                 "converter": "LengthOrAuto"
2369             },
2370             "specification": {
2371                 "category": "css-22",
2372                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-bottom"
2373             }
2374         },
2375         "margin-left": {
2376             "codegen-properties": {
2377                 "initial": "initialMargin",
2378                 "converter": "LengthOrAuto"
2379             },
2380             "specification": {
2381                 "category": "css-22",
2382                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-left"
2383             }
2384         },
2385         "margin-right": {
2386             "codegen-properties": {
2387                 "initial": "initialMargin",
2388                 "converter": "LengthOrAuto"
2389             },
2390             "specification": {
2391                 "category": "css-22",
2392                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-right"
2393             }
2394         },
2395         "margin-top": {
2396             "codegen-properties": {
2397                 "initial": "initialMargin",
2398                 "converter": "LengthOrAuto"
2399             },
2400             "specification": {
2401                 "category": "css-22",
2402                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-top"
2403             }
2404         },
2405         "marker": {
2406             "inherited": true,
2407             "codegen-properties": {
2408                 "longhands": [
2409                     "marker-start",
2410                     "marker-mid",
2411                     "marker-end"
2412                 ]
2413             },
2414             "specification": {
2415                 "category": "svg",
2416                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerProperty"
2417             }
2418         },
2419         "marker-end": {
2420             "inherited": true,
2421             "codegen-properties": {
2422                 "name-for-methods": "MarkerEndResource",
2423                 "converter": "SVGURIReference",
2424                 "svg": true
2425             },
2426             "specification": {
2427                 "category": "svg",
2428                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerEndProperty"
2429             }
2430         },
2431         "marker-mid": {
2432             "inherited": true,
2433             "codegen-properties": {
2434                 "name-for-methods": "MarkerMidResource",
2435                 "converter": "SVGURIReference",
2436                 "svg": true
2437             },
2438             "specification": {
2439                 "category": "svg",
2440                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerMidProperty"
2441             }
2442         },
2443         "marker-start": {
2444             "inherited": true,
2445             "codegen-properties": {
2446                 "name-for-methods": "MarkerStartResource",
2447                 "converter": "SVGURIReference",
2448                 "svg": true
2449             },
2450             "specification": {
2451                 "category": "svg",
2452                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerStartProperty"
2453             }
2454         },
2455         "mask": {
2456             "codegen-properties": {
2457                 "name-for-methods": "MaskerResource",
2458                 "converter": "SVGURIReference",
2459                 "svg": true
2460             },
2461             "specification": {
2462                 "category": "svg",
2463                 "url": "https://www.w3.org/TR/SVG/masking.html#MaskProperty"
2464             }
2465         },
2466         "mask-type": {
2467             "values": [
2468                 "luminance",
2469                 "alpha"
2470             ],
2471             "codegen-properties": {
2472                 "svg": true
2473             },
2474             "specification": {
2475                 "category": "css-masking",
2476                 "url": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-type"
2477             }
2478         },
2479         "max-height": {
2480             "codegen-properties": {
2481                 "initial": "initialMaxSize",
2482                 "converter": "LengthMaxSizing"
2483             },
2484             "specification": {
2485                 "category": "css-22",
2486                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-height"
2487             }
2488         },
2489         "max-width": {
2490             "codegen-properties": {
2491                 "initial": "initialMaxSize",
2492                 "converter": "LengthMaxSizing"
2493             },
2494             "specification": {
2495                 "category": "css-22",
2496                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-width"
2497             }
2498         },
2499         "min-height": {
2500             "codegen-properties": {
2501                 "initial": "initialMinSize",
2502                 "converter": "LengthSizing"
2503             },
2504             "specification": {
2505                 "category": "css-22",
2506                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-height"
2507             }
2508         },
2509         "min-width": {
2510             "codegen-properties": {
2511                 "initial": "initialMinSize",
2512                 "converter": "LengthSizing"
2513             },
2514             "specification": {
2515                 "category": "css-22",
2516                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-width"
2517             }
2518         },
2519         "object-fit": {
2520             "values": [
2521                 "fill",
2522                 "contain",
2523                 "cover",
2524                 "none",
2525                 "scale-down"
2526             ],
2527             "specification": {
2528                 "category": "css-images",
2529                 "url": "https://www.w3.org/TR/css3-images/#object-fit"
2530             }
2531         },
2532         "object-position": {
2533             "codegen-properties": {
2534                 "converter": "ObjectPosition"
2535             },
2536             "specification": {
2537                 "category": "css-images",
2538                 "url": "https://www.w3.org/TR/css3-images/#object-position"
2539             }
2540         },
2541         "opacity": {
2542             "codegen-properties": {
2543                 "aliases": [
2544                     "-webkit-opacity"
2545                 ]
2546             },
2547             "status": {
2548                 "comment": "Honor -webkit-opacity as a synonym for opacity. This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets."
2549             },
2550             "specification": {
2551                 "category": "css-color",
2552                 "url": "https://www.w3.org/TR/css3-color/#opacity"
2553             }
2554         },
2555         "orphans": {
2556             "inherited": true,
2557             "codegen-properties": {
2558                 "auto-functions": true
2559             },
2560             "specification": {
2561                 "category": "css-22",
2562                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-orphans"
2563             }
2564         },
2565         "outline": {
2566             "codegen-properties": {
2567                 "longhands": [
2568                     "outline-color",
2569                     "outline-style",
2570                     "outline-width"
2571                 ]
2572             },
2573             "specification": {
2574                 "category": "css-ui",
2575                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline"
2576             }
2577         },
2578         "outline-color": {
2579             "codegen-properties": {
2580                 "initial": "invalidColor",
2581                 "visited-link-color-support": true
2582             },
2583             "specification": {
2584                 "category": "css-ui",
2585                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-color"
2586             }
2587         },
2588         "outline-offset": {
2589             "codegen-properties": {
2590                 "converter": "ComputedLength<float>"
2591             },
2592             "specification": {
2593                 "category": "css-ui",
2594                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-offset"
2595             }
2596         },
2597         "outline-style": {
2598             "values": [
2599                 "auto",
2600                 "none",
2601                 "inset",
2602                 "groove",
2603                 "outset",
2604                 "ridge",
2605                 "dotted",
2606                 "dashed",
2607                 "solid",
2608                 "double"
2609             ],
2610             "codegen-properties": {
2611                 "custom": "All"
2612             },
2613             "specification": {
2614                 "category": "css-ui",
2615                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-style"
2616             }
2617         },
2618         "outline-width": {
2619             "codegen-properties": {
2620                 "converter": "LineWidth<float>"
2621             },
2622             "specification": {
2623                 "category": "css-ui",
2624                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-width"
2625             }
2626         },
2627         "overflow": {
2628             "codegen-properties": {
2629                 "longhands": [
2630                     "overflow-x",
2631                     "overflow-y"
2632                 ]
2633             },
2634             "specification": {
2635                 "category": "css-22",
2636                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-overflow"
2637             }
2638         },
2639         "overflow-wrap": {
2640             "values": [
2641                 "normal",
2642                 "break-word"
2643             ],
2644             "specification": {
2645                 "category": "css-text",
2646                 "url": "https://www.w3.org/TR/css-text-3/#overflow-wrap"
2647             }
2648         },
2649         "overflow-x": {
2650             "values": [
2651                 "visible",
2652                 "hidden",
2653                 "scroll",
2654                 "auto",
2655                 "overlay"
2656             ],
2657             "specification": {
2658                 "category": "css-overflow",
2659                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-x"
2660             }
2661         },
2662         "overflow-y": {
2663             "values": [
2664                 "visible",
2665                 "hidden",
2666                 "scroll",
2667                 "auto",
2668                 "overlay",
2669                 "-webkit-paged-x",
2670                 "-webkit-paged-y"
2671             ],
2672             "specification": {
2673                 "category": "css-overflow",
2674                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-y"
2675             }
2676         },
2677         "padding": {
2678             "codegen-properties": {
2679                 "longhands": [
2680                     "padding-top",
2681                     "padding-right",
2682                     "padding-bottom",
2683                     "padding-left"
2684                 ]
2685             },
2686             "specification": {
2687                 "category": "css-22",
2688                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding"
2689             }
2690         },
2691         "padding-bottom": {
2692             "codegen-properties": {
2693                 "initial": "initialPadding",
2694                 "converter": "Length"
2695             },
2696             "specification": {
2697                 "category": "css-22",
2698                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-bottom"
2699             }
2700         },
2701         "padding-left": {
2702             "codegen-properties": {
2703                 "initial": "initialPadding",
2704                 "converter": "Length"
2705             },
2706             "specification": {
2707                 "category": "css-22",
2708                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-left"
2709             }
2710         },
2711         "padding-right": {
2712             "codegen-properties": {
2713                 "initial": "initialPadding",
2714                 "converter": "Length"
2715             },
2716             "specification": {
2717                 "category": "css-22",
2718                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-right"
2719             }
2720         },
2721         "padding-top": {
2722             "codegen-properties": {
2723                 "initial": "initialPadding",
2724                 "converter": "Length"
2725             },
2726             "specification": {
2727                 "category": "css-22",
2728                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-top"
2729             }
2730         },
2731         "page": {
2732             "codegen-properties": {
2733                 "skip-builder": true
2734             },
2735             "specification": {
2736                 "category": "css-page",
2737                 "url": "https://www.w3.org/TR/css3-page/#page"
2738             }
2739         },
2740         "page-break-after": {
2741             "values": [
2742                 "auto",
2743                 "always",
2744                 "avoid",
2745                 "left",
2746                 "right"
2747             ],
2748             "codegen-properties": {
2749                 "initial": "initialBreakBetween",
2750                 "name-for-methods": "BreakAfter",
2751                 "converter": "PageBreakBetween"
2752             },
2753             "specification": {
2754                 "category": "css-22",
2755                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-after"
2756             }
2757         },
2758         "page-break-before": {
2759             "values": [
2760                 "auto",
2761                 "always",
2762                 "avoid",
2763                 "left",
2764                 "right"
2765             ],
2766             "codegen-properties": {
2767                 "initial": "initialBreakBetween",
2768                 "name-for-methods": "BreakBefore",
2769                 "converter": "PageBreakBetween"
2770             },
2771             "specification": {
2772                 "category": "css-22",
2773                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-before"
2774             }
2775         },
2776         "page-break-inside": {
2777             "values": [
2778                 "auto",
2779                 "avoid"
2780             ],
2781             "codegen-properties": {
2782                 "initial": "initialBreakInside",
2783                 "name-for-methods": "BreakInside",
2784                 "converter": "PageBreakInside"
2785             },
2786             "specification": {
2787                 "category": "css-22",
2788                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-inside"
2789             }
2790         },
2791         "paint-order": {
2792             "codegen-properties": {
2793                 "converter": "PaintOrder"
2794             },
2795             "specification": {
2796                 "category": "svg",
2797                 "url": "https://www.w3.org/TR/SVG2/painting.html#PaintOrderProperty"
2798             }
2799         },
2800         "pointer-events": {
2801             "inherited": true,
2802             "values": [
2803                 "visible",
2804                 "none",
2805                 "all",
2806                 "auto",
2807                 "visiblepainted",
2808                 "visiblefill",
2809                 "visiblestroke",
2810                 "painted",
2811                 "fill",
2812                 "stroke"
2813             ],
2814             "specification": {
2815                 "category": "svg",
2816                 "url": "https://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty"
2817             }
2818         },
2819         "position": {
2820             "values": [
2821                 "static",
2822                 "relative",
2823                 "absolute",
2824                 "fixed",
2825                 {
2826                     "value": "-webkit-sticky",
2827                     "status": "experimental",
2828                     "url": "https://www.w3.org/TR/css-position-3/#valdef-position-sticky"
2829                 }
2830             ],
2831             "specification": {
2832                 "category": "css-22",
2833                 "url": "https://www.w3.org/TR/CSS2/visuren.html#propdef-position"
2834             }
2835         },
2836         "quotes": {
2837             "inherited": true,
2838             "codegen-properties": {
2839                 "converter": "Quotes"
2840             },
2841             "specification": {
2842                 "category": "css-22",
2843                 "url": "https://www.w3.org/TR/CSS22/generate.html#propdef-quotes"
2844             }
2845         },
2846         "r": {
2847             "codegen-properties": {
2848                 "initial": "initialZeroLength",
2849                 "converter": "Length"
2850             },
2851             "specification": {
2852                 "category": "svg",
2853                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2854             }
2855         },
2856         "resize": {
2857             "inherited": true,
2858             "values": [
2859                 "none",
2860                 "both",
2861                 "horizontal",
2862                 "vertical",
2863                 "auto"
2864             ],
2865             "codegen-properties": {
2866                 "converter": "Resize"
2867             },
2868             "specification": {
2869                 "category": "css-ui",
2870                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-resize"
2871             }
2872         },
2873         "right": {
2874             "codegen-properties": {
2875                 "initial": "initialOffset",
2876                 "converter": "LengthOrAuto"
2877             },
2878             "specification": {
2879                 "category": "css-22",
2880                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-right"
2881             }
2882         },
2883         "rx": {
2884             "codegen-properties": {
2885                 "initial": "initialZeroLength",
2886                 "converter": "Length"
2887             },
2888             "specification": {
2889                 "category": "svg",
2890                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2891             }
2892         },
2893         "ry": {
2894             "codegen-properties": {
2895                 "initial": "initialZeroLength",
2896                 "converter": "Length"
2897             },
2898             "specification": {
2899                 "category": "svg",
2900                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2901             }
2902         },
2903         "shape-rendering": {
2904             "inherited": true,
2905             "values": [
2906                 "auto",
2907                 "optimizespeed",
2908                 "crispedges",
2909                 "geometricprecision"
2910             ],
2911             "codegen-properties": {
2912                 "svg": true
2913             },
2914             "specification": {
2915                 "category": "svg",
2916                 "url": "https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty"
2917             }
2918         },
2919         "size": {
2920             "codegen-properties": {
2921                 "custom": "All"
2922             },
2923             "specification": {
2924                 "category": "css-page",
2925                 "url": "https://www.w3.org/TR/css3-page/#page-size-prop"
2926             }
2927         },
2928         "src": {
2929             "codegen-properties": {
2930                 "skip-builder": true
2931             },
2932             "specification": {
2933                 "category": "css-fonts",
2934                 "url": "https://www.w3.org/TR/css-fonts-3/#src-desc"
2935             }
2936         },
2937         "stop-color": {
2938             "codegen-properties": {
2939                 "converter": "SVGColor",
2940                 "svg": true
2941             },
2942             "specification": {
2943                 "category": "svg",
2944                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopColorProperty"
2945             }
2946         },
2947         "stop-opacity": {
2948             "codegen-properties": {
2949                 "converter": "Opacity",
2950                 "svg": true
2951             },
2952             "specification": {
2953                 "category": "svg",
2954                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopOpacityProperty"
2955             }
2956         },
2957         "stroke": {
2958             "inherited": true,
2959             "codegen-properties": {
2960                 "custom": "All",
2961                 "svg": true
2962             },
2963             "specification": {
2964                 "category": "svg",
2965                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeProperty"
2966             }
2967         },
2968         "stroke-dasharray": {
2969             "inherited": true,
2970             "codegen-properties": {
2971                 "name-for-methods": "StrokeDashArray",
2972                 "converter": "StrokeDashArray",
2973                 "svg": true
2974             },
2975             "specification": {
2976                 "category": "svg",
2977                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDasharrayProperty"
2978             }
2979         },
2980         "stroke-dashoffset": {
2981             "inherited": true,
2982             "codegen-properties": {
2983                 "initial": "initialZeroLength",
2984                 "name-for-methods": "StrokeDashOffset",
2985                 "converter": "Length"
2986             },
2987             "specification": {
2988                 "category": "svg",
2989                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDashoffsetProperty"
2990             }
2991         },
2992         "stroke-linecap": {
2993             "inherited": true,
2994             "values": [
2995                 "butt",
2996                 "round",
2997                 "square"
2998             ],
2999             "codegen-properties": {
3000                 "name-for-methods": "CapStyle"
3001             },
3002             "specification": {
3003                 "category": "svg",
3004                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty"
3005             }
3006         },
3007         "stroke-linejoin": {
3008             "inherited": true,
3009             "values": [
3010                 "miter",
3011                 "round",
3012                 "bevel"
3013             ],
3014             "codegen-properties": {
3015                 "name-for-methods": "JoinStyle"
3016             },
3017             "specification": {
3018                 "category": "svg",
3019                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3020             }
3021         },
3022         "stroke-miterlimit": {
3023             "inherited": true,
3024             "codegen-properties": {
3025                 "name-for-methods": "StrokeMiterLimit",
3026                 "converter": "Number<float>"
3027             },
3028             "specification": {
3029                 "category": "svg",
3030                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3031             }
3032         },
3033         "stroke-opacity": {
3034             "inherited": true,
3035             "codegen-properties": {
3036                 "converter": "Opacity",
3037                 "svg": true
3038             },
3039             "specification": {