CSSProperties.json   [plain text]


{
    "instructions": [
        "CSS Properties",
        "",
        "Some properties are used internally, but are not part of CSS. They are used to get",
        "HTML4 compatibility in the rendering engine.",
        "",
        "Microsoft extensions are documented here:",
        "http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp",
        "",
        "1. Possible Keys",
        "",
        "Keys that control CSS behavior:",
        "",
        "* inherited:",
        "Whether the property is inherited.",
        "",
        "* animatable:",
        "Indicates that this CSS property is an animation / transition property.",
        "It must have corresponding methods on the Animation class.",
        "",
        "Keys that control code generation:",
        "",
        "* initial:",
        "Overrides the method name on RenderStyle to get the initial value for",
        "the property. By default, \"initial\" + PropertyId is used (e.g.",
        "initialBorderCollapse()).",
        "",
        "* getter:",
        "Overrides the method name on RenderStyle to get the current value for",
        "the property. By default, the PropertyId with first letter lowercased",
        "is used (e.g. borderCollapse()).",
        "",
        "* setter:",
        "Overrides the method name on RenderStyle to set the current value for",
        "the property. By default, \"set\" + PropertyId is used (e.g.",
        "setBorderCollapse()).",
        "",
        "* name-for-methods:",
        "Overrides the getter / setter / initial method names on RenderStyle.",
        "For example, '\"name-for-methods\": \"OverflowWrap\"' will use",
        "\"overflowWrap() / setOverflowWrap() / initialOverflowWrap()\".",
        "",
        "* converter:",
        "The name of the converter helper function in css/StyleBuilderConverter.h",
        "to use. The converter helper function takes ",
        "If converting the input CSSValue into the setter method argument type",
        "is not trivial (i.e. the CSSPrimitiveValue cannot be implicitly converted",
        "to the expected type), then you can indicate that a converter helper",
        "function in css/StyleBuilderConverter.h should be used.",
        "",
        "* conditional-converter:",
        "Similar to property converter, but the converter function returns a",
        "WTF::Optional<> to indicate if the property setter should be called",
        "or not.",
        "",
        "* custom:",
        "A string that is \"All\", \"Initial\", \"Inherit\", or \"Value\" or some combination",
        "of the latter three separated by '|' (e.g. \"Inherit|Value\"). These options",
        "are described as follows:",
        "",
        "All - the CSS property requires special handling to set its initial value,",
        "inherit value, and its value. Prefer this option over listing the individual",
        "options.",
        "",
        "Initial - the CSS property requires special handling to set its initial value.",
        "",
        "Inherit - the CSS property requires special handling to set its inherit value.",
        "",
        "Value - the CSS property requires special handling to set its value, and a",
        "regular converter helper cannot be used.",
        "",
        "The custom code for the property should be located in css/StyleBuilderCustom.h",
        "and named applyValue[CSSPropertyName]().",
        "",
        "* svg:",
        "Indicates that this is an SVG CSS property and that the corresponding",
        "methods are on SVGRenderStyle instead of RenderStyle.",
        "",
        "* auto-functions:",
        "Indicates that this CSS property requires handling of \"auto\" and has",
        "corresponding hasAutoXXX() / setHasAutoXXX() methods on RenderStyle.",
        "",
        "* visited-link-color-support:",
        "Indicates that this CSS property is a color property with a",
        "\"setVisitedLinkXXX()\" setter on RenderStyle to be called when",
        "StyleResolver::applyPropertyToVisitedLinkStyle() return true.",
        "The regular setter on RenderStyle will only be called if",
        "StyleResolver::applyPropertyToRegularStyle() returns true.",
        "",
        "* no-default-color:",
        "Should only with used with \"VisitedLinkColorSupport\". It indicates that for",
        "setting the inherited value, it will not fallback to using the parent's",
        "\"color\" property if the inherited color is invalid.",
        "",
        "* fone-property:",
        "Indicates that this CSS property is font-related. It must have corresponding",
        "methods on the FontDescription class.",
        "",
        "* fill-layer-property:",
        "Indicates that this CSS property is a FillLayer property. It must have",
        "corresponding methods on the FillLayer class.",
        "",
        "* skip-builder:",
        "Ignore this property in the StyleBuilder.",
        "",
        "* longhands:",
        "Indicated the array longhand property names associated with this shorthand",
        "property. Shorthand properties should not use the StyleBuilder. An",
        "ASSERT_NOT_REACHED() will be generated for this property in the StyleBuilder.",
        "property1, property2, ... are the longhands for this shorthand property. A",
        "corresponding \"StylePropertyShorthand propertyIdShorthand()\" function will be",
        "generated in StylePropertyShorthandFunctions.h header.",
        "",
        "* high-priority:",
        "Whether the property needs to be applied before non-high-priority properties",
        "in CSS cascading order.",
        "",
        "* aliases:",
        "An array of the alternative names for this property.",
        "",
        "* enable-if:",
        "Indicates that code should only be generated for this property/value if the",
        "specified macro define is enabled. Prefix the macro define with '!' to",
        "generate code when the macro define is not enabled.",
        "",
        "2. Lesser known capabilities of this file format",
        "",
        "Conditional CSS keyword value:",
        "",
        "Typically the value of key \"values\" is an array of strings that represent the",
        "CSS keyword values that are recognized by a CSS property. This array may also",
        "contain objects of the form:",
        "",
        "    {",
        "        \"value\": \"awesome\",",
        "        \"enable-if\": \"ENABLE_AWESOME_FEATURE\"",
        "    }",
        "",
        "The key \"value\" is the name of the conditional keyword and key \"enable-if\"",
        "describes the code generation criterion. See the documentation for \"enable-if\"",
        "above for more details.",
        "",
        "Conditonal CSS property definition:",
        "",
        "A CSS property can have more than one definition so long as the key \"enable-if\"",
        "differs in each definition. For example, ",
        "",
        "    \"awesome-property\": [",
        "        {",
        "            \"inherited\": true,",
        "            ...,",
        "            \"codegen-properties\": {",
        "                ...",
        "                \"enable-if\": \"ENABLE_AWESOME_FEATURE\"",
        "            }",
        "        },",
        "        {",
        "            \"inherited\": false,",
        "            ...,",
        "            \"codegen-properties\": {",
        "                ...",
        "                \"enable-if\": \"!ENABLE_AWESOME_FEATURE\"",
        "            }",
        "        },",
        "        ...",
        "    ],",
        "",
        "The first definition in parse order whose \"enable-if\" criterion evaluates",
        "to true is chosen for code generation."
    ],
    "properties": {
        "color": {
            "inherited": true,
            "codegen-properties": {
                "visited-link-color-support": true,
                "no-default-color": true,
                "high-priority": true
            },
            "status": {
                "comment": "All the values from CSS Color Level 3 are supported, as well as the 8- and 4-digit forms of hex color, and the color() function."
            },
            "specification": {
                "category": "css-color",
                "url": "https://www.w3.org/TR/css-color-4/#the-color-property"
            }
        },
        "direction": {
            "inherited": true,
            "values": [
                "ltr",
                "rtl"
            ],
            "codegen-properties": {
                "custom": "Value",
                "high-priority": true
            },
            "specification": {
                "category": "css-writing-modes",
                "url": "https://www.w3.org/TR/css-writing-modes-3/#propdef-direction"
            }
        },
        "display": {
            "values": [
                "inline",
                "block",
                {
                    "value": "flow",
                    "status": "not implemented",
                    "url": "https://www.w3.org/TR/css-display-3/#valdef-display-flow"
                },
                {
                    "value": "flow-root",
                    "status": "not implemented",
                    "url": "https://www.w3.org/TR/css-display-3/#valdef-display-flow-root"
                },
                "list-item",
                {
                    "value": "compact",
                    "url": "https://www.w3.org/TR/REC-CSS2/visuren.html#compact"
                },
                "inline-block",
                {
                    "value": "run-in",
                    "status": "removed",
                    "url": "https://www.w3.org/TR/css-display-3/#valdef-display-run-in",
                    "comment": "Removed in https://trac.webkit.org/r163560"
                },
                "table",
                "inline-table",
                "table-row-group",
                "table-header-group",
                "table-footer-group",
                "table-row",
                "table-column-group",
                "table-column",
                "table-cell",
                "table-caption",
                {
                    "value": "-webkit-box",
                    "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
                },
                {
                    "value": "-webkit-inline-box",
                    "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/"
                },
                {
                    "value": "flex",
                    "url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-flex"
                },
                "-webkit-flex",
                {
                    "value": "inline-flex",
                    "url": "https://www.w3.org/TR/css-flexbox-1/#valdef-display-inline-flex"
                },
                "-webkit-inline-flex",
                {
                    "value": "contents",
                    "url": "https://www.w3.org/TR/css-display-3/#valdef-display-contents"
                },
                "none",
                {
                    "value": "grid",
                    "url": "https://www.w3.org/TR/css-grid/#valdef-display-grid"
                },
                {  
                    "value": "inline-grid",
                    "url": "https://www.w3.org/TR/css-grid/#valdef-display-inline-grid"
                }
            ],
            "codegen-properties": {
                "custom": "Inherit|Value",
                "high-priority": true
            },
            "specification": {
                "category": "css-display",
                "url": "https://www.w3.org/TR/css-display-3/#the-display-properties"
            }
        },
        "font-family": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All",
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-family-prop"
            }
        },
        "font-size": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All",
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-size-prop"
            }
        },
        "font-style": {
            "inherited": true,
            "values": [
                "normal",
                "italic",
                "oblique"
            ],
            "codegen-properties": {
                "custom": "All",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-style-prop"
            }
        },
        "font-weight": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "Weight",
                "font-property": true,
                "high-priority": true,
                "converter": "FontWeight"
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-weight-prop"
            }
        },
        "font-stretch": {
            "inherited": true,
            "values": [
                "normal",
                "ultra-condensed",
                "extra-condensed",
                "condensed",
                "semi-condensed",
                "semi-expanded",
                "expanded",
                "extra-expanded",
                "ultra-expanded"
            ],
            "codegen-properties": {
                "name-for-methods": "Stretch",
                "font-property": true,
                "high-priority": true,
                "converter": "FontStretch"
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-stretch-prop"
            }
        },
        "text-rendering": {
            "inherited": true,
            "values": [
                "auto",
                "optimizespeed",
                "optimizelegibility",
                "geometricprecision"
            ],
            "codegen-properties": {
                "name-for-methods": "TextRenderingMode",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#TextRenderingProperty"
            }
        },
        "font-feature-settings": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "FeatureSettings",
                "converter": "FontFeatureSettings",
                "custom": "Initial|Inherit",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-rend-desc"
            }
        },
        "font-variation-settings": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "VariationSettings",
                "converter": "FontVariationSettings",
                "custom": "Initial|Inherit",
                "font-property": true,
                "high-priority": true,
                "enable-if": "ENABLE_VARIATION_FONTS"
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-4/#low-level-font-variation-settings-control-the-font-variation-settings-property"
            }
        },
        "-webkit-font-kerning": {
            "inherited": true,
            "values": [
                "auto",
                "normal",
                "none"
            ],
            "codegen-properties": {
                "aliases": [
                    "font-kerning"
                ],
                "name-for-methods": "Kerning",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-kerning-prop"
            }
        },
        "-webkit-font-smoothing": {
            "inherited": true,
            "values": [
                "auto",
                "none",
                "antialiased",
                "subpixel-antialiased"
            ],
            "codegen-properties": {
                "font-property": true,
                "high-priority": true
            },
            "status": "non-standard"
        },
        "font-variant-ligatures": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "VariantLigatures",
                "custom": "All",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-ligatures-prop"
            }
        },
        "font-variant-position": {
            "inherited": true,
            "values": [
                "normal",
                "sub",
                "super"
            ],
            "codegen-properties": {
                "name-for-methods": "VariantPosition",
                "font-property": true,
                "high-priority": true
            },
            "status": {
                "status": "in development",
                "enabled-by-default": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#propdef-font-variant-position"
            }
        },
        "font-variant-caps": {
            "inherited": true,
            "values": [
                "normal",
                "small-caps",
                "all-small-caps",
                "petite-caps",
                "all-petite-caps",
                "unicase",
                "titling-caps"
            ],
            "codegen-properties": {
                "name-for-methods": "VariantCaps",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-caps-prop"
            }
        },
        "font-variant-numeric": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "VariantNumeric",
                "custom": "All",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-numeric-prop"
            }
        },
        "font-variant-alternates": {
            "inherited": true,
            "values": [
                "normal",
                "historical-forms"
            ],
            "codegen-properties": {
                "name-for-methods": "VariantAlternates",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-alternates-prop"
            }
        },
        "font-variant-east-asian": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "VariantEastAsian",
                "custom": "All",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-variant-east-asian-prop"
            }
        },
        "font-synthesis": {
            "inherited": true,
            "codegen-properties": {
                "converter": "FontSynthesis",
                "font-property": true,
                "high-priority": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-3/#font-synthesis-prop"
            }
        },
        "font-optical-sizing": {
            "inherited": true,
            "values": [
                "auto",
                "none"
            ],
            "codegen-properties": {
                "name-for-methods": "OpticalSizing",
                "font-property": true,
                "high-priority": true,
                "enable-if": "ENABLE_VARIATION_FONTS"
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://drafts.csswg.org/css-fonts-4/#optical-sizing-control-the-font-optical-sizing-property"
            }
        },
        "font": {
            "inherited": true,
            "codegen-properties": {
                "longhands": [
                              "font-family",
                              "font-size",
                              "font-style",
                              "font-variant-caps",
                              "font-weight",
                              "font-stretch",
                              "line-height"
                              ]
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#font-prop"
            }
        },
        "font-variant": {
            "inherited": true,
            "codegen-properties": {
                "longhands": [
                              "font-variant-ligatures",
                              "font-variant-position",
                              "font-variant-caps",
                              "font-variant-numeric",
                              "font-variant-alternates",
                              "font-variant-east-asian"
                              ]
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#propdef-font-variant"
            }
        },
        "-webkit-locale": {
            "inherited": true,
            "codegen-properties": {
                "custom": "Value",
                "font-property": true,
                "high-priority": true
            },
            "status": "non-standard"
        },
        "-webkit-text-orientation": {
            "inherited": true,
            "values": [
                "sideways",
                {
                    "value": "sideways-right",
                    "status": "deprecated"
                },
                {
                    "value": "vertical-right",
                    "status": "non-standard"
                },
                "mixed",
                "upright"
            ],
            "codegen-properties": {
                "aliases": [
                    "-epub-text-orientation"
                ],
                "custom": "Value",
                "high-priority": true
            },
            "specification": {
                "category": "css-writing-modes",
                "url": "https://www.w3.org/TR/css-writing-modes-3/#text-orientation"
            }
        },
        "-webkit-text-size-adjust": {
            "inherited": true,
            "codegen-properties": {
                "custom": "Value",
                "high-priority": true,
                "enable-if": "ENABLE_TEXT_AUTOSIZING"
            },
            "status": "experimental",
            "specification": {
                "non-canonical-url": "https://drafts.csswg.org/css-size-adjust/#adjustment-control"
            }
        },
        "writing-mode": {
            "inherited": true,
            "values": [
                {
                    "value": "lr-tb",
                    "status": "deprecated"
                },
                {
                    "value": "rl-tb",
                    "status": "deprecated"
                },
                {
                    "value": "tb-rl",
                    "status": "deprecated"
                },
                {
                    "value": "lr",
                    "status": "deprecated"
                },
                {
                    "value": "rl",
                    "status": "deprecated"
                },
                {
                    "value": "tb",
                    "status": "deprecated"
                },
                {
                    "value": "horizontal-tb",
                    "status": "unimplemented"
                },
                {
                    "value": "vertical-rl",
                    "status": "unimplemented"
                },
                {
                    "value": "vertical-lr",
                    "status": "unimplemented"
                },
                {
                    "value": "sideways-rl",
                    "status": "unimplemented"
                },
                {
                    "value": "sideways-lr",
                    "status": "unimplemented"
                }
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-writing-mode",
                    "-epub-writing-mode"
                ],
                "custom": "Value",
                "high-priority": true
            },
            "specification": {
                "category": "css-writing-modes",
                "non-canonical-url": "https://www.w3.org/TR/css-writing-modes-3/#propdef-writing-mode"
            }
        },
        "-webkit-text-zoom": {
            "inherited": true,
            "values": [
                "normal",
                "reset"
            ],
            "codegen-properties": {
                "custom": "Value",
                "high-priority": true
            },
            "status": "non-standard",
            "specification": {
                "description": "Used to reset the text zoom level.",
                "comment": "Used to reset the size of text affected by the zoom property."
            }
        },
        "zoom": {
            "codegen-properties": {
                "custom": "All",
                "high-priority": true
            },
            "status": "non-standard",
            "specification": {
                "url": "https://msdn.microsoft.com/en-us/library/ms531189(v=vs.85).aspx"
            }
        },
        "-webkit-ruby-position": {
            "inherited": true,
            "values": [
                {
                    "value": "before",
                    "status": "deprecated"
                },
                {
                    "value": "after",
                    "status": "deprecated"
                },
                "inter-character",
                {
                    "value": "over",
                    "status": "unimplemented"
                },
                {
                    "value": "under",
                    "status": "unimplemented"
                }
            ],
            "codegen-properties": {
                "comment": "This is the highest priority property and 'is resolved before all other properties, to ensure that its value can be checked when determining a smart default font size', (<https://trac.webkit.org/browser/trunk/Source/WebCore/ChangeLog?rev=172861>)."
            },
            "specification": {
                "category": "css-ruby",
                "url": "https://www.w3.org/TR/css-ruby-1/#rubypos"
            }
        },
        "alignment-baseline": {
            "values": [
                "auto",
                "baseline",
                "middle",
                "before-edge",
                "after-edge",
                "central",
                "text-before-edge",
                "text-after-edge",
                "ideographic",
                "hanging",
                "mathematical"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/text.html#AlignmentBaselineProperty"
            }
        },
        "all": {
            "codegen-properties": {
                "longhands": [
                    "all"
                ]
            },
            "specification": {
                "category": "css-cascade",
                "url": "https://www.w3.org/TR/css-cascade-3/#all-shorthand"
            }
        },
        "animation": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation"
                ],
                "longhands": [
                    "animation-name",
                    "animation-duration",
                    "animation-timing-function",
                    "animation-delay",
                    "animation-iteration-count",
                    "animation-direction",
                    "animation-fill-mode",
                    "animation-play-state"
                ]
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-shorthand-property",
                "keywords": ["animation"],
                "description": "Used to animate elements"
            }
        },
        "animation-delay": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-delay"
                ],
                "name-for-methods": "Delay"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-delay-property"
            }
        },
        "animation-direction": {
            "values": [
                "normal",
                "reverse",
                "alternate",
                "alternate-reverse"
            ],
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-direction"
                ],
                "name-for-methods": "Direction"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-direction-property"
            }
        },
        "animation-duration": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-duration"
                ],
                "name-for-methods": "Duration"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-duration-property",
                "documentation-url": "https://developer.mozilla.org/en-US/docs/Web/CSS/animation-duration"
            }
        },
        "animation-fill-mode": {
            "values": [
                "forwards",
                "backwards",
                "both"
            ],
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-fill-mode"
                ],
                "name-for-methods": "FillMode"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-fill-mode-property"
            }
        },
        "animation-iteration-count": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-iteration-count"
                ],
                "name-for-methods": "IterationCount"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-iteration-count-property"
            }
        },
        "animation-name": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-name"
                ],
                "name-for-methods": "Name"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-name-property"
            }
        },
        "animation-play-state": {
            "values": [
                "running",
                "paused"
            ],
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-play-state"
                ],
                "name-for-methods": "PlayState"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-play-state-property"
            }
        },
        "animation-timing-function": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-animation-timing-function"
                ],
                "name-for-methods": "TimingFunction"
            },
            "specification": {
                "category": "css-animations",
                "url": "https://www.w3.org/TR/css3-animations/#animation-timing-function-property"
            }
        },
        "background": {
            "codegen-properties": {
                "longhands": [
                    "background-image",
                    "background-position-x",
                    "background-position-y",
                    "background-size",
                    "background-repeat-x",
                    "background-repeat-y",
                    "background-attachment",
                    "background-origin",
                    "background-clip",
                    "background-color"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-background"
            }
        },
        "background-attachment": {
            "values": [
                "fixed",
                "local",
                "scroll"
            ],
            "codegen-properties": {
                "name-for-methods": "Attachment",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-background-attachment"
            }
        },
        "background-blend-mode": {
            "values" : [
                "normal",
                "multiply",
                "screen",
                "overlay",
                "darken",
                "lighten",
                "color-dodge",
                "color-burn",
                "hard-light",
                "soft-light",
                "difference",
                "exclusion",
                "hue",
                "saturation",
                "color",
                "luminosity"
            ],
            "codegen-properties": {
                "name-for-methods": "BlendMode",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-compositing",
                "url": "https://www.w3.org/TR/compositing-1/#background-blend-mode"
            }
        },
        "background-clip": {
            "values": [
                "border-box",
                "padding-box",
                "content-box",
                {
                    "value": "-webkit-text",
                    "status": "non-standard"
                }
            ],
            "codegen-properties": {
                "name-for-methods": "Clip",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-background-clip"
            }
        },
        "background-color": {
            "codegen-properties": {
                "visited-link-color-support": true,
                "no-default-color": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-background-color"
            }
        },
        "background-image": {
            "codegen-properties": {
                "name-for-methods": "Image",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-background-image"
            }
        },
        "background-origin": {
            "codegen-properties": {
                "name-for-methods": "Origin",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-background-origin"
            }
        },
        "background-position": {
            "codegen-properties": {
                "longhands": [
                    "background-position-x",
                    "background-position-y"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#background-position"
            }
        },
        "background-position-x": {
            "codegen-properties": {
                "name-for-methods": "XPosition",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x"
            },
            "status": {
                "status": "experimental",
                "enabled-by-default": true
            }
        },
        "background-position-y": {
            "codegen-properties": {
                "name-for-methods": "YPosition",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y"
            },
            "status": {
                "status": "experimental",
                "enabled-by-default": true
            }
        },
        "background-repeat": {
            "codegen-properties": {
                "longhands": [
                    "background-repeat-x",
                    "background-repeat-y"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#background-repeat"
            }
        },
        "background-repeat-x": {
            "codegen-properties": {
                "name-for-methods": "RepeatX",
                "fill-layer-property": true,
                "internal-only": true
            },
            "specification": {
                "category": "css-backgrounds"
            },
            "status": {
                "status": "experimental",
                "enabled-by-default": true
            }
        },
        "background-repeat-y": {
            "codegen-properties": {
                "name-for-methods": "RepeatY",
                "fill-layer-property": true,
                "internal-only": true
            },
            "specification": {
                "category": "css-backgrounds"
            },
            "status": {
                "status": "experimental",
                "enabled-by-default": true
            }
        },
        "background-size": {
            "codegen-properties": {
                "name-for-methods": "Size",
                "fill-layer-property": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#background-size"
            }
        },
        "baseline-shift": {
            "codegen-properties": {
                "custom": "Value",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/text.html#BaselineShiftProperty"
            }
        },
        "border": {
            "codegen-properties": {
                "longhands": [
                    "border-top-color",
                    "border-top-style",
                    "border-top-width",
                    "border-right-color",
                    "border-right-style",
                    "border-right-width",
                    "border-bottom-color",
                    "border-bottom-style",
                    "border-bottom-width",
                    "border-left-color",
                    "border-left-style",
                    "border-left-width"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
            }
        },
        "border-bottom": {
            "codegen-properties": {
                "longhands": [
                    "border-bottom-width",
                    "border-bottom-style",
                    "border-bottom-color"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
            }
        },
        "border-bottom-color": {
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-color"
            }
        },
        "border-bottom-left-radius": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-border-bottom-left-radius"
                ],
                "initial": "initialBorderRadius",
                "converter": "Radius"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
            }
        },
        "border-bottom-right-radius": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-border-bottom-right-radius"
                ],
                "initial": "initialBorderRadius",
                "converter": "Radius"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
            }
        },
        "border-bottom-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "initial": "initialBorderStyle"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-style"
            }
        },
        "border-bottom-width": {
            "codegen-properties": {
                "initial": "initialBorderWidth",
                "converter": "LineWidth<float>"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-width"
            }
        },
        "border-collapse": {
            "values": [
                "collapse",
                "separate"
            ],
            "inherited": true,
            "values": [
                "collapse",
                "separate"
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/tables.html#borders"
            }
        },
        "border-color": {
            "codegen-properties": {
                "longhands": [
                    "border-top-color",
                    "border-right-color",
                    "border-bottom-color",
                    "border-left-color"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-color"
            }
        },
        "border-image": {
            "codegen-properties": {
                "longhands": [
                    "border-image-source",
                    "border-image-slice",
                    "border-image-width",
                    "border-image-outset",
                    "border-image-repeat"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-image"
            }
        },
        "border-image-outset": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-image-outset"
            }
        },
        "border-image-repeat": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-image-repeat"
            }
        },
        "border-image-slice": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-image-slice"
            }
        },
        "border-image-source": {
            "codegen-properties": {
                "converter": "StyleImage<CSSPropertyBorderImageSource>"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-image-source"
            }
        },
        "border-image-width": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-image-width"
            }
        },
        "border-left": {
            "codegen-properties": {
                "longhands": [
                    "border-left-width",
                    "border-left-style",
                    "border-left-color"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
            }
        },
        "border-left-color": {
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-color"
            }
        },
        "border-left-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "initial": "initialBorderStyle"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-style"
            }
        },
        "border-left-width": {
            "codegen-properties": {
                "initial": "initialBorderWidth",
                "converter": "LineWidth<float>"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-width"
            }
        },
        "border-radius": {
            "codegen-properties": {
                "longhands": [
                    "border-top-left-radius",
                    "border-top-right-radius",
                    "border-bottom-right-radius",
                    "border-bottom-left-radius"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
            }
        },
        "border-right": {
            "codegen-properties": {
                "longhands": [
                    "border-right-width",
                    "border-right-style",
                    "border-right-color"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
            }
        },
        "border-right-color": {
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-color"
            }
        },
        "border-right-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "initial": "initialBorderStyle"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-style"
            }
        },
        "border-right-width": {
            "codegen-properties": {
                "initial": "initialBorderWidth",
                "converter": "LineWidth<float>"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-width"
            }
        },
        "border-spacing": {
            "inherited": true,
            "codegen-properties": {
                "longhands": [
                    "-webkit-border-horizontal-spacing",
                    "-webkit-border-vertical-spacing"
                ]
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/tables.html#separated-borders"
            }
        },
        "border-style": {
            "codegen-properties": {
                "longhands": [
                    "border-top-style",
                    "border-right-style",
                    "border-bottom-style",
                    "border-left-style"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-style"
            }
        },
        "border-top": {
            "codegen-properties": {
                "longhands": [
                    "border-top-width",
                    "border-top-style",
                    "border-top-color"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-shorthands"
            }
        },
        "border-top-color": {
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-color"
            }
        },
        "border-top-left-radius": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-border-top-left-radius"
                ],
                "initial": "initialBorderRadius",
                "converter": "Radius"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
            }
        },
        "border-top-right-radius": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-border-top-right-radius"
                ],
                "initial": "initialBorderRadius",
                "converter": "Radius"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-radius"
            }
        },
        "border-top-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "initial": "initialBorderStyle"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-style"
            }
        },
        "border-top-width": {
            "codegen-properties": {
                "initial": "initialBorderWidth",
                "converter": "LineWidth<float>"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-width"
            }
        },
        "border-width": {
            "codegen-properties": {
                "longhands": [
                    "border-top-width",
                    "border-right-width",
                    "border-bottom-width",
                    "border-left-width"
                ]
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-border-width"
            }
        },
        "bottom": {
            "codegen-properties": {
                "initial": "initialOffset",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-bottom"
            }
        },
        "box-shadow": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-backgrounds",
                "url": "https://www.w3.org/TR/css3-background/#the-box-shadow"
            }
        },
        "box-sizing": {
            "values": [
                "border-box",
                "content-box"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-box-sizing"
                ]
            },
            "status": {
                "comment": "-webkit-box-sizing worked in Safari 4 and earlier."
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#box-sizing"
            }
        },
        "break-after": {
            "values": [
                "auto",
                "avoid",
                "left",
                "right",
                "recto",
                "verso",
                "column",
                "page",
                "region",
                "avoid-column",
                "avoid-page",
                "avoid-region"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween"
            },
            "specification": {
                "category": "css-break",
                "url": "https://www.w3.org/TR/css-break-3/#break-between"
            }
        },
        "break-before": {
            "values": [
                "auto",
                "avoid",
                "left",
                "right",
                "recto",
                "verso",
                "column",
                "page",
                "region",
                "avoid-column",
                "avoid-page",
                "avoid-region"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween"
            },
            "specification": {
                "category": "css-break",
                "url": "https://www.w3.org/TR/css-break-3/#break-between"
            }
        },
        "break-inside": {
            "values": [
                "auto",
                "avoid",
                "avoid-column",
                "avoid-page",
                "avoid-region"
            ],
            "codegen-properties": {
                "initial": "initialBreakInside"
            },
            "specification": {
                "category": "css-break",
                "url": "https://www.w3.org/TR/css-break-3/#break-within"
            }
        },
        "buffered-rendering": {
            "values": [
                "auto",
                "dynamic",
                "static"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVGTiny12/painting.html#BufferedRenderingProperty"
            }
        },
        "caption-side": {
            "inherited": true,
            "values": [
                "left",
                "right",
                "top",
                "bottom"
            ],
            "codegen-properties": {
                "aliases": [
                    "-epub-caption-side"
                ]
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/tables.html#propdef-caption-side"
            }
        },
        "clear": {
            "values": [
                "none",
                "left",
                "right",
                "both"
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-clear"
            }
        },
        "clip": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-clip"
            }
        },
        "-webkit-clip-path": {
            "codegen-properties": {
                "converter": "ClipPath"
            }
        },
        "clip-path": {
            "codegen-properties": {
                "name-for-methods": "ClipperResource",
                "converter": "SVGURIReference",
                "svg": true
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#the-clip-path"
            }
        },
        "clip-rule": {
            "inherited": true,
            "values": [
                "nonzero",
                "evenodd"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/masking.html#ClipRuleProperty"
            }
        },
        "color-interpolation": {
            "inherited": true,
            "values": [
                "auto",
                "srgb",
                "linearrgb"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty"
            }
        },
        "color-interpolation-filters": {
            "inherited": true,
            "values": [
                "auto",
                "srgb",
                "linearrgb"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationFiltersProperty"
            }
        },
        "color-profile": {
            "codegen-properties": {
                "skip-builder": true,
                "svg": true
            },
            "status": {
                "status": "not implemented",
                "enabled-by-default": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/color.html#ColorProfileProperty"
            }
        },
        "color-rendering": {
            "inherited": true,
            "values": [
                "auto",
                "optimizespeed",
                "optimizequality"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#ColorRenderingProperty"
            }
        },
        "content": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-content",
                "url": "https://www.w3.org/TR/css-content-3/#content-property"
            }
        },
        "counter-increment": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-increment"
            }
        },
        "counter-reset": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#counter-properties"
            }
        },
        "counter-set": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#propdef-counter-set"
            }
        },
        "cursor": {
            "values": [
                "context-menu",
                "help",
                "pointer",
                "progress",
                "wait",
                "cell",
                "crosshair",
                "text",
                "vertical-text",
                "alias",
                "copy",
                "move",
                "no-drop",
                "not-allowed",
                "grab",
                {
                    "value": "-webkit-grab",
                    "status": "non-standard"
                },
                "grabbing",
                {
                    "value": "-webkit-grabbing",
                    "status": "non-standard"
                },
                "e-resize",
                "n-resize",
                "ne-resize",
                "nw-resize",
                "s-resize",
                "se-resize",
                "sw-resize",
                "w-resize",
                "ew-resize",
                "ns-resize",
                "nesw-resize",
                "nwse-resize",
                "col-resize",
                "row-resize",
                "all-scroll",
                "zoom-in",
                "zoom-out",
                {
                    "value": "-webkit-zoom-in",
                    "status": "non-standard"
                },
                {
                    "value": "-webkit-zoom-out",
                    "status": "non-standard"
                }
            ],
            "inherited": true,
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#cursor"
            }
        },
        "-webkit-cursor-visibility": {
            "inherited": true,
            "values": [
                "auto",
                "auto-hide"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_CURSOR_VISIBILITY"
            },
            "status": "non-standard"
        },
        "cx": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/shapes.html"
            }
        },
        "cy": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/shapes.html"
            }
        },
        "dominant-baseline": {
            "values": [
                "auto",
                "middle",
                "use-script",
                "no-change",
                "reset-size",
                "central",
                "text-before-edge",
                "text-after-edge",
                "ideographic",
                "hanging",
                "mathematical"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/text.html#DominantBaselineProperty"
            }
        },
        "empty-cells": {
            "inherited": true,
            "values": [
                "show",
                "hide"
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS2/tables.html#empty-cells"
            }
        },
        "enable-background": {
            "codegen-properties": {
                "skip-builder": true
            },
            "status": {
                "status": "not implemented",
                "enabled-by-default": true
            },
            "specification": {
                "category": "svg"
            }
        },
        "fill": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#FillProperty"
            }
        },
        "fill-opacity": {
            "inherited": true,
            "codegen-properties": {
                "converter": "Opacity",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty"
            }
        },
        "fill-rule": {
            "inherited": true,
            "values": [
                "nonzero",
                "evenodd"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#FillRuleProperty"
            }
        },
        "float": {
            "values": [
                "left",
                "right",
                "none"
            ],
            "codegen-properties": {
                "name-for-methods": "Floating"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#float-position"
            }
        },
        "flood-color": {
            "codegen-properties": {
                "converter": "SVGColor",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/filters.html#FloodColorProperty"
            }
        },
        "flood-opacity": {
            "codegen-properties": {
                "converter": "Opacity",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/filters.html#FloodOpacityProperty"
            }
        },
        "glyph-orientation-horizontal": {
            "inherited": true,
            "codegen-properties": {
                "converter": "GlyphOrientation",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationHorizontalProperty"
            }
        },
        "glyph-orientation-vertical": {
            "inherited": true,
            "codegen-properties": {
                "converter": "GlyphOrientationOrAuto",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/text.html#GlyphOrientationVerticalProperty"
            }
        },
        "hanging-punctuation": {
            "inherited": true,
            "codegen-properties": {
                "converter": "HangingPunctuation"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#hanging-punctuation"
            }
        },
        "height": {
            "codegen-properties": {
                "initial": "initialSize",
                "converter": "LengthSizing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#the-height-property"
            }
        },
        "image-orientation": {
            "inherited": true,
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_IMAGE_ORIENTATION"
            },
            "status": {
                "status": "under consideration",
                "enabled-by-default": false
            },
            "specification": {
                "category": "css-images",
                "url": "https://www.w3.org/TR/css3-images/#the-image-orientation"
            }
        },
        "image-rendering": {
            "inherited": true,
            "values": [
                "auto",
                {
                    "value": "optimizespeed",
                    "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
                },
                {
                    "value": "optimizequality",
                    "url": "https://www.w3.org/TR/SVG11/painting.html#ImageRenderingProperty"
                },
                {
                    "value": "-webkit-crisp-edges",
                    "status": "non-standard"
                },
                {
                    "value": "-webkit-optimize-contrast",
                    "status": "non-standard"
                },
                "crisp-edges",
                "pixelated"
            ],
            "specification": {
                "category": "css-images",
                "url": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering"
            }
        },
        "image-resolution": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All",
                "enable-if": "ENABLE_CSS_IMAGE_RESOLUTION"
            },
            "status": {
                "status": "under consideration",
                "enabled-by-default": false
            },
            "specification": {
                "category": "css-images",
                "url": "https://www.w3.org/TR/css3-images/#image-resolution"
            }
        },
        "kerning": {
            "inherited": true,
            "codegen-properties": {
                "converter": "SVGLengthValue",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/text.html#KerningProperty"
            }
        },
        "left": {
            "codegen-properties": {
                "initial": "initialOffset",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-left"
            }
        },
        "letter-spacing": {
            "inherited": true,
            "codegen-properties": {
                "converter": "Spacing"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#letter-spacing-property"
            }
        },
        "lighting-color": {
            "codegen-properties": {
                "converter": "SVGColor",
                "svg": true
            }
        },
        "line-height": {
            "inherited": true,
            "codegen-properties": [
                {
                    "custom": "All",
                    "enable-if": "ENABLE_TEXT_AUTOSIZING"
                },
                {
                    "getter": "specifiedLineHeight",
                    "conditional-converter": "LineHeight",
                    "enable-if": "!ENABLE_TEXT_AUTOSIZING"
                }
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-line-height"
            }
        },
        "list-style": {
            "inherited": true,
            "codegen-properties": {
                "longhands": [
                    "list-style-type",
                    "list-style-position",
                    "list-style-image"
                ]
            },
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#list-style-property"
            }
        },
        "list-style-image": {
            "inherited": true,
            "codegen-properties": {
                "converter": "StyleImage<CSSPropertyListStyleImage>"
            },
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-image"
            }
        },
        "list-style-position": {
            "inherited": true,
            "values": [
                "inside",
                "outside"
            ],
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-position"
            }
        },
        "list-style-type": {
            "inherited": true,
            "values": [
                "disc",
                "circle",
                "square",
                "decimal",
                "decimal-leading-zero",
                "arabic-indic",
                "binary",
                "bengali",
                "cambodian",
                "khmer",
                "devanagari",
                "gujarati",
                "gurmukhi",
                "kannada",
                "lower-hexadecimal",
                "lao",
                "malayalam",
                "mongolian",
                "myanmar",
                "octal",
                "oriya",
                "persian",
                "urdu",
                "telugu",
                "tibetan",
                "thai",
                "upper-hexadecimal",
                "lower-roman",
                "upper-roman",
                "lower-greek",
                "lower-alpha",
                "lower-latin",
                "upper-alpha",
                "upper-latin",
                "afar",
                "ethiopic-halehame-aa-et",
                "ethiopic-halehame-aa-er",
                "amharic",
                "ethiopic-halehame-am-et",
                "amharic-abegede",
                "ethiopic-abegede-am-et",
                "cjk-earthly-branch",
                "cjk-heavenly-stem",
                "ethiopic",
                "ethiopic-halehame-gez",
                "ethiopic-abegede",
                "ethiopic-abegede-gez",
                "hangul-consonant",
                "hangul",
                "lower-norwegian",
                "oromo",
                "ethiopic-halehame-om-et",
                "sidama",
                "ethiopic-halehame-sid-et",
                "somali",
                "ethiopic-halehame-so-et",
                "tigre",
                "ethiopic-halehame-tig",
                "tigrinya-er",
                "ethiopic-halehame-ti-er",
                "tigrinya-er-abegede",
                "ethiopic-abegede-ti-er",
                "tigrinya-et",
                "ethiopic-halehame-ti-et",
                "tigrinya-et-abegede",
                "ethiopic-abegede-ti-et",
                "upper-greek",
                "upper-norwegian",
                "asterisks",
                "footnotes",
                "hebrew",
                "armenian",
                "lower-armenian",
                "upper-armenian",
                "georgian",
                "cjk-ideographic",
                "hiragana",
                "katakana",
                "hiragana-iroha",
                "katakana-iroha",
                "none"
            ],
            "specification": {
                "category": "css-lists",
                "url": "https://www.w3.org/TR/css-lists-3/#propdef-list-style-type"
            }
        },
        "margin": {
            "codegen-properties": {
                "longhands": [
                    "margin-top",
                    "margin-right",
                    "margin-bottom",
                    "margin-left"
                ]
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin"
            }
        },
        "margin-bottom": {
            "codegen-properties": {
                "initial": "initialMargin",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-bottom"
            }
        },
        "margin-left": {
            "codegen-properties": {
                "initial": "initialMargin",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-left"
            }
        },
        "margin-right": {
            "codegen-properties": {
                "initial": "initialMargin",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-right"
            }
        },
        "margin-top": {
            "codegen-properties": {
                "initial": "initialMargin",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-margin-top"
            }
        },
        "marker": {
            "inherited": true,
            "codegen-properties": {
                "longhands": [
                    "marker-start",
                    "marker-mid",
                    "marker-end"
                ]
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#MarkerProperty"
            }
        },
        "marker-end": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "MarkerEndResource",
                "converter": "SVGURIReference",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#MarkerEndProperty"
            }
        },
        "marker-mid": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "MarkerMidResource",
                "converter": "SVGURIReference",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#MarkerMidProperty"
            }
        },
        "marker-start": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "MarkerStartResource",
                "converter": "SVGURIReference",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/painting.html#MarkerStartProperty"
            }
        },
        "mask": {
            "codegen-properties": {
                "name-for-methods": "MaskerResource",
                "converter": "SVGURIReference",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/masking.html#MaskProperty"
            }
        },
        "mask-type": {
            "values": [
                "luminance",
                "alpha"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "css-masking",
                "url": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-type"
            }
        },
        "max-height": {
            "codegen-properties": {
                "initial": "initialMaxSize",
                "converter": "LengthMaxSizing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-height"
            }
        },
        "max-width": {
            "codegen-properties": {
                "initial": "initialMaxSize",
                "converter": "LengthMaxSizing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-max-width"
            }
        },
        "min-height": {
            "codegen-properties": {
                "initial": "initialMinSize",
                "converter": "LengthSizing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-height"
            }
        },
        "min-width": {
            "codegen-properties": {
                "initial": "initialMinSize",
                "converter": "LengthSizing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-min-width"
            }
        },
        "object-fit": {
            "values": [
                "fill",
                "contain",
                "cover",
                "none",
                "scale-down"
            ],
            "specification": {
                "category": "css-images",
                "url": "https://www.w3.org/TR/css3-images/#object-fit"
            }
        },
        "object-position": {
            "codegen-properties": {
                "converter": "ObjectPosition"
            },
            "specification": {
                "category": "css-images",
                "url": "https://www.w3.org/TR/css3-images/#object-position"
            }
        },
        "opacity": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-opacity"
                ]
            },
            "status": {
                "comment": "Honor -webkit-opacity as a synonym for opacity. This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets."
            },
            "specification": {
                "category": "css-color",
                "url": "https://www.w3.org/TR/css3-color/#opacity"
            }
        },
        "orphans": {
            "inherited": true,
            "codegen-properties": {
                "auto-functions": true
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/page.html#propdef-orphans"
            }
        },
        "outline": {
            "codegen-properties": {
                "longhands": [
                    "outline-color",
                    "outline-style",
                    "outline-width"
                ]
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline"
            }
        },
        "outline-color": {
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-color"
            }
        },
        "outline-offset": {
            "codegen-properties": {
                "converter": "ComputedLength<float>"
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-offset"
            }
        },
        "outline-style": {
            "values": [
                "auto",
                "none",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-style"
            }
        },
        "outline-width": {
            "codegen-properties": {
                "converter": "LineWidth<float>"
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-outline-width"
            }
        },
        "overflow": {
            "codegen-properties": {
                "longhands": [
                    "overflow-x",
                    "overflow-y"
                ]
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-overflow"
            }
        },
        "overflow-wrap": {
            "values": [
                "normal",
                "break-word"
            ],
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#overflow-wrap"
            }
        },
        "overflow-x": {
            "values": [
                "visible",
                "hidden",
                "scroll",
                "auto",
                "overlay"
            ],
            "specification": {
                "category": "css-overflow",
                "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-x"
            }
        },
        "overflow-y": {
            "values": [
                "visible",
                "hidden",
                "scroll",
                "auto",
                "overlay",
                "-webkit-paged-x",
                "-webkit-paged-y"
            ],
            "specification": {
                "category": "css-overflow",
                "url": "https://www.w3.org/TR/css-overflow-3/#propdef-overflow-y"
            }
        },
        "padding": {
            "codegen-properties": {
                "longhands": [
                    "padding-top",
                    "padding-right",
                    "padding-bottom",
                    "padding-left"
                ]
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding"
            }
        },
        "padding-bottom": {
            "codegen-properties": {
                "initial": "initialPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-bottom"
            }
        },
        "padding-left": {
            "codegen-properties": {
                "initial": "initialPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-left"
            }
        },
        "padding-right": {
            "codegen-properties": {
                "initial": "initialPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-right"
            }
        },
        "padding-top": {
            "codegen-properties": {
                "initial": "initialPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/box.html#propdef-padding-top"
            }
        },
        "page": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-page",
                "url": "https://www.w3.org/TR/css3-page/#page"
            }
        },
        "page-break-after": {
            "values": [
                "auto",
                "always",
                "avoid",
                "left",
                "right"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween",
                "name-for-methods": "BreakAfter",
                "converter": "PageBreakBetween"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-after"
            }
        },
        "page-break-before": {
            "values": [
                "auto",
                "always",
                "avoid",
                "left",
                "right"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween",
                "name-for-methods": "BreakBefore",
                "converter": "PageBreakBetween"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-before"
            }
        },
        "page-break-inside": {
            "values": [
                "auto",
                "avoid"
            ],
            "codegen-properties": {
                "initial": "initialBreakInside",
                "name-for-methods": "BreakInside",
                "converter": "PageBreakInside"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/page.html#propdef-page-break-inside"
            }
        },
        "paint-order": {
            "codegen-properties": {
                "converter": "PaintOrder"
            },
            "status": "supported",
            "specification": {
                "category": "css-text-fill-and-stroke",
                "obsolete-category": "svg",
                "obsolete-url": "https://www.w3.org/TR/SVG2/painting.html#PaintOrderProperty"
            }
        },
        "pointer-events": {
            "inherited": true,
            "values": [
                "visible",
                "none",
                "all",
                "auto",
                "visiblepainted",
                "visiblefill",
                "visiblestroke",
                "painted",
                "fill",
                "stroke"
            ],
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty"
            }
        },
        "position": {
            "values": [
                "static",
                "relative",
                "absolute",
                "fixed",
                {
                    "value": "-webkit-sticky",
                    "status": "experimental",
                    "url": "https://www.w3.org/TR/css-position-3/#valdef-position-sticky"
                }
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS2/visuren.html#propdef-position"
            }
        },
        "quotes": {
            "inherited": true,
            "codegen-properties": {
                "converter": "Quotes"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/generate.html#propdef-quotes"
            }
        },
        "r": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/shapes.html"
            }
        },
        "resize": {
            "inherited": true,
            "values": [
                "none",
                "both",
                "horizontal",
                "vertical",
                "auto"
            ],
            "codegen-properties": {
                "converter": "Resize"
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-resize"
            }
        },
        "right": {
            "codegen-properties": {
                "initial": "initialOffset",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-right"
            }
        },
        "rx": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/shapes.html"
            }
        },
        "ry": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/shapes.html"
            }
        },
        "shape-rendering": {
            "inherited": true,
            "values": [
                "auto",
                "optimizespeed",
                "crispedges",
                "geometricprecision"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty"
            }
        },
        "size": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-page",
                "url": "https://www.w3.org/TR/css3-page/#page-size-prop"
            }
        },
        "src": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#src-desc"
            }
        },
        "stop-color": {
            "codegen-properties": {
                "converter": "SVGColor",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/pservers.html#StopColorProperty"
            }
        },
        "stop-opacity": {
            "codegen-properties": {
                "converter": "Opacity",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/pservers.html#StopOpacityProperty"
            }
        },
        "stroke": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeProperty"
            }
        },
        "stroke-dasharray": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "StrokeDashArray",
                "converter": "StrokeDashArray",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDasharrayProperty"
            }
        },
        "stroke-dashoffset": {
            "inherited": true,
            "codegen-properties": {
                "initial": "initialZeroLength",
                "name-for-methods": "StrokeDashOffset",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeDashoffsetProperty"
            }
        },
        "stroke-linecap": {
            "inherited": true,
            "values": [
                "butt",
                "round",
                "square"
            ],
            "codegen-properties": {
                "name-for-methods": "CapStyle"
            },
            "status": "supported",
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linecap",
                "obsolete-category": "svg",
                "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeLinecapProperty"
            }
        },
        "stroke-linejoin": {
            "inherited": true,
            "values": [
                "miter",
                "round",
                "bevel"
            ],
            "codegen-properties": {
                "name-for-methods": "JoinStyle"
            },
            "status": "supported",
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linejoin",
                "obsolete-category": "svg",
                "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
            }
        },
        "stroke-miterlimit": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "StrokeMiterLimit",
                "converter": "Number<float>"
            },
            "status": "supported",
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-miterlimit",
                "obsolete-category": "svg",
                "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeMiterlimitProperty"
            }
        },
        "stroke-opacity": {
            "inherited": true,
            "codegen-properties": {
                "converter": "Opacity",
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG11/painting.html#StrokeOpacityProperty"
            }
        },
        "stroke-color": {
            "inherited": true,
            "codegen-properties": {
                "custom": "Value",
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "status": "supported",
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-color"
            }
        },
        "stroke-width": {
            "inherited": true,
            "codegen-properties": {
                "custom": "Value",
                "initial": "initialOneLength",
                "converter": "Length"
            },
            "status": "supported",
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-width",
                "obsolete-category": "svg",
                "obsolete-url": "https://www.w3.org/TR/SVG11/painting.html#StrokeWidthProperty"
            }
        },
        "speak": {
            "inherited": true,
            "values": [
                "none",
                "normal",
                "spell-out",
                "digits",
                "literal-punctuation",
                "no-punctuation"
            ],
            "specification": {
                "category": "css-speech",
                "url": "https://www.w3.org/TR/css3-speech/#speak"
            }
        },
        "table-layout": {
            "values": [
                "auto",
                "fixed"
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/tables.html#propdef-table-layout"
            }
        },
        "tab-size": {
            "inherited": true,
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#tab-size"
            }
        },
        "text-align": {
            "inherited": true,
            "values": [
                {
                    "value": "-webkit-auto",
                    "status": "non-standard"
                },
                "left",
                "right",
                "center",
                "justify",
                "-webkit-left",
                "-webkit-right",
                "-webkit-center",
                {
                    "value": "-webkit-match-parent",
                    "ur": "https://www.w3.org/TR/css-text-3/#text-align"
                },
                {
                    "value": "start",
                    "url": "https://www.w3.org/TR/css-text-3/#text-align"
                },
                {
                    "value": "end",
                    "url": "https://www.w3.org/TR/css-text-3/#text-align"
                }
            ],
            "codegen-properties": {
                "converter": "TextAlign",
                "custom": "Initial|Value"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/text.html#propdef-text-align"
            }
        },
        "text-anchor": {
            "inherited": true,
            "values": [
                "start",
                "middle",
                "end"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/text.html#TextAnchorProperty"
            }
        },
        "text-decoration": {
            "values": [
                "underline",
                "overline",
                "line-through",
                {
                    "value": "blink",
                    "status": "not considering"
                }
            ],
            "codegen-properties": {
                "converter": "TextDecoration"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS2/text.html#propdef-text-decoration"
            }
        },
        "text-indent": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/text.html#propdef-text-indent"
            }
        },
        "text-line-through": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through"
            }
        },
        "text-line-through-color": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-color"
            }
        },
        "text-line-through-mode": {
            "values": [
                "continuous",
                "skip-white-space"
            ],
            "status": "removed",
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-mode"
            }
        },
        "text-line-through-style": {
            "values": [
                "none",
                "solid",
                "double",
                "dashed",
                "dot-dash",
                "dot-dot-dash",
                "wave"
            ],
            "status": "removed",
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-style"
            }
        },
        "text-line-through-width": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-line-through-width"
            }
        },
        "text-overflow": {
            "values": [
                "clip",
                "ellipsis"
            ],
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-3/#propdef-text-overflow"
            }
        },
        "text-overline": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline"
            }
        },
        "text-overline-color": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-color"
            }
        },
        "text-overline-mode": {
            "values": [
                "continuous",
                "skip-white-space"
            ],
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-mode"
            }
        },
        "text-overline-style": {
            "values": [
                "none",
                "solid",
                "double",
                "dashed",
                "dot-dash",
                "dot-dot-dash",
                "wave"
            ],
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-style"
            }
        },
        "text-overline-width": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-overline-width"
            }
        },
        "text-shadow": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-shadow"
            }
        },
        "text-transform": {
            "inherited": true,
            "values": [
                "capitalize",
                "uppercase",
                "lowercase",
                "none"
            ],
            "codegen-properties": {
                "aliases": [
                    "-epub-text-transform"
                ]
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/text.html#propdef-text-transform"
            }
        },
        "text-underline": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline"
            }
        },
        "text-underline-color": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-color"
            }
        },
        "text-underline-mode": {
            "values": [
                "continuous",
                "skip-white-space"
            ],
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-mode"
            }
        },
        "text-underline-style": {
            "values": [
                "none",
                "solid",
                "double",
                "dashed",
                "dot-dash",
                "dot-dot-dash",
                "wave"
            ],
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-style"
            }
        },
        "text-underline-width": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": "removed",
            "specification": {
                "category": "css3-text",
                "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/#text-underline-width"
            }
        },
        "top": {
            "codegen-properties": {
                "initial": "initialOffset",
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-top"
            }
        },
        "transition": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-transition"
                ],
                "longhands": [
                    "transition-property",
                    "transition-duration",
                    "transition-timing-function",
                    "transition-delay"
                ]
            },
            "specification": {
                "category": "css-transitions",
                "url": "https://www.w3.org/TR/css3-transitions/#transition-shorthand-property"
            }
        },
        "transition-delay": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-transition-delay"
                ],
                "name-for-methods": "Delay"
            },
            "specification": {
                "category": "css-transitions",
                "url": "https://www.w3.org/TR/css3-transitions/#transition-delay"
            }
        },
        "transition-duration": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-transition-duration"
                ],
                "name-for-methods": "Duration"
            },
            "specification": {
                "category": "css-transitions",
                "url": "https://www.w3.org/TR/css3-transitions/#transition-duration"
            }
        },
        "transition-property": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-transition-property"
                ],
                "name-for-methods": "Property"
            },
            "specification": {
                "category": "css-transitions",
                "url": "https://www.w3.org/TR/css3-transitions/#transition-property"
            }
        },
        "transition-timing-function": {
            "animatable": true,
            "codegen-properties": {
                "aliases": [
                    "-webkit-transition-timing-function"
                ],
                "name-for-methods": "TimingFunction"
            },
            "specification": {
                "category": "css-transitions",
                "url": "https://www.w3.org/TR/css3-transitions/#transition-timing-function"
            }
        },
        "unicode-bidi": {
            "values": [
                "normal",
                "embed",
                "bidi-override",
                {
                    "value": "isolate",
                    "url": "https://www.w3.org/TR/css-writing-modes-3/#valdef-unicode-bidi-isolate"
                },
                {
                    "value": "isolate-override",
                    "url": "https://www.w3.org/TR/css-writing-modes-3/#valdef-unicode-bidi-isolate-override"
                },
                {
                    "value": "plaintext",
                    "url": "https://www.w3.org/TR/css-writing-modes-3/#valdef-unicode-bidi-plaintext"
                },
                {
                    "value": "-webkit-isolate",
                    "status": "deprecated"
                },
                {
                    "value": "-webkit-isolate-override",
                    "status": "deprecated"
                },
                {
                    "value": "-webkit-plaintext",
                    "status": "deprecated"
                }
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-unicode-bidi"
            }
        },
        "unicode-range": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-fonts",
                "url": "https://www.w3.org/TR/css-fonts-3/#descdef-unicode-range"
            }
        },
        "vector-effect": {
            "values": [
                "none",
                "non-scaling-stroke"
            ],
            "codegen-properties": {
                "svg": true
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVGTiny12/painting.html#VectorEffectProperty"
            }
        },
        "vertical-align": {
            "codegen-properties": {
                "custom": "Value"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#propdef-vertical-align"
            }
        },
        "visibility": {
            "inherited": true,
            "values": [
                "visible",
                "hidden",
                "collapse"
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visufx.html#propdef-visibility"
            }
        },
        "white-space": {
            "inherited": true,
            "values": [
                "normal",
                "pre",
                "pre-wrap",
                "pre-line",
                "nowrap"
            ],
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/text.html#propdef-white-space"
            }
        },
        "widows": {
            "inherited": true,
            "codegen-properties": {
                "auto-functions": true
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/page.html#propdef-orphans"
            }
        },
        "width": {
            "codegen-properties": {
                "initial": "initialSize",
                "converter": "LengthSizing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visudet.html#the-width-property"
            }
        },
        "will-change": {
            "codegen-properties": {
                "custom": "Value"
            },
            "specification": {
                "category": "css-will-change",
                "url": "https://www.w3.org/TR/css-will-change/#propdef-will-change"
            }
        },
        "word-break": {
            "inherited": true,
            "values": [
                "normal",
                "break-all",
                "keep-all",
                "break-word"
            ],
            "codegen-properties": {
                "aliases": [
                    "-epub-word-break"
                ]
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#word-break"
            }
        },
        "word-spacing": {
            "inherited": true,
            "codegen-properties": {
                "conditional-converter": "WordSpacing"
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/text.html#propdef-word-spacing"
            }
        },
        "word-wrap": {
            "inherited": true,
            "values": [
                "normal",
                "break-word"
            ],
            "codegen-properties": {
                "name-for-methods": "OverflowWrap"
            },
            "status": {
                "status": "obsolete",
                "comment": "Replaced by overflow-wrap"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#overflow-wrap"
            }
        },
        "x": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/"
            }
        },
        "y": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "svg",
                "url": "https://www.w3.org/TR/SVG/"
            }
        },
        "z-index": {
            "codegen-properties": {
                "auto-functions": true
            },
            "specification": {
                "category": "css-22",
                "url": "https://www.w3.org/TR/CSS22/visuren.html#propdef-z-index"
            }
        },
        "alt": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-alt"
                ],
                "name-for-methods": "ContentAltText",
                "custom": "Value"
            },
            "status": "non-standard"
        },
        "-webkit-animation-trigger": {
            "animatable": true,
            "codegen-properties": {
                "name-for-methods": "Trigger",
                "enable-if": "ENABLE_CSS_ANIMATIONS_LEVEL_2"
            },
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-appearance": {
            "values": [
                "checkbox",
                "radio",
                "push-button",
                "square-button",
                "button",
                "button-bevel",
                "default-button",
                "inner-spin-button",
                "listbox",
                "listitem",
                "media-controls-background",
                "media-controls-dark-bar-background",
                "media-controls-fullscreen-background",
                "media-controls-light-bar-background",
                "media-current-time-display",
                "media-enter-fullscreen-button",
                "media-exit-fullscreen-button",
                "media-fullscreen-volume-slider",
                "media-fullscreen-volume-slider-thumb",
                "media-mute-button",
                "media-overlay-play-button",
                "media-play-button",
                "media-return-to-realtime-button",
                "media-rewind-button",
                "media-seek-back-button",
                "media-seek-forward-button",
                "media-slider",
                "media-sliderthumb",
                "media-time-remaining-display",
                "media-toggle-closed-captions-button",
                "media-volume-slider",
                "media-volume-slider-container",
                "media-volume-slider-mute-button",
                "media-volume-sliderthumb",
                "menulist",
                "menulist-button",
                "menulist-text",
                "menulist-textfield",
                "meter",
                "progress-bar",
                "progress-bar-value",
                "slider-horizontal",
                "slider-vertical",
                "sliderthumb-horizontal",
                "sliderthumb-vertical",
                "caret",
                "searchfield",
                "searchfield-decoration",
                "searchfield-results-decoration",
                "searchfield-results-button",
                "searchfield-cancel-button",
                "snapshotted-plugin-overlay",
                "textfield",
                "relevancy-level-indicator",
                "continuous-capacity-level-indicator",
                "discrete-capacity-level-indicator",
                "rating-level-indicator",
                "image-controls-button",
                "-apple-pay-button",
                "textarea",
                "attachment",
                "caps-lock-indicator",
                "none"
            ],
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-4/#propdef-appearance"
            }
        },
        "-webkit-aspect-ratio": {
            "inherited": true,
            "codegen-properties": {
                "custom": "All"
            },
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-backface-visibility": {
            "values": [
                "visible",
                "hidden"
            ],
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-backface-visibility"
            }
        },
        "-webkit-background-clip": {
            "codegen-properties": {
                "name-for-methods": "Clip",
                "fill-layer-property": true
            }
        },
        "-webkit-background-composite": {
            "values": [
                "clear",
                "copy",
                "source-over",
                "source-in",
                "source-out",
                "source-atop",
                "destination-over",
                "destination-in",
                "destination-out",
                "destination-atop",
                "xor",
                "plus-darker",
                "highlight",
                "plus-lighter"
            ],
            "codegen-properties": {
                "name-for-methods": "Composite",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental",
                "comment": "Partially subsumed by background-blend-mode."
            }
        },
        "-webkit-background-origin": {
            "codegen-properties": {
                "name-for-methods": "Origin",
                "fill-layer-property": true
            }
        },
        "-webkit-background-size": {
            "codegen-properties": {
                "name-for-methods": "Size",
                "fill-layer-property": true
            },
            "status": {
                "comment": "Differs from background-size only in the interpretation of a single value: '-webkit-background-size: l;' is equivalent to 'background-size: l l;' whereas 'background-size: l;' is equivalent to 'background-size: l auto;'"
            }
        },
        "-webkit-border-after": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-border-after-width",
                    "-webkit-border-after-style",
                    "-webkit-border-after-color"
                ]
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-after-color": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-after-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-after-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-before": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-border-before-width",
                    "-webkit-border-before-style",
                    "-webkit-border-before-color"
                ]
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-before-color": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-before-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-before-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-end": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-border-end-width",
                    "-webkit-border-end-style",
                    "-webkit-border-end-color"
                ]
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-end-color": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-end-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-end-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-fit": {
            "values": [
                "border",
                "lines"
            ],
            "status": "non-standard"
        },
        "-webkit-border-horizontal-spacing": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "HorizontalBorderSpacing",
                "converter": "ComputedLength<float>"
            },
            "status": "non-standard"
        },
        "-webkit-border-image": {
            "codegen-properties": {
                "initial": "initialNinePieceImage",
                "converter": "BorderImage<CSSPropertyWebkitBorderImage>"
            }
        },
        "-webkit-border-radius": {
            "codegen-properties": {
                "longhands": [
                    "border-top-left-radius",
                    "border-top-right-radius",
                    "border-bottom-right-radius",
                    "border-bottom-left-radius"
                ]
            },
            "status": {
                "comment": "Differs from border-radius only in the interpretation of a value consisting of two lengths: '-webkit-border-radius: l1 l2;' is equivalent to 'border-radius: l1 / l2;'."
            }
        },
        "-webkit-border-start": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-border-start-width",
                    "-webkit-border-start-style",
                    "-webkit-border-start-color"
                ]
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-start-color": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-start-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-start-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-border-vertical-spacing": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "VerticalBorderSpacing",
                "converter": "ComputedLength<float>"
            },
            "status": "non-standard"
        },
        "-webkit-box-align": {
            "values": [
                "stretch",
                "start",
                "end",
                "center",
                "baseline"
            ],
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-align"
            }
        },
        "-webkit-box-direction": {
            "inherited": true,
            "values": [
                "normal",
                "reverse"
            ],
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-direction"
            }
        },
        "-webkit-box-flex": {
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-flex"
            }
        },
        "-webkit-box-flex-group": {
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-flex-group"
            }
        },
        "-webkit-box-lines": {
            "values": [
                "single",
                "multiple"
            ],
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-lines"
            }
        },
        "-webkit-box-ordinal-group": {
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-ordinal-group"
            }
        },
        "-webkit-box-orient": {
            "values": [
                "horizontal",
                "vertical",
                "inline-axis",
                "block-axis"
            ],
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-orient"
            }
        },
        "-webkit-box-pack": {
            "values": [
                "start",
                "end",
                "center",
                "justify"
            ],
            "status": "obsolete",
            "specification":  {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#propdef-box-pack"
            }
        },
        "-webkit-box-reflect": {
            "codegen-properties": {
                "converter": "Reflection"
            },
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-box-shadow": {
            "codegen-properties": {
                "custom": "All"
            },
            "status": {
                "comment": "Differs from box-shadow in its treatement of blur radii > 8px. Let -webkit-box-shadow blur, 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)."
            }
        },
        "-webkit-column-axis": {
            "values": [
                "horizontal",
                "vertical",
                "auto"
            ],
            "status": {
                "status": "experimental",
                "comment": "Added in https://bugs.webkit.org/show_bug.cgi?id=71028"
            }
        },
        "-webkit-column-break-after": {
            "values": [
                "auto",
                "always",
                "avoid",
                "left",
                "right"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween",
                "name-for-methods": "BreakAfter",
                "converter": "ColumnBreakBetween"
            },
            "status": {
                "status": "experimental"
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#break-after"
            }
        },
        "-webkit-column-break-before": {
            "values": [
                "auto",
                "always",
                "avoid",
                "left",
                "right"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween",
                "name-for-methods": "BreakBefore",
                "converter": "ColumnBreakBetween"
            },
            "status": {
                "status": "experimental"
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#break-before"
            }
        },
        "-webkit-column-break-inside": {
            "values": [
                "auto",
                "avoid"
            ],
            "codegen-properties": {
                "initial": "initialBreakInside",
                "name-for-methods": "BreakInside",
                "converter": "ColumnBreakInside"
            },
            "status": {
                "status": "experimental"
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#break-inside"
            }
        },
        "column-count": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-count"
                ],
                "auto-functions": true
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-count"
            }
        },
        "column-fill": {
            "values": [
                "auto",
                "balance"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-fill"
                ]
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-fill"
            }
        },
        "column-gap": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-gap"
                ],
                "custom": "All"
            },
            "specification":  {
                "category": "css-multicol",
                "url": ""
            }
        },
        "-webkit-column-progression": {
            "values": [
                "normal",
                "reverse"
            ],
            "status": {
                "status": "experimental",
                "comment": "Added in https://bugs.webkit.org/show_bug.cgi?id=89315"
            }
        },
        "column-rule": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-rule"
                ],
                "longhands": [
                    "column-rule-width",
                    "column-rule-style",
                    "column-rule-color"
                ]
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-rule"
            }
        },
        "column-rule-color": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-rule-color"
                ],
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-rule-color"
            }
        },
        "column-rule-style": {
            "values": [
                "none",
                "hidden",
                "inset",
                "groove",
                "outset",
                "ridge",
                "dotted",
                "dashed",
                "solid",
                "double"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-rule-style"
                ],
                "initial": "initialBorderStyle"
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-rule-style"
            }
        },
        "column-rule-width": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-rule-width"
                ],
                "converter": "LineWidth<unsigned short>"
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-rule-width"
            }
        },
        "column-span": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-span"
                ]
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-span0"
            }
        },
        "column-width": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-column-width"
                ],
                "converter": "ComputedLength<float>",
                "auto-functions": true
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#column-width"
            }
        },
        "columns": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-columns"
                ],
                "longhands": [
                    "column-width",
                    "column-count"
                ]
            },
            "specification":  {
                "category": "css-multicol",
                "url": "https://www.w3.org/TR/css3-multicol/#columns"
            }
        },
        "-webkit-box-decoration-break": {
            "values": [
                "clone",
                "slice"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_BOX_DECORATION_BREAK"
            },
            "status": {
                "status": "experimental"
            },
            "specification":  {
                "category": "css-break",
                "url": "https://www.w3.org/TR/css-break-3/#propdef-box-decoration-break"
            }
        },
        "mix-blend-mode": {
            "values": [
                "normal",
                "multiply",
                "screen",
                "overlay",
                "darken",
                "lighten",
                "color-dodge",
                "color-burn",
                "hard-light",
                "soft-light",
                "difference",
                "exclusion",
                "plus-darker",
                "plus-lighter"
            ],
            "codegen-properties": {
                "name-for-methods": "BlendMode",
                "enable-if": "ENABLE_CSS_COMPOSITING"
            },
            "specification":  {
                "category": "css-compositing",
                "url": "https://www.w3.org/TR/compositing-1/#propdef-mix-blend-mode"
            }
        },
        "isolation": {
            "values": [
                "auto",
                "isolate"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_COMPOSITING"
            },
            "specification":  {
                "category": "css-compositing",
                "url": "https://www.w3.org/TR/compositing-1/#isolation"
            }
        },
        "filter": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-filter"
                ],
                "conditional-converter": "FilterOperations"
            },
            "specification":  {
                "category": "css-filters",
                "url": "https://www.w3.org/TR/filter-effects/#FilterProperty"
            }
        },
        "align-content": {
            "values": [
                "flex-start",
                "flex-end",
                "center",
                "space-between",
                "space-around",
                "stretch"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-align-content"
                ],
                "initial": "initialContentAlignment",
                "converter": "ContentAlignmentData"
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-align-content"
            }
        },
        "align-items": {
            "values": [
                "flex-start",
                "flex-end",
                "center",
                "baseline",
                "stretch"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-align-items"
                ],
                "initial": "initialDefaultAlignment",
                "converter": "SelfOrDefaultAlignmentData"
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-align-items",
                "keywords": ["flexbox, align-items"]
            }
        },
        "align-self": {
            "values": [
                "auto",
                "flex-start",
                "flex-end",
                "center",
                "baseline",
                "stretch"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-align-self"
                ],
                "initial": "initialSelfAlignment",
                "converter": "SelfOrDefaultAlignmentData"
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-align-self"
            }
        },
        "flex": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex"
                ],
                "longhands": [
                    "flex-grow",
                    "flex-shrink",
                    "flex-basis"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex"
            }
        },
        "flex-basis": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex-basis"
                ],
                "converter": "LengthOrAuto"
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex-basis"
            }
        },
        "flex-direction": {
            "values": [
                "row",
                "row-reverse",
                "column",
                "column-reverse"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex-direction"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex-direction"
            }
        },
        "flex-flow": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex-flow"
                ],
                "longhands": [
                    "flex-direction",
                    "flex-wrap"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex-flow"
            }
        },
        "flex-grow": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex-grow"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex-grow"
            }
        },
        "flex-shrink": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex-shrink"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex-shrink"
            }
        },
        "flex-wrap": {
            "values": [
                "nowrap",
                "wrap",
                "wrap-reverse"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-flex-wrap"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-flex-wrap"
            }
        },
        "justify-content": {
            "values": [
                "flex-start",
                "flex-end",
                "center",
                "space-between",
                "space-around"
            ],
            "codegen-properties": {
                "aliases": [
                    "-webkit-justify-content"
                ],
                "initial": "initialContentAlignment",
                "converter": "ContentAlignmentData"
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#propdef-justify-content"
            }
        },
        "-webkit-backdrop-filter": {
            "codegen-properties": {
                "conditional-converter": "FilterOperations",
                "enable-if": "ENABLE_FILTERS_LEVEL_2"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-filters",
                "url": "https://drafts.fxtf.org/filters-2/#BackdropFilterProperty"
            }
        },
        "-webkit-font-size-delta": {
            "codegen-properties": {
                "skip-builder": true,
                "internal-only": true
            },
            "status": "non-standard"
        },
        "justify-self": {
            "codegen-properties": {
                "initial": "initialSelfAlignment",
                "converter": "SelfOrDefaultAlignmentData"
            },
            "specification": {
                "category": "css-align",
                "url": "https://www.w3.org/TR/css-align-3/#propdef-justify-self"
            }
        },
        "justify-items": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-justify-items"
                ],
                "initial": "initialSelfAlignment",
                "converter": "SelfOrDefaultAlignmentData"
            },
            "specification": {
                "category": "css-align",
                "url": "https://www.w3.org/TR/css-align-3/#propdef-justify-items"
            }
        },
        "place-content": {
            "codegen-properties": {
                "longhands": [
                    "align-content",
                    "justify-content"
                ]
            },
            "specification": {
                "category": "css-align",
                "url": "https://www.w3.org/TR/css-align-3/#propdef-place-content"
            }
        },
        "place-items": {
            "codegen-properties": {
                "longhands": [
                    "align-items",
                    "justify-items"
                ]
            },
            "specification": {
                "category": "css-align",
                "url": "https://drafts.csswg.org/css-align-3/#propdef-place-items"
            }
        },
        "place-self": {
            "codegen-properties": {
                "longhands": [
                    "align-self",
                    "justify-self"
                ]
            },
            "specification": {
                "category": "css-align",
                "url": "https://drafts.csswg.org/css-align-3/#propdef-place-self"
            }
        },
        "grid": {
            "codegen-properties": {
                "longhands": [
                    "grid-template-rows",
                    "grid-template-columns",
                    "grid-template-areas",
                    "grid-auto-flow",
                    "grid-auto-rows",
                    "grid-auto-columns",
                    "grid-column-gap",
                    "grid-row-gap"
                ]
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid"
            }
        },
        "grid-area": {
            "codegen-properties": {
                "longhands": [
                    "grid-row-start",
                    "grid-column-start",
                    "grid-row-end",
                    "grid-column-end"
                ]
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-area"
            }
        },
        "grid-auto-columns": {
            "codegen-properties": {
                "converter": "GridTrackSizeList"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-auto-columns"
            }
        },
        "grid-auto-rows": {
            "codegen-properties": {
                "converter": "GridTrackSizeList"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-auto-rows"
            }
        },
        "grid-column-end": {
            "codegen-properties": {
                "name-for-methods": "GridItemColumnEnd",
                "conditional-converter": "GridPosition"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-column-end"
            }
        },
        "grid-column-gap": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-column-gap"
            }
        },
        "grid-column-start": {
            "codegen-properties": {
                "name-for-methods": "GridItemColumnStart",
                "conditional-converter": "GridPosition"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-column-start"
            }
        },
        "grid-template": {
            "codegen-properties": {
                "longhands": [
                    "grid-template-rows",
                    "grid-template-columns",
                    "grid-template-areas"
                ]
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-template"
            }
        },
        "grid-template-columns": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-template-columns"
            }
        },
        "grid-template-rows": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-template-rows"
            }
        },
        "grid-row-end": {
            "codegen-properties": {
                "name-for-methods": "GridItemRowEnd",
                "conditional-converter": "GridPosition"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-row-end"
            }
        },
        "grid-row-gap": {
            "codegen-properties": {
                "initial": "initialZeroLength",
                "converter": "Length"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-row-gap"
            }
        },
        "grid-row-start": {
            "codegen-properties": {
                "name-for-methods": "GridItemRowStart",
                "conditional-converter": "GridPosition"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-row-start"
            }
        },
        "grid-column": {
            "codegen-properties": {
                "longhands": [
                    "grid-column-start",
                    "grid-column-end"
                ]
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-column"
            }
        },
        "grid-gap": {
            "codegen-properties": {
                "longhands": [
                    "grid-row-gap",
                    "grid-column-gap"
                ]
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-gap"
            }
        },
        "grid-row": {
            "codegen-properties": {
                "longhands": [
                    "grid-row-start",
                    "grid-row-end"
                ]
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-row"
            }
        },
        "grid-template-areas": {
            "codegen-properties": {
                "custom": "All"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-template-areas"
            }
        },
        "grid-auto-flow": {
            "codegen-properties": {
                "converter": "GridAutoFlow"
            },
            "specification": {
                "category": "css-grid",
                "url": "https://www.w3.org/TR/css-grid-1/#propdef-grid-auto-flow"
            }
        },
        "-webkit-hyphenate-character": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "HyphenationString",
                "converter": "StringOrAuto"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-4/#hyphenate-character"
            }
        },
        "-webkit-hyphenate-limit-after": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "HyphenationLimitAfter",
                "converter": "NumberOrAuto<short>"
            },
            "status": "non-standard"
        },
        "-webkit-hyphenate-limit-before": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "HyphenationLimitBefore",
                "converter": "NumberOrAuto<short>"
            },
            "status": "non-standard"
        },
        "-webkit-hyphenate-limit-lines": {
            "inherited": true,
            "codegen-properties": {
                "name-for-methods": "HyphenationLimitLines",
                "converter": "WebkitHyphenateLimitLines"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-4/#propdef-hyphenate-limit-lines"
            }
        },
        "-webkit-hyphens": {
            "inherited": true,
            "values": [
                "none",
                "manual",
                "auto"
            ],
            "codegen-properties": {
                "aliases": [
                    "-epub-hyphens"
                ]
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#hyphens-property"
            }
        },
        "-webkit-initial-letter": {
            "codegen-properties": {
                "converter": "InitialLetter"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-inline",
                "url": "https://www.w3.org/TR/css-inline/#propdef-initial-letter"
            }
        },
        "-webkit-line-box-contain": {
            "values": [
                "block",
                "inline",
                "font",
                "glyphs",
                "replaced",
                "inline-box",
                "initial-letter"
            ],
            "inherited": true,
            "codegen-properties": {
                "converter": "LineBoxContain"
            },
            "status": {
                "status": "obsolete",
                "comment": "Added in https://trac.webkit.org/changeset/81684"
            }
        },
        "-webkit-line-align": {
            "inherited": true,
            "values": [
                "none",
                "edges"
            ],
            "status": {
                "status": "obsolete",
                "comment": "Added in https://trac.webkit.org/changeset/108133"
            },
            "specification": {
                "category": "css-line-grid",
                "url": "https://www.w3.org/TR/css-line-grid-1/"
            }
        },
        "line-break": {
            "inherited": true,
            "values": [
                "auto",
                "loose",
                "normal",
                "strict",
                {
                    "value": "after-white-space",
                    "status": "non-standard",
                    "comment": "Added in https://trac.webkit.org/changeset/7763"
                }
            ],
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#line-break"
            },
            "codegen-properties": {
                "aliases": [
                    "-webkit-line-break"
                ]
            }
        },
        "-webkit-line-clamp": {
            "status": "non-standard"
        },
        "-webkit-line-grid": {
            "inherited": true,
            "codegen-properties": {
                "converter": "StringOrNone"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-line-grid",
                "url": "https://www.w3.org/TR/css-line-grid-1/#propdef-line-grid"
            }
        },
        "-webkit-line-snap": {
            "inherited": true,
            "values": [
                "none",
                "baseline",
                "contain"
            ],
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-line-grid",
                "url": "https://www.w3.org/TR/css-line-grid-1/#line-snap"
            }
        },
        "-webkit-box-snap": {
            "inherited": true,
            "values": [
                "block-start",
                "block-end",
                "center",
                "first-baseline",
                "last-baseline"
            ],
            "codegen-properties": {
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-line-grid",
                "url": "https://www.w3.org/TR/css-line-grid-1/#box-snap"
            }
        },
        "-webkit-logical-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-logical-height": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-margin-after-collapse": {
            "values": [
                "collapse",
                "separate",
                "discard"
            ],
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-margin-before-collapse": {
            "values": [
                "collapse",
                "separate",
                "discard"
            ],
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-margin-bottom-collapse": {
            "values": [
                "collapse",
                "separate",
                "discard"
            ],
            "codegen-properties": {
                "name-for-methods": "MarginAfterCollapse"
            },
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-margin-top-collapse": {
            "values": [
                "collapse",
                "separate",
                "discard"
            ],
            "codegen-properties": {
                "name-for-methods": "MarginBeforeCollapse"
            },
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-margin-collapse": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-margin-before-collapse",
                    "-webkit-margin-after-collapse"
                ]
            },
            "status": {
                "status": "experimental"
            }
        },
        "-webkit-margin-after": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-margin-before": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-margin-end": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-margin-start": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-marquee": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-marquee-direction",
                    "-webkit-marquee-increment",
                    "-webkit-marquee-repetition",
                    "-webkit-marquee-style",
                    "-webkit-marquee-speed"
                ]
            },
            "status": "non-standard"
        },
        "-webkit-marquee-direction": {
            "values": [
                "forwards",
                "backwards",
                "ahead",
                "reverse",
                "left",
                "right",
                "down",
                "up",
                "auto"
            ],
            "status": "non-standard"
        },
        "-webkit-marquee-increment": {
            "codegen-properties": {
                "conditional-converter": "MarqueeIncrement"
            },
            "status": "non-standard"
        },
        "-webkit-marquee-repetition": {
            "codegen-properties": {
                "name-for-methods": "MarqueeLoopCount",
                "converter": "MarqueeRepetition"
            },
            "status": "non-standard"
        },
        "-webkit-marquee-speed": {
            "codegen-properties": {
                "converter": "MarqueeSpeed"
            },
            "status": "non-standard"
        },
        "-webkit-marquee-style": {
            "values": [
                "none",
                "slide",
                "scroll",
                "alternate"
            ],
            "codegen-properties": {
                "name-for-methods": "MarqueeBehavior"
            },
            "status": "non-standard"
        },
        "-webkit-mask": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-mask-image",
                    "-webkit-mask-source-type",
                    "-webkit-mask-position-x",
                    "-webkit-mask-position-y",
                    "-webkit-mask-size",
                    "-webkit-mask-repeat-x",
                    "-webkit-mask-repeat-y",
                    "-webkit-mask-origin",
                    "-webkit-mask-clip"
                ]
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask"
            }
        },
        "-webkit-mask-box-image": {
            "codegen-properties": {
                "initial": "initialNinePieceImage",
                "converter": "BorderMask<CSSPropertyWebkitMaskBoxImage>"
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-mask-box-image-outset": {
            "codegen-properties": {
                "custom": "All"
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-mask-box-image-repeat": {
            "codegen-properties": {
                "custom": "All"
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-mask-box-image-slice": {
            "codegen-properties": {
                "custom": "All"
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-mask-box-image-source": {
            "codegen-properties": {
                "converter": "StyleImage<CSSPropertyWebkitMaskBoxImageSource>"
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-mask-box-image-width": {
            "codegen-properties": {
                "custom": "All"
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-mask-clip": {
            "codegen-properties": {
                "name-for-methods": "Clip",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-clip"
            }
        },
        "-webkit-mask-composite": {
            "codegen-properties": {
                "name-for-methods": "Composite",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-composite"
            }
        },
        "-webkit-mask-image": {
            "codegen-properties": {
                "name-for-methods": "Image",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-image"
            }
        },
        "-webkit-mask-origin": {
            "codegen-properties": {
                "name-for-methods": "Origin",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-origin"
            }
        },
        "-webkit-mask-position": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-mask-position-x",
                    "-webkit-mask-position-y"
                ]
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position"
            }
        },
        "-webkit-mask-position-x": {
            "codegen-properties": {
                "name-for-methods": "XPosition",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position"
            }
        },
        "-webkit-mask-position-y": {
            "codegen-properties": {
                "name-for-methods": "YPosition",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position"
            }
        },
        "-webkit-mask-repeat": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-mask-repeat-x",
                    "-webkit-mask-repeat-y"
                ]
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-repeat"
            }
        },
        "-webkit-mask-repeat-x": {
            "codegen-properties": {
                "name-for-methods": "RepeatX",
                "fill-layer-property": true,
                "internal-only": true
            }
        },
        "-webkit-mask-repeat-y": {
            "codegen-properties": {
                "name-for-methods": "RepeatY",
                "fill-layer-property": true,
                "internal-only": true
            }
        },
        "-webkit-mask-size": {
            "codegen-properties": {
                "name-for-methods": "Size",
                "fill-layer-property": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-masking",
                "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-size"
            }
        },
        "-webkit-mask-source-type": {
            "codegen-properties": {
                "name-for-methods": "MaskSourceType",
                "fill-layer-property": true
            },
            "status": "non-standard"
,
            "specification": {
                "category": "css-masking"
            }
        },
        "-webkit-max-logical-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-max-logical-height": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-min-logical-width": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-min-logical-height": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-nbsp-mode": {
            "inherited": true,
            "values": [
                "normal",
                "space"
            ],
            "codegen-properties": {
                "initial": "initialNBSPMode",
                "setter": "setNBSPMode"
            },
            "status": "non-standard"
        },
        "order": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-order"
                ]
            },
            "specification": {
                "category": "css-flexbox",
                "url": "https://www.w3.org/TR/css-flexbox-1/#order-property"
            }
        },
        "-webkit-padding-after": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-padding-before": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-padding-end": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "-webkit-padding-start": {
            "codegen-properties": {
                "skip-builder": true
            },
            "specification": {
                "category": "css-logical-props"
            }
        },
        "perspective": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-perspective"
                ],
                "conditional-converter": "Perspective"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#transform-style-property"
            }
        },
        "perspective-origin": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-perspective-origin"
                ],
                "longhands": [
                    "perspective-origin-x",
                    "perspective-origin-y"
                ]
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin"
            }
        },
        "perspective-origin-x": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-perspective-origin-x"
                ],
                "converter": "PositionComponentX"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin"
            }
        },
        "perspective-origin-y": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-perspective-origin-y"
                ],
                "converter": "PositionComponentY"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-perspective-origin"
            }
        },
        "-webkit-print-color-adjust": {
            "inherited": true,
            "values": [
                "exact",
                "economy"
            ],
            "status": "non-standard"
        },
        "-webkit-rtl-ordering": {
            "inherited": true,
            "values": [
                "logical",
                "visual"
            ],
            "codegen-properties": {
                "initial": "initialRTLOrdering",
                "setter": "setRTLOrdering"
            },
            "status": "non-standard"
        },
        "-webkit-svg-shadow": {
            "codegen-properties": {
                "custom": "All",
                "svg": true
            },
            "status": "non-standard"
        },
        "-webkit-text-combine": {
            "inherited": true,
            "values": [
                "none",
                "horizontal"
            ],
            "codegen-properties": {
                "aliases": [
                    "-epub-text-combine"
                ]
            },
            "status": "non-standard"
        },
        "-webkit-text-align-last": {
            "inherited": true,
            "values": [
                "left",
                "right",
                "center",
                "justify",
                "start",
                "end",
                "auto"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_CSS3_TEXT"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#text-align-last-property"
            }
        },
        "-webkit-text-justify": {
            "inherited": true,
            "values": [
                "inter-word",
                "distribute",
                "auto",
                "none"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_CSS3_TEXT"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text",
                "url": "https://www.w3.org/TR/css-text-3/#text-justify"
            }
        },
        "-webkit-text-decoration": {
            "codegen-properties": {
                "longhands": [
                    "-webkit-text-decoration-line",
                    "-webkit-text-decoration-style",
                    "-webkit-text-decoration-color"
                ]
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-decoration"
            }
        },
        "-webkit-text-decoration-line": {
            "codegen-properties": {
                "name-for-methods": "TextDecoration",
                "converter": "TextDecoration"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-decoration-line"
            }
        },
        "-webkit-text-decoration-style": {
            "values": [
                "solid",
                "double",
                "dotted",
                "dashed",
                "wavy"
            ],
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-decoration-style"
            }
        },
        "-webkit-text-decoration-color": {
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-decoration-color"
            }
        },
        "-webkit-text-decoration-skip": {
            "inherited": true,
            "codegen-properties": {
                "converter": "TextDecorationSkip"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-decoration-skip"
            }
        },
        "-webkit-text-underline-position": {
            "inherited": true,
            "codegen-properties": {
                "converter": "TextUnderlinePosition"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-underline-position"
            }
        },
        "-webkit-text-decorations-in-effect": {
            "inherited": true,
            "codegen-properties": {
                "skip-builder": true
            },
            "status": "non-standard"
        },
        "-webkit-text-emphasis": {
            "inherited": true,
            "codegen-properties": {
                "aliases": [
                    "-epub-text-emphasis",
                    "text-emphasis"
                ],
                "longhands": [
                    "-webkit-text-emphasis-style",
                    "-webkit-text-emphasis-color"
                ]
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-emphasis"
            }
        },
        "-webkit-text-emphasis-color": {
            "inherited": true,
            "codegen-properties": {
                "aliases": [
                    "-epub-text-emphasis-color",
                    "text-emphasis-color"
                ],
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-emphasis-color"
            }
        },
        "-webkit-text-emphasis-position": {
            "inherited": true,
            "codegen-properties": {
                "aliases": [
                    "text-emphasis-position"
                ],
                "converter": "TextEmphasisPosition"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-emphasis-position"
            }
        },
        "-webkit-text-emphasis-style": {
            "inherited": true,
            "codegen-properties": {
                "aliases": [
                    "-epub-text-emphasis-style",
                    "text-emphasis-style"
                ],
                "custom": "All"
            },
            "status": {
                "status": "experimental"
            },
            "specification": {
                "category": "css-text-decor",
                "url": "https://www.w3.org/TR/css-text-decor-3/#text-emphasis-style"
            }
        },
        "-webkit-text-fill-color": {
            "inherited": true,
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "status": {
                "status": "non-standard",
                "comment": "Obsoleted by fill-color"
            }
        },
        "-webkit-text-security": {
            "inherited": true,
            "values": [
                "disc",
                "circle",
                "square",
                "none"
            ],
            "status": "non-standard"
        },
        "-webkit-text-stroke": {
            "inherited": true,
            "codegen-properties": {
                "longhands": [
                    "-webkit-text-stroke-width",
                    "-webkit-text-stroke-color"
                ]
            },
            "status": "non-standard"
        },
        "-webkit-text-stroke-color": {
            "inherited": true,
            "codegen-properties": {
                "initial": "invalidColor",
                "visited-link-color-support": true
            },
            "status": {
                "status": "non-standard",
                "comment": "Obsoleted by stroke-color"
            }
        },
        "-webkit-text-stroke-width": {
            "inherited": true,
            "codegen-properties": {
                "converter": "TextStrokeWidth"
            },
            "status": {
                "status": "non-standard",
                "comment": "Obsoleted by stroke-width"
            }
        },
        "transform": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-transform"
                ],
                "converter": "Transform"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#transform-property"
            }
        },
        "transform-box": {
            "values" : [
                "border-box",
                "fill-box",
                "view-box"
            ],
            "codegen-properties": {
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms/#propdef-transform-box"
            }
        },
        "transform-origin": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-transform-origin"
                ],
                "longhands": [
                    "transform-origin-x",
                    "transform-origin-y",
                    "transform-origin-z"
                ]
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-transform-origin"
            }
        },
        "transform-origin-x": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-transform-origin-x"
                ],
                "converter": "PositionComponentX"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-transform-origin"
            }
        },
        "transform-origin-y": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-transform-origin-y"
                ],
                "converter": "PositionComponentY"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-transform-origin"
            }
        },
        "transform-origin-z": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-transform-origin-z"
                ],
                "converter": "ComputedLength<float>"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#propdef-transform-origin"
            }
        },
        "transform-style": {
            "values": [
                "flat",
                "preserve-3d"
            ],
            "codegen-properties": {
                "name-for-methods": "TransformStyle3D"
            },
            "specification": {
                "category": "css-transforms",
                "url": "https://www.w3.org/TR/css-transforms-1/#transform-style-property"
            }
        },
        "-webkit-transform-style": {
            "values": [
                "flat",
                "preserve-3d"
            ],
            "codegen-properties": {
                "name-for-methods": "TransformStyle3D",
                "comment": "Keeping -webkit-transform-style around is how we'll detect legacy content. At that point, we'll have to add a custom builder and a new ETransformStyle3D type. FIXME: this never happened."
            }
        },
        "-webkit-user-drag": {
            "values": [
                "auto",
                "none",
                "element"
            ],
            "status": "non-standard"
        },
        "-webkit-user-modify": {
            "inherited": true,
            "values": [
                "read-only",
                "read-write",
                "read-write-plaintext-only"
            ],
            "status": "non-standard"
        },
        "-webkit-user-select": {
            "inherited": true,
            "values": [
                "element"
            ],
            "status": {
                "status": "experimental"
        },
            "specification": {
                "category": "css-ui",
                "url": "https://www.w3.org/TR/css-ui-4/#propdef-user-select"
            }
        },
        "-webkit-flow-into": {
            "codegen-properties": {
                "name-for-methods": "FlowThread",
                "converter": "StringOrNone",
                "enable-if": "ENABLE_CSS_REGIONS"
            },
            "specification": {
                "category": "css-regions",
                "url": "https://www.w3.org/TR/css-regions-1/#propdef-flow-into"
            }
        },
        "-webkit-flow-from": {
            "codegen-properties": {
                "name-for-methods": "RegionThread",
                "converter": "StringOrNone",
                "enable-if": "ENABLE_CSS_REGIONS"
            },
            "specification": {
                "category": "css-regions",
                "url": "https://www.w3.org/TR/css-regions-1/#propdef-flow-from"
            }
        },
        "-webkit-region-fragment": {
            "values": [
                "auto",
                "break"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_REGIONS"
            },
            "specification": {
                "category": "css-regions",
                "url": "https://www.w3.org/TR/css-regions-1/#propdef-region-fragment"
            }
        },
        "-webkit-region-break-after": {
            "values": [
                "auto",
                "always",
                "avoid",
                "left",
                "right"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween",
                "name-for-methods": "BreakAfter",
                "converter": "RegionBreakBetween",
                "enable-if": "ENABLE_CSS_REGIONS"
            },
            "specification": {
                "category": "css-regions",
                "url": "https://www.w3.org/TR/css-regions-1/#propdef-break-after"
            }
        },
        "-webkit-region-break-before": {
            "values": [
                "auto",
                "always",
                "avoid",
                "left",
                "right"
            ],
            "codegen-properties": {
                "initial": "initialBreakBetween",
                "name-for-methods": "BreakBefore",
                "converter": "RegionBreakBetween",
                "enable-if": "ENABLE_CSS_REGIONS"
            },
            "specification": {
                "category": "css-regions",
                "url": "https://www.w3.org/TR/css-regions-1/#propdef-break-before"
            }
        },
        "-webkit-region-break-inside": {
            "values": [
                "auto",
                "avoid"
            ],
            "codegen-properties": {
                "initial": "initialBreakInside",
                "name-for-methods": "BreakInside",
                "converter": "RegionBreakInside",
                "enable-if": "ENABLE_CSS_REGIONS"
            },
            "specification": {
                "category": "css-regions",
                "url": "https://www.w3.org/TR/css-regions-1/#propdef-break-inside"
            }
        },
        "scroll-padding": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "longhands": [
                    "scroll-padding-top",
                    "scroll-padding-right",
                    "scroll-padding-bottom",
                    "scroll-padding-left"
                ]
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-padding-bottom": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-bottom"
            }
        },
        "scroll-padding-left": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-left"
            }
        },
        "scroll-padding-right": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-right"
            }
        },
        "scroll-padding-top": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollPadding",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-top"
            }
        },
        "scroll-padding-inline-start": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-inline-start"
            }
        },
        "scroll-padding-block-start": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-block-start"
            }
        },
        "scroll-padding-inline-end": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-inline-end"
            }
        },
        "scroll-padding-block-end": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-block-end"
            }
        },
        "scroll-padding-block": {
            "codegen-properties": {
                "longhands": [
                    "scroll-padding-block-start",
                    "scroll-padding-block-end"
                ],
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-block"
            }
        },
        "scroll-padding-inline": {
            "codegen-properties": {
                "longhands": [
                    "scroll-padding-inline-start",
                    "scroll-padding-inline-end"
                ],
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding-inline"
            }
        },
        "scroll-snap-align": {
            "codegen-properties": {
                "converter": "ScrollSnapAlign",
                "enable-if": "ENABLE_CSS_SCROLL_SNAP"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-margin": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "longhands": [
                    "scroll-snap-margin-top",
                    "scroll-snap-margin-right",
                    "scroll-snap-margin-bottom",
                    "scroll-snap-margin-left"
                ]
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-margin-bottom": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollSnapMargin",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-margin-left": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollSnapMargin",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-margin-right": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollSnapMargin",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-margin-top": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "initial": "initialScrollSnapMargin",
                "converter": "Length"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-type": {
            "codegen-properties": {
                "converter": "ScrollSnapType",
                "enable-if": "ENABLE_CSS_SCROLL_SNAP"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-padding"
            }
        },
        "scroll-snap-margin-block": {
            "codegen-properties": {
                "longhands": [
                    "scroll-snap-margin-block-start",
                    "scroll-snap-margin-block-end"
                ],
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-snap-margin-block"
            }
        },
        "scroll-snap-margin-inline": {
            "codegen-properties": {
                "longhands": [
                    "scroll-snap-margin-inline-start",
                    "scroll-snap-margin-inline-end"
                ],
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-snap-margin-inline"
            }
        },
        "scroll-snap-margin-block-start": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-snap-margin-block-start"
            }
        },
        "scroll-snap-margin-inline-start": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-snap-margin-inline-start"
            }
        },
        "scroll-snap-margin-block-end": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-snap-margin-block-end"
            }
        },
        "scroll-snap-margin-inline-end": {
            "codegen-properties": {
                "enable-if": "ENABLE_CSS_SCROLL_SNAP",
                "skip-codegen": true
            },
            "status": {
                "status": "not implemented"
            },
            "specification": {
                "category": "css-scroll-snap",
                "url": "https://www.w3.org/TR/css-scroll-snap-1/#propdef-scroll-snap-margin-inline-end"
            }
        },
        "shape-outside": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-shape-outside"
                ],
                "converter": "ShapeValue"
            },
            "specification": {
                "category": "css-shapes",
                "url": "https://www.w3.org/TR/css-shapes/#propdef-shape-outside"
            }
        },
        "shape-margin": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-shape-margin"
                ],
                "converter": "Length"
            },
            "specification": {
                "category": "css-shapes",
                "url": "https://www.w3.org/TR/css-shapes/#propdef-shape-margin"
            }
        },
        "shape-image-threshold": {
            "codegen-properties": {
                "aliases": [
                    "-webkit-shape-image-threshold"
                ],
                "converter": "NumberOrAuto<float>"
            },
            "specification": {
                "category": "css-shapes",
                "url": "https://www.w3.org/TR/css-shapes/#propdef-shape-image-threshold"
            }
        },
        "max-zoom": {
            "codegen-properties": {
                "skip-builder": true,
                "enable-if": "ENABLE_CSS_DEVICE_ADAPTATION"
            },
            "specification": {
                "category": "css-device-adapt",
                "url": "https://www.w3.org/TR/css-device-adapt-1/#descdef-viewport-max-zoom"
            }
        },
        "min-zoom": {
            "codegen-properties": {
                "skip-builder": true,
                "enable-if": "ENABLE_CSS_DEVICE_ADAPTATION"
            },
            "specification": {
                "category": "css-device-adapt",
                "url": "https://www.w3.org/TR/css-device-adapt-1/#descdef-viewport-min-zoom"
            }
        },
        "orientation": {
            "codegen-properties": {
                "skip-builder": true,
                "enable-if": "ENABLE_CSS_DEVICE_ADAPTATION"
            },
            "specification": {
                "category": "css-device-adapt",
                "url": "https://www.w3.org/TR/css-device-adapt-1/#descdef-viewport-orientation"
            }
        },
        "user-zoom": {
            "codegen-properties": {
                "skip-builder": true,
                "enable-if": "ENABLE_CSS_DEVICE_ADAPTATION"
            },
            "specification": {
                "category": "css-device-adapt",
                "url": "https://www.w3.org/TR/css-device-adapt-1/#descdef-viewport-user-zoom"
            }
        },
        "-webkit-tap-highlight-color": {
            "inherited": true,
            "codegen-properties": {
                "converter": "TapHighlightColor",
                "enable-if": "ENABLE_TOUCH_EVENTS"
            },
            "status": "non-standard"
        },
        "-webkit-dashboard-region": {
            "codegen-properties": {
                "name-for-methods": "DashboardRegions",
                "custom": "Value",
                "enable-if": "ENABLE_DASHBOARD_SUPPORT"
            },
            "status": "non-standard"
        },
        "-webkit-overflow-scrolling": {
            "inherited": true,
            "values": [
                "auto",
                "touch"
            ],
            "codegen-properties": {
                "name-for-methods": "UseTouchOverflowScrolling",
                "converter": "OverflowScrolling",
                "enable-if": "ENABLE_ACCELERATED_OVERFLOW_SCROLLING"
            },
            "status": "non-standard"
        },
        "touch-action": {
            "values": [
                "auto",
                "manipulation"
            ],
            "codegen-properties": {
                "enable-if": "ENABLE_TOUCH_EVENTS"
            },
            "specification": {
                "url": "https://www.w3.org/TR/pointerevents/#the-touch-action-css-property"
            }
        },
        "-webkit-touch-callout": {
            "inherited": true,
            "values": [
                "default",
                "none"
            ],
            "codegen-properties": {
                "name-for-methods": "TouchCalloutEnabled",
                "converter": "TouchCallout",
                "enable-if": "WTF_PLATFORM_IOS"
            },
            "status": "non-standard"
        },
        "-apple-trailing-word": {
            "inherited": true,
            "values": [
                "auto",
                "-webkit-partially-balanced"
            ],
            "codegen-properties": {
                "name-for-methods": "TrailingWord",
                "enable-if": "ENABLE_CSS_TRAILING_WORD"
            },
            "status": "non-standard"
        },
        "-apple-pay-button-style": {
            "codegen-properties": {
                "enable-if": "ENABLE_APPLE_PAY"
            },
            "status": "non-standard"
        },
        "-apple-pay-button-type": {
            "codegen-properties": {
                "enable-if": "ENABLE_APPLE_PAY"
            },
            "status": "non-standard"
        },
        "fill-color": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/paint/#fill-color"
            }
        },
        "fill-image": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/paint/#fill-image"
            }
        },
        "fill-origin": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/paint/#fill-origin"
            }
        },
        "fill-position": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css-text-fill-and-stroke",
                "url": "https://drafts.fxtf.org/paint/#fill-position"
            }
        },
        "border-boundary": {
            "codegen-properties": {
                "skip-codegen": true
            },
            "specification": {
                "category": "css-round-display",
                "url": "https://www.w3.org/TR/css-round-display-1/#border-boundary-property"
            }
        }
    },
    "categories": {
        "css-22": {
            "shortname": "CSS 2.2",
            "longname": "CSS 2.2",
            "url": "https://www.w3.org/TR/CSS22/"
        },
        "css-align": {
            "shortname": "CSS Box Alignment",
            "longname": "CSS Box Alignment Module",
            "url": "https://www.w3.org/TR/css-align-3/"
        },
        "css-animations": {
            "shortname": "CSS Animations",
            "longname": "CSS Animations",
            "url": "https://www.w3.org/TR/css3-animations/"
        },
        "css-backgrounds": {
            "shortname": "CSS Backgrounds and Borders",
            "longname": "CSS Backgrounds and Borders Module",
            "url": "https://www.w3.org/TR/css3-background/"
        },
        "css-break": {
            "shortname": "CSS Fragmentation",
            "longname": "CSS Fragmentation Module",
            "url": "https://www.w3.org/TR/css-break-3/"
        },
        "css-cascade": {
            "shortname": "CSS Cascade",
            "longname": "CSS Cascading and Inheritance",
            "url": "https://www.w3.org/TR/css-cascade-3/"
        },
        "css-color": {
            "shortname": "CSS Color",
            "longname": "CSS Color Module",
            "url": "https://www.w3.org/TR/css3-color/"
        },
        "css-compositing": {
            "shortname": "CSS Compositing and Blending",
            "longname": "CSS Compositing and Blending",
            "url": "https://www.w3.org/TR/compositing-1/"
        },
        "css-content": {
            "shortname": "CSS Generated Content",
            "longname": "CSS Generated Content Module",
            "url": "https://www.w3.org/TR/css-content-3/"
        },
        "css-device-adapt": {
            "shortname": "CSS Device Adaptation",
            "longname": "CSS Device Adaptation Module",
            "url": "https://www.w3.org/TR/css-device-adapt-1/",
            "status": "under consideration"
        },
        "css-display": {
            "shortname": "CSS Display",
            "longname": "CSS Display Module",
            "url": "https://www.w3.org/TR/css-display-3/"
        },
        "css-filters": {
            "shortname": "CSS Filter Effects",
            "longname": "CSS Filter Effects Module",
            "url": "https://www.w3.org/TR/filter-effects/"
        },
        "css-flexbox": {
            "shortname": "CSS Flexbox",
            "longname": "CSS Flexible Box Module",
            "url": "https://www.w3.org/TR/css-flexbox-1/"
        },
        "css-fonts": {
            "shortname": "CSS Fonts",
            "longname": "CSS Fonts Module",
            "url": "https://www.w3.org/TR/css-fonts-3/"
        },
        "css-grid": {
            "shortname": "CSS Grid Layout",
            "longname": "CSS Grid Layout Module",
            "url": "https://www.w3.org/TR/css-grid-1/"
        },
        "css-images": {
            "shortname": "CSS Images",
            "longname": "CSS Image Values and Replaced Content Module",
            "url": "https://www.w3.org/TR/css3-images/"
        },
        "css-inline": {
            "shortname": "CSS Inline Layout",
            "longname": "CSS Inline Layout Module",
            "url": "https://www.w3.org/TR/css-inline/"
        },
        "css-line-grid": {
            "shortname": "CSS Line Grid",
            "longname": "CSS Line Grid Module",
            "url": "https://www.w3.org/TR/css-line-grid-1/"
        },
        "css-lists": {
            "shortname": "CSS Lists and Counters",
            "longname": "CSS Lists and Counters Module",
            "url": "https://www.w3.org/TR/css-lists-3/"
        },
        "css-logical-props": {
            "shortname": "CSS Logical Properties",
            "longname": "CSS Logical Properties Module",
            "url": "https://drafts.csswg.org/css-logical-props/",
            "status": "experimental"
        },
        "css-masking": {
            "shortname": "CSS Masking",
            "longname": "CSS Masking Module",
            "url": "https://www.w3.org/TR/css-masking-1/"
        },
        "css-multicol": {
            "shortname": "CSS Multi-column Layout",
            "longname": "CSS Multi-column Layout Module",
            "url": "https://www.w3.org/TR/css3-multicol/"
        },
        "css-overflow": {
            "shortname": "CSS Overflow",
            "longname": "CSS Overflow Module",
            "url": "https://www.w3.org/TR/css-overflow-3/"
        },
        "css-page": {
            "shortname": "CSS Paged Media",
            "longname": "CSS Paged Media Module",
            "url": "https://www.w3.org/TR/css3-page/"
        },
        "css-regions": {
            "shortname": "CSS Regions",
            "longname": "CSS Regions Module",
            "url": "https://www.w3.org/TR/css-regions-1/",
            "status": "experimental"
        },
        "css-round-display": {
            "shortname": "CSS Round Display",
            "longname": "CSS Round Display Module",
            "url": "https://www.w3.org/TR/css-round-display-1/",
            "status": "not considering"
        },
        "css-ruby": {
            "shortname": "CSS Ruby",
            "longname": "CSS Ruby Layout Module",
            "url": "https://www.w3.org/TR/css-ruby-1/"
        },
        "css-scroll-snap": {
            "shortname": "CSS Scroll Snap",
            "longname": "CSS Scroll Snap Module",
            "url": "https://www.w3.org/TR/css-scroll-snap-1/"
        },
        "css-shapes": {
            "shortname": "CSS Shapes",
            "longname": "CSS Shapes Module",
            "url": "https://www.w3.org/TR/css-shapes/"
        },
        "css-speech": {
            "shortname": "CSS Speech",
            "longname": "CSS Speech Module",
            "url": "https://www.w3.org/TR/css3-speech/"
        },
        "css-text": {
            "shortname": "CSS Text",
            "longname": "CSS Text Module",
            "url": "https://www.w3.org/TR/css-text-3/"
        },
        "css-text-decor": {
            "shortname": "CSS Text Decoration",
            "longname": "CSS Text Decoration Module",
            "url": "https://www.w3.org/TR/css-text-decor-3/"
        },
        "css3-text": {
            "shortname": "CSS3 Text",
            "longname": "CSS3 Text Module",
            "url": "https://www.w3.org/TR/2003/CR-css3-text-20030514/",
            "status": "obsolete"
        },
        "css-text-fill-and-stroke": {
            "shortname": "CSS Text Fill and Stroke",
            "longname": "CSS Text Fill and Stroke Module",
            "url": "https://drafts.fxtf.org/paint/",
            "status": "under consideration"
        },
        "css-transforms": {
            "shortname": "CSS Transforms",
            "longname": "CSS Transforms Module",
            "url": "https://www.w3.org/TR/css-transforms-1/"
        },
        "css-transitions": {
            "shortname": "CSS Transitions",
            "longname": "CSS Transitions Module",
            "url": "https://www.w3.org/TR/css3-transitions/"
        },
        "css-ui": {
            "shortname": "CSS Basic User Interface",
            "longname": "CSS Basic User Interface Module",
            "url": "https://www.w3.org/TR/css-ui-3/"
        },
        "css-will-change": {
            "shortname": "CSS Will Change",
            "longname": "CSS Will Change Module",
            "url": "https://www.w3.org/TR/css-will-change/"
        },
        "css-writing-modes": {
            "shortname": "CSS Writing Modes",
            "longname": "CSS Writing Modes Module",
            "url": "https://www.w3.org/TR/css-writing-modes-3/"
        },
        "svg": {
            "shortname": "SVG",
            "longname": "SVG",
            "url": "https://www.w3.org/TR/SVG11/"
        }
    }
}