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