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