Unprefix CSS cursor values grab and grabbing
[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                 "grab",
1870                 {
1871                     "value": "-webkit-grab",
1872                     "status": "non-standard"
1873                 },
1874                 "grabbing",
1875                 {
1876                     "value": "-webkit-grabbing",
1877                     "status": "non-standard"
1878                 },
1879                 "e-resize",
1880                 "n-resize",
1881                 "ne-resize",
1882                 "nw-resize",
1883                 "s-resize",
1884                 "se-resize",
1885                 "sw-resize",
1886                 "w-resize",
1887                 "ew-resize",
1888                 "ns-resize",
1889                 "nesw-resize",
1890                 "nwse-resize",
1891                 "col-resize",
1892                 "row-resize",
1893                 "all-scroll",
1894                 "zoom-in",
1895                 "zoom-out",
1896                 {
1897                     "value": "-webkit-zoom-in",
1898                     "status": "non-standard"
1899                 },
1900                 {
1901                     "value": "-webkit-zoom-out",
1902                     "status": "non-standard"
1903                 }
1904             ],
1905             "inherited": true,
1906             "codegen-properties": {
1907                 "custom": "All"
1908             },
1909             "specification": {
1910                 "category": "css-ui",
1911                 "url": "https://www.w3.org/TR/css-ui-3/#cursor"
1912             }
1913         },
1914         "-webkit-cursor-visibility": {
1915             "inherited": true,
1916             "values": [
1917                 "auto",
1918                 "auto-hide"
1919             ],
1920             "codegen-properties": {
1921                 "enable-if": "ENABLE_CURSOR_VISIBILITY"
1922             },
1923             "status": "non-standard"
1924         },
1925         "cx": {
1926             "codegen-properties": {
1927                 "initial": "initialZeroLength",
1928                 "converter": "Length"
1929             },
1930             "specification": {
1931                 "category": "svg",
1932                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1933             }
1934         },
1935         "cy": {
1936             "codegen-properties": {
1937                 "initial": "initialZeroLength",
1938                 "converter": "Length"
1939             },
1940             "specification": {
1941                 "category": "svg",
1942                 "url": "https://www.w3.org/TR/SVG/shapes.html"
1943             }
1944         },
1945         "dominant-baseline": {
1946             "values": [
1947                 "auto",
1948                 "middle",
1949                 "use-script",
1950                 "no-change",
1951                 "reset-size",
1952                 "central",
1953                 "text-before-edge",
1954                 "text-after-edge",
1955                 "ideographic",
1956                 "hanging",
1957                 "mathematical"
1958             ],
1959             "codegen-properties": {
1960                 "svg": true
1961             },
1962             "specification": {
1963                 "category": "svg",
1964                 "url": "https://www.w3.org/TR/SVG11/text.html#DominantBaselineProperty"
1965             }
1966         },
1967         "empty-cells": {
1968             "inherited": true,
1969             "values": [
1970                 "show",
1971                 "hide"
1972             ],
1973             "specification": {
1974                 "category": "css-22",
1975                 "url": "https://www.w3.org/TR/CSS2/tables.html#empty-cells"
1976             }
1977         },
1978         "enable-background": {
1979             "codegen-properties": {
1980                 "skip-builder": true
1981             },
1982             "status": {
1983                 "status": "not implemented",
1984                 "enabled-by-default": true
1985             },
1986             "specification": {
1987                 "category": "svg"
1988             }
1989         },
1990         "fill": {
1991             "inherited": true,
1992             "codegen-properties": {
1993                 "custom": "All",
1994                 "svg": true
1995             },
1996             "specification": {
1997                 "category": "svg",
1998                 "url": "https://www.w3.org/TR/SVG/painting.html#FillProperty"
1999             }
2000         },
2001         "fill-opacity": {
2002             "inherited": true,
2003             "codegen-properties": {
2004                 "converter": "Opacity",
2005                 "svg": true
2006             },
2007             "specification": {
2008                 "category": "svg",
2009                 "url": "https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty"
2010             }
2011         },
2012         "fill-rule": {
2013             "inherited": true,
2014             "values": [
2015                 "nonzero",
2016                 "evenodd"
2017             ],
2018             "codegen-properties": {
2019                 "svg": true
2020             },
2021             "specification": {
2022                 "category": "svg",
2023                 "url": "https://www.w3.org/TR/SVG/painting.html#FillRuleProperty"
2024             }
2025         },
2026         "float": {
2027             "values": [
2028                 "left",
2029                 "right",
2030                 "none"
2031             ],
2032             "codegen-properties": {
2033                 "name-for-methods": "Floating"
2034             },
2035             "specification": {
2036                 "category": "css-22",
2037                 "url": "https://www.w3.org/TR/CSS22/visuren.html#float-position"
2038             }
2039         },
2040         "flood-color": {
2041             "codegen-properties": {
2042                 "converter": "SVGColor",
2043                 "svg": true
2044             },
2045             "specification": {
2046                 "category": "svg",
2047                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodColorProperty"
2048             }
2049         },
2050         "flood-opacity": {
2051             "codegen-properties": {
2052                 "converter": "Opacity",
2053                 "svg": true
2054             },
2055             "specification": {
2056                 "category": "svg",
2057                 "url": "https://www.w3.org/TR/SVG/filters.html#FloodOpacityProperty"
2058             }
2059         },
2060         "glyph-orientation-horizontal": {
2061             "inherited": true,
2062             "codegen-properties": {
2063                 "converter": "GlyphOrientation",
2064                 "svg": true
2065             },
2066             "specification": {
2067                 "category": "svg",
2068                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationHorizontalProperty"
2069             }
2070         },
2071         "glyph-orientation-vertical": {
2072             "inherited": true,
2073             "codegen-properties": {
2074                 "converter": "GlyphOrientationOrAuto",
2075                 "svg": true
2076             },
2077             "specification": {
2078                 "category": "svg",
2079                 "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationVerticalProperty"
2080             }
2081         },
2082         "hanging-punctuation": {
2083             "inherited": true,
2084             "codegen-properties": {
2085                 "converter": "HangingPunctuation"
2086             },
2087             "specification": {
2088                 "category": "css-text",
2089                 "url": "https://www.w3.org/TR/css-text-3/#hanging-punctuation"
2090             }
2091         },
2092         "height": {
2093             "codegen-properties": {
2094                 "initial": "initialSize",
2095                 "converter": "LengthSizing"
2096             },
2097             "specification": {
2098                 "category": "css-22",
2099                 "url": "https://www.w3.org/TR/CSS22/visudet.html#the-height-property"
2100             }
2101         },
2102         "image-orientation": {
2103             "inherited": true,
2104             "codegen-properties": {
2105                 "enable-if": "ENABLE_CSS_IMAGE_ORIENTATION"
2106             },
2107             "status": {
2108                 "status": "under consideration",
2109                 "enabled-by-default": false
2110             },
2111             "specification": {
2112                 "category": "css-images",
2113                 "url": "https://www.w3.org/TR/css3-images/#the-image-orientation"
2114             }
2115         },
2116         "image-rendering": {
2117             "inherited": true,
2118             "values": [
2119                 "auto",
2120                 {
2121                     "value": "optimizespeed",
2122                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2123                 },
2124                 {
2125                     "value": "optimizequality",
2126                     "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
2127                 },
2128                 {
2129                     "value": "-webkit-crisp-edges",
2130                     "status": "non-standard"
2131                 },
2132                 {
2133                     "value": "-webkit-optimize-contrast",
2134                     "status": "non-standard"
2135                 },
2136                 "crisp-edges",
2137                 "pixelated"
2138             ],
2139             "specification": {
2140                 "category": "css-images",
2141                 "url": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering"
2142             }
2143         },
2144         "image-resolution": {
2145             "inherited": true,
2146             "codegen-properties": {
2147                 "custom": "All",
2148                 "enable-if": "ENABLE_CSS_IMAGE_RESOLUTION"
2149             },
2150             "status": {
2151                 "status": "under consideration",
2152                 "enabled-by-default": false
2153             },
2154             "specification": {
2155                 "category": "css-images",
2156                 "url": "https://www.w3.org/TR/css3-images/#image-resolution"
2157             }
2158         },
2159         "kerning": {
2160             "inherited": true,
2161             "codegen-properties": {
2162                 "converter": "SVGLengthValue",
2163                 "svg": true
2164             },
2165             "specification": {
2166                 "category": "svg",
2167                 "url": "https://www.w3.org/TR/SVG11/text.html#KerningProperty"
2168             }
2169         },
2170         "left": {
2171             "codegen-properties": {
2172                 "initial": "initialOffset",
2173                 "converter": "LengthOrAuto"
2174             },
2175             "specification": {
2176                 "category": "css-22",
2177                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-left"
2178             }
2179         },
2180         "letter-spacing": {
2181             "inherited": true,
2182             "codegen-properties": {
2183                 "converter": "Spacing"
2184             },
2185             "specification": {
2186                 "category": "css-text",
2187                 "url": "https://www.w3.org/TR/css-text-3/#letter-spacing-property"
2188             }
2189         },
2190         "lighting-color": {
2191             "codegen-properties": {
2192                 "converter": "SVGColor",
2193                 "svg": true
2194             }
2195         },
2196         "line-height": {
2197             "inherited": true,
2198             "codegen-properties": [
2199                 {
2200                     "custom": "All",
2201                     "enable-if": "ENABLE_TEXT_AUTOSIZING"
2202                 },
2203                 {
2204                     "getter": "specifiedLineHeight",
2205                     "conditional-converter": "LineHeight",
2206                     "enable-if": "!ENABLE_TEXT_AUTOSIZING"
2207                 }
2208             ],
2209             "specification": {
2210                 "category": "css-22",
2211                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-line-height"
2212             }
2213         },
2214         "list-style": {
2215             "inherited": true,
2216             "codegen-properties": {
2217                 "longhands": [
2218                     "list-style-type",
2219                     "list-style-position",
2220                     "list-style-image"
2221                 ]
2222             },
2223             "specification": {
2224                 "category": "css-lists",
2225                 "url": "https://www.w3.org/TR/css-lists-3/#list-style-property"
2226             }
2227         },
2228         "list-style-image": {
2229             "inherited": true,
2230             "codegen-properties": {
2231                 "converter": "StyleImage<CSSPropertyListStyleImage>"
2232             },
2233             "specification": {
2234                 "category": "css-lists",
2235                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-image"
2236             }
2237         },
2238         "list-style-position": {
2239             "inherited": true,
2240             "values": [
2241                 "inside",
2242                 "outside"
2243             ],
2244             "specification": {
2245                 "category": "css-lists",
2246                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-position"
2247             }
2248         },
2249         "list-style-type": {
2250             "inherited": true,
2251             "values": [
2252                 "disc",
2253                 "circle",
2254                 "square",
2255                 "decimal",
2256                 "decimal-leading-zero",
2257                 "arabic-indic",
2258                 "binary",
2259                 "bengali",
2260                 "cambodian",
2261                 "khmer",
2262                 "devanagari",
2263                 "gujarati",
2264                 "gurmukhi",
2265                 "kannada",
2266                 "lower-hexadecimal",
2267                 "lao",
2268                 "malayalam",
2269                 "mongolian",
2270                 "myanmar",
2271                 "octal",
2272                 "oriya",
2273                 "persian",
2274                 "urdu",
2275                 "telugu",
2276                 "tibetan",
2277                 "thai",
2278                 "upper-hexadecimal",
2279                 "lower-roman",
2280                 "upper-roman",
2281                 "lower-greek",
2282                 "lower-alpha",
2283                 "lower-latin",
2284                 "upper-alpha",
2285                 "upper-latin",
2286                 "afar",
2287                 "ethiopic-halehame-aa-et",
2288                 "ethiopic-halehame-aa-er",
2289                 "amharic",
2290                 "ethiopic-halehame-am-et",
2291                 "amharic-abegede",
2292                 "ethiopic-abegede-am-et",
2293                 "cjk-earthly-branch",
2294                 "cjk-heavenly-stem",
2295                 "ethiopic",
2296                 "ethiopic-halehame-gez",
2297                 "ethiopic-abegede",
2298                 "ethiopic-abegede-gez",
2299                 "hangul-consonant",
2300                 "hangul",
2301                 "lower-norwegian",
2302                 "oromo",
2303                 "ethiopic-halehame-om-et",
2304                 "sidama",
2305                 "ethiopic-halehame-sid-et",
2306                 "somali",
2307                 "ethiopic-halehame-so-et",
2308                 "tigre",
2309                 "ethiopic-halehame-tig",
2310                 "tigrinya-er",
2311                 "ethiopic-halehame-ti-er",
2312                 "tigrinya-er-abegede",
2313                 "ethiopic-abegede-ti-er",
2314                 "tigrinya-et",
2315                 "ethiopic-halehame-ti-et",
2316                 "tigrinya-et-abegede",
2317                 "ethiopic-abegede-ti-et",
2318                 "upper-greek",
2319                 "upper-norwegian",
2320                 "asterisks",
2321                 "footnotes",
2322                 "hebrew",
2323                 "armenian",
2324                 "lower-armenian",
2325                 "upper-armenian",
2326                 "georgian",
2327                 "cjk-ideographic",
2328                 "hiragana",
2329                 "katakana",
2330                 "hiragana-iroha",
2331                 "katakana-iroha",
2332                 "none"
2333             ],
2334             "specification": {
2335                 "category": "css-lists",
2336                 "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-type"
2337             }
2338         },
2339         "margin": {
2340             "codegen-properties": {
2341                 "longhands": [
2342                     "margin-top",
2343                     "margin-right",
2344                     "margin-bottom",
2345                     "margin-left"
2346                 ]
2347             },
2348             "specification": {
2349                 "category": "css-22",
2350                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin"
2351             }
2352         },
2353         "margin-bottom": {
2354             "codegen-properties": {
2355                 "initial": "initialMargin",
2356                 "converter": "LengthOrAuto"
2357             },
2358             "specification": {
2359                 "category": "css-22",
2360                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-bottom"
2361             }
2362         },
2363         "margin-left": {
2364             "codegen-properties": {
2365                 "initial": "initialMargin",
2366                 "converter": "LengthOrAuto"
2367             },
2368             "specification": {
2369                 "category": "css-22",
2370                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-left"
2371             }
2372         },
2373         "margin-right": {
2374             "codegen-properties": {
2375                 "initial": "initialMargin",
2376                 "converter": "LengthOrAuto"
2377             },
2378             "specification": {
2379                 "category": "css-22",
2380                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-right"
2381             }
2382         },
2383         "margin-top": {
2384             "codegen-properties": {
2385                 "initial": "initialMargin",
2386                 "converter": "LengthOrAuto"
2387             },
2388             "specification": {
2389                 "category": "css-22",
2390                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-top"
2391             }
2392         },
2393         "marker": {
2394             "inherited": true,
2395             "codegen-properties": {
2396                 "longhands": [
2397                     "marker-start",
2398                     "marker-mid",
2399                     "marker-end"
2400                 ]
2401             },
2402             "specification": {
2403                 "category": "svg",
2404                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerProperty"
2405             }
2406         },
2407         "marker-end": {
2408             "inherited": true,
2409             "codegen-properties": {
2410                 "name-for-methods": "MarkerEndResource",
2411                 "converter": "SVGURIReference",
2412                 "svg": true
2413             },
2414             "specification": {
2415                 "category": "svg",
2416                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerEndProperty"
2417             }
2418         },
2419         "marker-mid": {
2420             "inherited": true,
2421             "codegen-properties": {
2422                 "name-for-methods": "MarkerMidResource",
2423                 "converter": "SVGURIReference",
2424                 "svg": true
2425             },
2426             "specification": {
2427                 "category": "svg",
2428                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerMidProperty"
2429             }
2430         },
2431         "marker-start": {
2432             "inherited": true,
2433             "codegen-properties": {
2434                 "name-for-methods": "MarkerStartResource",
2435                 "converter": "SVGURIReference",
2436                 "svg": true
2437             },
2438             "specification": {
2439                 "category": "svg",
2440                 "url": "https://www.w3.org/TR/SVG/painting.html#MarkerStartProperty"
2441             }
2442         },
2443         "mask": {
2444             "codegen-properties": {
2445                 "name-for-methods": "MaskerResource",
2446                 "converter": "SVGURIReference",
2447                 "svg": true
2448             },
2449             "specification": {
2450                 "category": "svg",
2451                 "url": "https://www.w3.org/TR/SVG/masking.html#MaskProperty"
2452             }
2453         },
2454         "mask-type": {
2455             "values": [
2456                 "luminance",
2457                 "alpha"
2458             ],
2459             "codegen-properties": {
2460                 "svg": true
2461             },
2462             "specification": {
2463                 "category": "css-masking",
2464                 "url": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-type"
2465             }
2466         },
2467         "max-height": {
2468             "codegen-properties": {
2469                 "initial": "initialMaxSize",
2470                 "converter": "LengthMaxSizing"
2471             },
2472             "specification": {
2473                 "category": "css-22",
2474                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-height"
2475             }
2476         },
2477         "max-width": {
2478             "codegen-properties": {
2479                 "initial": "initialMaxSize",
2480                 "converter": "LengthMaxSizing"
2481             },
2482             "specification": {
2483                 "category": "css-22",
2484                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-width"
2485             }
2486         },
2487         "min-height": {
2488             "codegen-properties": {
2489                 "initial": "initialMinSize",
2490                 "converter": "LengthSizing"
2491             },
2492             "specification": {
2493                 "category": "css-22",
2494                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-height"
2495             }
2496         },
2497         "min-width": {
2498             "codegen-properties": {
2499                 "initial": "initialMinSize",
2500                 "converter": "LengthSizing"
2501             },
2502             "specification": {
2503                 "category": "css-22",
2504                 "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-width"
2505             }
2506         },
2507         "object-fit": {
2508             "values": [
2509                 "fill",
2510                 "contain",
2511                 "cover",
2512                 "none",
2513                 "scale-down"
2514             ],
2515             "specification": {
2516                 "category": "css-images",
2517                 "url": "https://www.w3.org/TR/css3-images/#object-fit"
2518             }
2519         },
2520         "object-position": {
2521             "codegen-properties": {
2522                 "converter": "ObjectPosition"
2523             },
2524             "specification": {
2525                 "category": "css-images",
2526                 "url": "https://www.w3.org/TR/css3-images/#object-position"
2527             }
2528         },
2529         "opacity": {
2530             "codegen-properties": {
2531                 "aliases": [
2532                     "-webkit-opacity"
2533                 ]
2534             },
2535             "status": {
2536                 "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."
2537             },
2538             "specification": {
2539                 "category": "css-color",
2540                 "url": "https://www.w3.org/TR/css3-color/#opacity"
2541             }
2542         },
2543         "orphans": {
2544             "inherited": true,
2545             "codegen-properties": {
2546                 "auto-functions": true
2547             },
2548             "specification": {
2549                 "category": "css-22",
2550                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-orphans"
2551             }
2552         },
2553         "outline": {
2554             "codegen-properties": {
2555                 "longhands": [
2556                     "outline-color",
2557                     "outline-style",
2558                     "outline-width"
2559                 ]
2560             },
2561             "specification": {
2562                 "category": "css-ui",
2563                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline"
2564             }
2565         },
2566         "outline-color": {
2567             "codegen-properties": {
2568                 "initial": "invalidColor",
2569                 "visited-link-color-support": true
2570             },
2571             "specification": {
2572                 "category": "css-ui",
2573                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-color"
2574             }
2575         },
2576         "outline-offset": {
2577             "codegen-properties": {
2578                 "converter": "ComputedLength<float>"
2579             },
2580             "specification": {
2581                 "category": "css-ui",
2582                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-offset"
2583             }
2584         },
2585         "outline-style": {
2586             "values": [
2587                 "auto",
2588                 "none",
2589                 "inset",
2590                 "groove",
2591                 "outset",
2592                 "ridge",
2593                 "dotted",
2594                 "dashed",
2595                 "solid",
2596                 "double"
2597             ],
2598             "codegen-properties": {
2599                 "custom": "All"
2600             },
2601             "specification": {
2602                 "category": "css-ui",
2603                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-style"
2604             }
2605         },
2606         "outline-width": {
2607             "codegen-properties": {
2608                 "converter": "LineWidth<float>"
2609             },
2610             "specification": {
2611                 "category": "css-ui",
2612                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-width"
2613             }
2614         },
2615         "overflow": {
2616             "codegen-properties": {
2617                 "longhands": [
2618                     "overflow-x",
2619                     "overflow-y"
2620                 ]
2621             },
2622             "specification": {
2623                 "category": "css-22",
2624                 "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-overflow"
2625             }
2626         },
2627         "overflow-wrap": {
2628             "values": [
2629                 "normal",
2630                 "break-word"
2631             ],
2632             "specification": {
2633                 "category": "css-text",
2634                 "url": "https://www.w3.org/TR/css-text-3/#overflow-wrap"
2635             }
2636         },
2637         "overflow-x": {
2638             "values": [
2639                 "visible",
2640                 "hidden",
2641                 "scroll",
2642                 "auto",
2643                 "overlay"
2644             ],
2645             "specification": {
2646                 "category": "css-overflow",
2647                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-x"
2648             }
2649         },
2650         "overflow-y": {
2651             "values": [
2652                 "visible",
2653                 "hidden",
2654                 "scroll",
2655                 "auto",
2656                 "overlay",
2657                 "-webkit-paged-x",
2658                 "-webkit-paged-y"
2659             ],
2660             "specification": {
2661                 "category": "css-overflow",
2662                 "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-y"
2663             }
2664         },
2665         "padding": {
2666             "codegen-properties": {
2667                 "longhands": [
2668                     "padding-top",
2669                     "padding-right",
2670                     "padding-bottom",
2671                     "padding-left"
2672                 ]
2673             },
2674             "specification": {
2675                 "category": "css-22",
2676                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding"
2677             }
2678         },
2679         "padding-bottom": {
2680             "codegen-properties": {
2681                 "initial": "initialPadding",
2682                 "converter": "Length"
2683             },
2684             "specification": {
2685                 "category": "css-22",
2686                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-bottom"
2687             }
2688         },
2689         "padding-left": {
2690             "codegen-properties": {
2691                 "initial": "initialPadding",
2692                 "converter": "Length"
2693             },
2694             "specification": {
2695                 "category": "css-22",
2696                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-left"
2697             }
2698         },
2699         "padding-right": {
2700             "codegen-properties": {
2701                 "initial": "initialPadding",
2702                 "converter": "Length"
2703             },
2704             "specification": {
2705                 "category": "css-22",
2706                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-right"
2707             }
2708         },
2709         "padding-top": {
2710             "codegen-properties": {
2711                 "initial": "initialPadding",
2712                 "converter": "Length"
2713             },
2714             "specification": {
2715                 "category": "css-22",
2716                 "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-top"
2717             }
2718         },
2719         "page": {
2720             "codegen-properties": {
2721                 "skip-builder": true
2722             },
2723             "specification": {
2724                 "category": "css-page",
2725                 "url": "https://www.w3.org/TR/css3-page/#page"
2726             }
2727         },
2728         "page-break-after": {
2729             "values": [
2730                 "auto",
2731                 "always",
2732                 "avoid",
2733                 "left",
2734                 "right"
2735             ],
2736             "codegen-properties": {
2737                 "initial": "initialBreakBetween",
2738                 "name-for-methods": "BreakAfter",
2739                 "converter": "PageBreakBetween"
2740             },
2741             "specification": {
2742                 "category": "css-22",
2743                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-after"
2744             }
2745         },
2746         "page-break-before": {
2747             "values": [
2748                 "auto",
2749                 "always",
2750                 "avoid",
2751                 "left",
2752                 "right"
2753             ],
2754             "codegen-properties": {
2755                 "initial": "initialBreakBetween",
2756                 "name-for-methods": "BreakBefore",
2757                 "converter": "PageBreakBetween"
2758             },
2759             "specification": {
2760                 "category": "css-22",
2761                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-before"
2762             }
2763         },
2764         "page-break-inside": {
2765             "values": [
2766                 "auto",
2767                 "avoid"
2768             ],
2769             "codegen-properties": {
2770                 "initial": "initialBreakInside",
2771                 "name-for-methods": "BreakInside",
2772                 "converter": "PageBreakInside"
2773             },
2774             "specification": {
2775                 "category": "css-22",
2776                 "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-inside"
2777             }
2778         },
2779         "paint-order": {
2780             "codegen-properties": {
2781                 "converter": "PaintOrder"
2782             },
2783             "specification": {
2784                 "category": "svg",
2785                 "url": "https://www.w3.org/TR/SVG2/painting.html#PaintOrderProperty"
2786             }
2787         },
2788         "pointer-events": {
2789             "inherited": true,
2790             "values": [
2791                 "visible",
2792                 "none",
2793                 "all",
2794                 "auto",
2795                 "visiblepainted",
2796                 "visiblefill",
2797                 "visiblestroke",
2798                 "painted",
2799                 "fill",
2800                 "stroke"
2801             ],
2802             "specification": {
2803                 "category": "svg",
2804                 "url": "https://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty"
2805             }
2806         },
2807         "position": {
2808             "values": [
2809                 "static",
2810                 "relative",
2811                 "absolute",
2812                 "fixed",
2813                 {
2814                     "value": "-webkit-sticky",
2815                     "status": "experimental",
2816                     "url": "https://www.w3.org/TR/css-position-3/#valdef-position-sticky"
2817                 }
2818             ],
2819             "specification": {
2820                 "category": "css-22",
2821                 "url": "https://www.w3.org/TR/CSS2/visuren.html#propdef-position"
2822             }
2823         },
2824         "quotes": {
2825             "inherited": true,
2826             "codegen-properties": {
2827                 "converter": "Quotes"
2828             },
2829             "specification": {
2830                 "category": "css-22",
2831                 "url": "https://www.w3.org/TR/CSS22/generate.html#propdef-quotes"
2832             }
2833         },
2834         "r": {
2835             "codegen-properties": {
2836                 "initial": "initialZeroLength",
2837                 "converter": "Length"
2838             },
2839             "specification": {
2840                 "category": "svg",
2841                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2842             }
2843         },
2844         "resize": {
2845             "inherited": true,
2846             "values": [
2847                 "none",
2848                 "both",
2849                 "horizontal",
2850                 "vertical",
2851                 "auto"
2852             ],
2853             "codegen-properties": {
2854                 "converter": "Resize"
2855             },
2856             "specification": {
2857                 "category": "css-ui",
2858                 "url": "https://www.w3.org/TR/css-ui-3/#propdef-resize"
2859             }
2860         },
2861         "right": {
2862             "codegen-properties": {
2863                 "initial": "initialOffset",
2864                 "converter": "LengthOrAuto"
2865             },
2866             "specification": {
2867                 "category": "css-22",
2868                 "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-right"
2869             }
2870         },
2871         "rx": {
2872             "codegen-properties": {
2873                 "initial": "initialZeroLength",
2874                 "converter": "Length"
2875             },
2876             "specification": {
2877                 "category": "svg",
2878                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2879             }
2880         },
2881         "ry": {
2882             "codegen-properties": {
2883                 "initial": "initialZeroLength",
2884                 "converter": "Length"
2885             },
2886             "specification": {
2887                 "category": "svg",
2888                 "url": "https://www.w3.org/TR/SVG/shapes.html"
2889             }
2890         },
2891         "shape-rendering": {
2892             "inherited": true,
2893             "values": [
2894                 "auto",
2895                 "optimizespeed",
2896                 "crispedges",
2897                 "geometricprecision"
2898             ],
2899             "codegen-properties": {
2900                 "svg": true
2901             },
2902             "specification": {
2903                 "category": "svg",
2904                 "url": "https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty"
2905             }
2906         },
2907         "size": {
2908             "codegen-properties": {
2909                 "custom": "All"
2910             },
2911             "specification": {
2912                 "category": "css-page",
2913                 "url": "https://www.w3.org/TR/css3-page/#page-size-prop"
2914             }
2915         },
2916         "src": {
2917             "codegen-properties": {
2918                 "skip-builder": true
2919             },
2920             "specification": {
2921                 "category": "css-fonts",
2922                 "url": "https://www.w3.org/TR/css-fonts-3/#src-desc"
2923             }
2924         },
2925         "stop-color": {
2926             "codegen-properties": {
2927                 "converter": "SVGColor",
2928                 "svg": true
2929             },
2930             "specification": {
2931                 "category": "svg",
2932                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopColorProperty"
2933             }
2934         },
2935         "stop-opacity": {
2936             "codegen-properties": {
2937                 "converter": "Opacity",
2938                 "svg": true
2939             },
2940             "specification": {
2941                 "category": "svg",
2942                 "url": "https://www.w3.org/TR/SVG11/pservers.html#StopOpacityProperty"
2943             }
2944         },
2945         "stroke": {
2946             "inherited": true,
2947             "codegen-properties": {
2948                 "custom": "All",
2949                 "svg": true
2950             },
2951             "specification": {
2952                 "category": "svg",
2953                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeProperty"
2954             }
2955         },
2956         "stroke-dasharray": {
2957             "inherited": true,
2958             "codegen-properties": {
2959                 "name-for-methods": "StrokeDashArray",
2960                 "converter": "StrokeDashArray",
2961                 "svg": true
2962             },
2963             "specification": {
2964                 "category": "svg",
2965                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDasharrayProperty"
2966             }
2967         },
2968         "stroke-dashoffset": {
2969             "inherited": true,
2970             "codegen-properties": {
2971                 "initial": "initialZeroLength",
2972                 "name-for-methods": "StrokeDashOffset",
2973                 "converter": "Length"
2974             },
2975             "specification": {
2976                 "category": "svg",
2977                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDashoffsetProperty"
2978             }
2979         },
2980         "stroke-linecap": {
2981             "inherited": true,
2982             "values": [
2983                 "butt",
2984                 "round",
2985                 "square"
2986             ],
2987             "codegen-properties": {
2988                 "name-for-methods": "CapStyle"
2989             },
2990             "specification": {
2991                 "category": "svg",
2992                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty"
2993             }
2994         },
2995         "stroke-linejoin": {
2996             "inherited": true,
2997             "values": [
2998                 "miter",
2999                 "round",
3000                 "bevel"
3001             ],
3002             "codegen-properties": {
3003                 "name-for-methods": "JoinStyle"
3004             },
3005             "specification": {
3006                 "category": "svg",
3007                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3008             }
3009         },
3010         "stroke-miterlimit": {
3011             "inherited": true,
3012             "codegen-properties": {
3013                 "name-for-methods": "StrokeMiterLimit",
3014                 "converter": "Number<float>"
3015             },
3016             "specification": {
3017                 "category": "svg",
3018                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
3019             }
3020         },
3021         "stroke-opacity": {
3022             "inherited": true,
3023             "codegen-properties": {
3024                 "converter": "Opacity",
3025                 "svg": true
3026             },
3027             "specification": {
3028                 "category": "svg",
3029                 "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeOpacityProperty"
3030             }
3031         },
3032         "stroke-width": {
3033             "inherited": true,
3034             "codegen-properties": {
3035                 "custom": "Value",
3036                 "initial": "initialOneLength",
3037                 "converter": "Length"
3038             },
3039             "specification": {
3040                 "category": "svg",