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