| { |
| // This file specifies all the CSS properties we support and the necessary |
| // information for our code generation. The various supported arguments |
| // are described below with example usage |
| |
| parameters: { |
| // - alias_for: "other-property" |
| // Properties specifying alias_for should be virtually identical to the |
| // properties they alias. Minor parsing differences are allowed as long as |
| // the CSSValues created are of the same format of the aliased property. |
| alias_for: { |
| }, |
| |
| // - runtime_flag: "CSSGridLayout" |
| // The flag on RuntimeEnabledFeatures conditionally enables the property. |
| // This doesn't currently work with alias_for. |
| runtime_flag: { |
| }, |
| |
| // - is_descriptor |
| // Whether it is the name of a CSS descriptor. |
| // TODO(alancutter): Don't use CSSPropertyID for descriptors. |
| is_descriptor: { |
| }, |
| |
| // - is_property |
| // Whether it is the name of a CSS property. |
| is_property: { |
| default: true, |
| }, |
| |
| // - longhands: "property;other-property" |
| // The property is a shorthand for several other properties. |
| longhands: { |
| default: '', |
| }, |
| |
| // - api_class: true|"classname" |
| // Specifies the existence (and optionally name) of a CSSPropertyAPI |
| // implementation for the property to be used by make_css_property_apis.py. |
| // See core/css/properties/CSSPropertyAPI.h for API details. |
| // * Add this flag if the API has been implemented for this property. |
| // * If the classname for this is different to the name of the property, specify a |
| // value for this flag. e.g. api_class=CSSPropertyAPIWebkitPadding |
| // TODO(aazzam): When most properties have been implemented, modify this so that |
| // properties with default classnames do not get this flag, and introduce a |
| // 'not_implemented' flag instead. |
| api_class: { |
| }, |
| |
| // - api_methods: ["method1", "method2"] |
| // List of methods that are implemented in the CSSPropertyAPI for this property. |
| // This is used by make_css_property_apis.py to specify which functions are defined |
| // in the .h file for this property, and also used in CSSPropertyAPIFiles.h.tmpl to |
| // generate declarations for only the methods this property has implementations for. |
| api_methods: { |
| default: [], |
| valid_type: "list", |
| // This list must be an ordered, complete list of methods whose names match those |
| // defined in CSSPropertyDescriptor.h. |
| valid_values: ["parseSingleValue", "parseShorthand"], |
| }, |
| |
| // - field_group |
| // Name of the group that this field belongs to. Fields in the same group are stored |
| // together as a nested class inside ComputedStyle and dynamically allocated on use. |
| // Leave this out if the field is stored directly on ComputedStyle. |
| field_group: { |
| value_type: "str" |
| }, |
| |
| // - field_template |
| // Affects how the interface to this field is generated. |
| // TODO(sashab, meade): Remove this once TypedOM types are specified for |
| // every property, since this value can be inferred from that. |
| field_template: { |
| valid_values: [ |
| // Field is stored as an enum and has a initial/getter/setter/resetter. |
| "keyword", |
| // Field stores a primitive value like int/bool. The type is specified by |
| // type_name. The interface has a initial/getter/setter/resetter. |
| "primitive", |
| // Field is stored as a bool, whose default value is false |
| // and can only be set to true. Has a initial/getter/setter. |
| "monotonic_flag", |
| // Field has type specified at field_type_path and has a getter/setter. |
| // Also has a setter taking an rvalue reference. Cannot be packed. |
| "external", |
| // Only the storage is generated. The interface is handwritten. |
| "storage_only", |
| ], |
| }, |
| |
| // - field_type_path: "path/to/Type" |
| // For properties that have generated field storage in ComputedStyle, |
| // this optional argument will override the field's generated type with |
| // an external one specified at the given path. The type must be defined |
| // in a header file at that path, and have the same name as the file. |
| // Currently, only enum types are supported, and the enum's only values |
| // must be CamelCase values of the keywords of the property. |
| field_type_path: { |
| }, |
| |
| // - keywords: ["keyword1", "keyword2"] |
| // This specifies all valid keyword values for the property. |
| // TODO(sashab): Once all properties are represented here, delete |
| // CSSValueKeywords.in and use this list instead. |
| keywords: { |
| default: [], |
| }, |
| |
| // - default_value: "keyword-value" |
| // This specifies the default value for this field. |
| // - for keyword fields, this is the initial keyword |
| // - for other fields, this is a string containg the C++ expression |
| // that is used to initialise the field. |
| default_value: { |
| }, |
| |
| // Flags which go into CSSOMTypes: |
| // - typedom_types: ["Type", "OtherType"] |
| // The property can take types specified in typedom_types for CSS Typed OM. |
| // Keyword does not need to be specified as every property can take keywords. |
| // - separator |
| // The property supports a list of values, and when there is more than one, |
| // it is separated with this character. |
| // - supports_percentage |
| // The property supports percentage types. |
| typedom_types: { |
| default: [], |
| }, |
| separator: { |
| valid_values: [",", " ", "/"], |
| }, |
| supports_percentage: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // Flags which go into CSSPropertyMetadata: |
| // - interpolable |
| // The interpolable flag indicates whether a property can be animated smoothly. |
| // If this flag is set, the property should also be added to the switch |
| // statements in AnimatedStyleBuilder, CSSPropertyEquality and |
| // CSSAnimatableValueFactory. |
| // - inherited |
| // The property will inherit by default if no value is specified, typically |
| // mentioned in specifications as "Inherited: yes" |
| interpolable: { |
| default: false, |
| valid_type: "bool", |
| }, |
| inherited: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // - independent |
| // This property affects only one field on ComputedStyle, and can be set |
| // directly during inheritance instead of forcing a recalc. |
| // StyleResolver and StyleAdjuster are not invoked when these properties |
| // are changed on a parent. Recalcs only happen if at least one |
| // non-independent inherited property is changed in the parent. |
| independent: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // The remaining arguments are used for the StyleBuilder and allow us to |
| // succinctly describe how to apply properties. When default handlers are not |
| // sufficient, we should prefer to use converter, and failing that define |
| // custom property handlers in StyleBuilderCustom.cpp. We only should use |
| // StyleBuilderFunctions.cpp.tmpl to define handlers when there are multiple |
| // properties requiring the same handling, but converter doesn't suffice. |
| |
| // - font |
| // The default property handlers call into the FontBuilder instead of setting |
| // values directly onto the ComputedStyle |
| // - svg |
| // The default property handlers access the SVGComputedStyle |
| font: { |
| default: false, |
| valid_type: "bool", |
| }, |
| svg: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // - name_for_methods: "BlendMode" |
| // Tweaks how we choose defaults for getter, setter, initial and type_name. |
| // For example, setting this to BlendMode will make us use a setter of setBlendMode |
| // - initial |
| // The initial value accessor on the ComputedStyle, defaults to e.g. initialBoxShadow |
| // - getter |
| // The ComputedStyle getter, defaults to e.g. borderBottomLeft |
| // - setter |
| // The ComputedStyle setter, defaults to e.g. setBorderBottomLeft |
| // - type_name |
| // The computed type for the property. Only required for the default value |
| // application, defaults to e.g. EDisplay |
| name_for_methods: { |
| }, |
| getter: { |
| }, |
| setter: { |
| }, |
| initial: { |
| }, |
| type_name: { |
| }, |
| |
| // - converter: "ConvertRadius" |
| // The StyleBuilder will call the specified function on StyleBuilderConverter |
| // to convert a CSSValue to an appropriate platform value |
| converter: { |
| }, |
| |
| // - custom_initial |
| // - custom_inherit |
| // - custom_value |
| // - custom_all |
| // Handlers of the given types will be declared but not defined. Setting |
| // custom_all is equivalent to setting the other three flags |
| custom_all: { |
| default: false, |
| valid_type: "bool", |
| }, |
| custom_initial: { |
| default: false, |
| valid_type: "bool", |
| }, |
| custom_inherit: { |
| default: false, |
| valid_type: "bool", |
| }, |
| custom_value: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // - use_handlers_for: "CSSPropertyTransform" |
| // Use handlers for the specified property instead of defining new ones |
| use_handlers_for: { |
| }, |
| |
| // - builder_skip |
| // Ignore this property in the StyleBuilder |
| builder_skip: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // - direction_aware |
| // This property resolves to a different property based on the current direction |
| // and writing mode. |
| direction_aware: { |
| default: false, |
| valid_type: "bool", |
| }, |
| |
| // - priority: "High" |
| // The priority level for computing the property. Valid values are |
| // "Animation" (highest), "High" and "Low". Properties with the same |
| // priority level are grouped and computed in alphabetical order. The |
| // default value is "Low". |
| priority: { |
| default: "Low", |
| valid_values: ["Animation", "High", "Low"], |
| }, |
| |
| }, |
| |
| data: [ |
| // Properties with StyleBuilder handling |
| |
| // Animation Priority properties |
| { |
| name: "animation-delay", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "animation-direction", |
| custom_all: true, |
| keywords: ["normal", "reverse", "alternate", "alternate-reverse"], |
| priority: "Animation", |
| separator: ",", |
| }, |
| { |
| name: "animation-duration", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "animation-fill-mode", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "animation-iteration-count", |
| custom_all: true, |
| keywords: ["infinite"], |
| priority: "Animation", |
| separator: ",", |
| }, |
| { |
| name: "animation-name", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "animation-play-state", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "animation-timing-function", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "transition-delay", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "transition-duration", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "transition-property", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| { |
| name: "transition-timing-function", |
| custom_all: true, |
| priority: "Animation", |
| }, |
| |
| // High Priority and all other font properties. |
| // Other properties can depend upon high priority properties (e.g. font-size / ems) |
| { |
| name: "color", |
| custom_all: true, |
| inherited: true, |
| interpolable: true, |
| priority: "High", |
| }, |
| { |
| name: "direction", |
| custom_value: true, |
| field_type_path: "platform/text/TextDirection", |
| inherited: true, |
| default_value: "ltr", |
| field_template: "keyword", |
| keywords: ["ltr", "rtl"], |
| priority: "High", |
| }, |
| { |
| name: "font-family", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontFamily", |
| is_descriptor: true, |
| font: true, |
| inherited: true, |
| name_for_methods: "FamilyDescription", |
| priority: "High", |
| type_name: "FontDescription::FamilyDescription", |
| }, |
| { |
| name: "font-kerning", |
| font: true, |
| inherited: true, |
| name_for_methods: "Kerning", |
| priority: "High", |
| type_name: "FontDescription::Kerning", |
| }, |
| { |
| name: "font-size", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontSize", |
| font: true, |
| getter: "GetSize", |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "Size", |
| priority: "High", |
| }, |
| { |
| name: "font-size-adjust", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontSizeAdjust", |
| font: true, |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "SizeAdjust", |
| priority: "High", |
| runtime_flag: "CSSFontSizeAdjust", |
| }, |
| { |
| name: "font-stretch", |
| is_descriptor: true, |
| font: true, |
| inherited: true, |
| name_for_methods: "Stretch", |
| priority: "High", |
| type_name: "FontStretch", |
| }, |
| { |
| name: "font-style", |
| is_descriptor: true, |
| font: true, |
| inherited: true, |
| name_for_methods: "Style", |
| priority: "High", |
| type_name: "FontStyle", |
| }, |
| { |
| name: "font-variant-ligatures", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontVariantLigatures", |
| font: true, |
| inherited: true, |
| name_for_methods: "VariantLigatures", |
| priority: "High", |
| type_name: "VariantLigatures", |
| }, |
| { |
| name: "font-variant-caps", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontVariantCaps", |
| font: true, |
| inherited: true, |
| name_for_methods: "VariantCaps", |
| priority: "High", |
| }, |
| { |
| name: "font-variant-numeric", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontVariantNumeric", |
| font: true, |
| inherited: true, |
| name_for_methods: "VariantNumeric", |
| priority: "High", |
| }, |
| { |
| name: "font-weight", |
| converter: "ConvertFontWeight", |
| is_descriptor: true, |
| font: true, |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "Weight", |
| priority: "High", |
| type_name: "FontWeight", |
| }, |
| { |
| name: "font-feature-settings", |
| converter: "ConvertFontFeatureSettings", |
| is_descriptor: true, |
| font: true, |
| inherited: true, |
| name_for_methods: "FeatureSettings", |
| priority: "High", |
| }, |
| { |
| name: "font-variation-settings", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFontVariationSettings", |
| font: true, |
| inherited: true, |
| name_for_methods: "VariationSettings", |
| priority: "High", |
| runtime_flag: "CSSVariableFonts", |
| }, |
| { |
| name: "-webkit-font-smoothing", |
| font: true, |
| inherited: true, |
| priority: "High", |
| type_name: "FontSmoothingMode", |
| }, |
| { |
| name: "-webkit-locale", |
| custom_value: true, |
| font: true, |
| inherited: true, |
| priority: "High", |
| }, |
| { |
| name: "text-orientation", |
| custom_value: true, |
| inherited: true, |
| priority: "High", |
| type_name: "TextOrientation", |
| }, |
| { |
| name: "-webkit-text-orientation", |
| custom_value: true, |
| inherited: true, |
| priority: "High", |
| type_name: "TextOrientation", |
| }, |
| { |
| name: "writing-mode", |
| custom_value: true, |
| field_type_path: "platform/text/WritingMode", |
| inherited: true, |
| default_value: "horizontal-tb", |
| field_template: "keyword", |
| keywords: ["horizontal-tb", "vertical-rl", "vertical-lr"], |
| priority: "High", |
| type_name: "WritingMode", |
| }, |
| { |
| name: "-webkit-writing-mode", |
| custom_value: true, |
| inherited: true, |
| priority: "High", |
| type_name: "WritingMode", |
| }, |
| { |
| name: "text-rendering", |
| font: true, |
| inherited: true, |
| priority: "High", |
| type_name: "TextRenderingMode", |
| }, |
| { |
| name: "zoom", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| is_descriptor: true, |
| priority: "High", |
| }, |
| |
| { |
| name: "align-content", |
| api_methods: ["parseSingleValue"], |
| api_class: "CSSPropertyAPIAlignOrJustifyContent", |
| converter: "ConvertContentAlignmentData", |
| initial: "InitialContentAlignment", |
| }, |
| { |
| name: "align-items", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertSelfOrDefaultAlignmentData", |
| initial: "InitialDefaultAlignment", |
| }, |
| { |
| name: "alignment-baseline", |
| svg: true, |
| }, |
| { |
| api_class: "CSSPropertyAPIAlignOrJustifySelf", |
| api_methods: ["parseSingleValue"], |
| name: "align-self", |
| converter: "ConvertSelfOrDefaultAlignmentData", |
| initial: "InitialSelfAlignment", |
| }, |
| { |
| name: "backdrop-filter", |
| api_class: "CSSPropertyAPIFilter", |
| converter: "ConvertFilterOperations", |
| interpolable: true, |
| runtime_flag: "CSSBackdropFilter", |
| }, |
| "backface-visibility", |
| { |
| name: "background-attachment", |
| custom_all: true, |
| }, |
| { |
| name: "background-blend-mode", |
| custom_all: true, |
| }, |
| { |
| name: "background-clip", |
| custom_all: true, |
| }, |
| { |
| name: "background-color", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "background-image", |
| custom_all: true, |
| interpolable: true, |
| keywords: ["auto", "none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "background-origin", |
| custom_all: true, |
| }, |
| { |
| name: "background-position-x", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "background-position-y", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "background-repeat-x", |
| custom_all: true, |
| }, |
| { |
| name: "background-repeat-y", |
| custom_all: true, |
| }, |
| { |
| name: "background-size", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "baseline-shift", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_inherit: true, |
| custom_value: true, |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "border-bottom-color", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-bottom-left-radius", |
| api_class: "CSSPropertyAPIBorderRadius", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertRadius", |
| initial: "InitialBorderRadius", |
| interpolable: true, |
| }, |
| { |
| name: "border-bottom-right-radius", |
| api_class: "CSSPropertyAPIBorderRadius", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertRadius", |
| initial: "InitialBorderRadius", |
| interpolable: true, |
| }, |
| { |
| name: "border-bottom-style", |
| initial: "InitialBorderStyle", |
| type_name: "EBorderStyle", |
| keywords: ["none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "border-bottom-width", |
| api_class: "CSSPropertyAPIBorderWidth", |
| converter: "ConvertLineWidth<float>", |
| initial: "InitialBorderWidth", |
| interpolable: true, |
| keywords: ["thin", "medium", "thick"], |
| typedom_types: ["Length"], |
| }, |
| { |
| name: "border-collapse", |
| independent: true, |
| inherited: true, |
| default_value: "separate", |
| field_template: "keyword", |
| keywords: ["separate", "collapse"], |
| }, |
| { |
| name: "border-image-outset", |
| api_class: "CSSPropertyAPIBorderImageOutset", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-image-repeat", |
| api_class: "CSSPropertyAPIBorderImageRepeat", |
| custom_all: true, |
| }, |
| { |
| name: "border-image-slice", |
| api_class: "CSSPropertyAPIBorderImageSlice", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-image-source", |
| api_class: "CSSPropertyAPIImage", |
| api_methods: ["parseSingleValue"], |
| custom_value: true, |
| interpolable: true, |
| keywords: ["none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "border-image-width", |
| api_class: "CSSPropertyAPIBorderImageWidth", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-left-color", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-left-style", |
| initial: "InitialBorderStyle", |
| type_name: "EBorderStyle", |
| keywords: ["none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "border-left-width", |
| api_class: "CSSPropertyAPIBorderWidth", |
| converter: "ConvertLineWidth<float>", |
| initial: "InitialBorderWidth", |
| interpolable: true, |
| keywords: ["thin", "medium", "thick"], |
| typedom_types: ["Length"], |
| }, |
| { |
| name: "border-right-color", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-right-style", |
| initial: "InitialBorderStyle", |
| type_name: "EBorderStyle", |
| keywords: ["none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "border-right-width", |
| api_class: "CSSPropertyAPIBorderWidth", |
| converter: "ConvertLineWidth<float>", |
| initial: "InitialBorderWidth", |
| interpolable: true, |
| keywords: ["thin", "medium", "thick"], |
| typedom_types: ["Length"], |
| }, |
| { |
| name: "border-top-color", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "border-top-left-radius", |
| api_class: "CSSPropertyAPIBorderRadius", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertRadius", |
| initial: "InitialBorderRadius", |
| interpolable: true, |
| }, |
| { |
| name: "border-top-right-radius", |
| api_class: "CSSPropertyAPIBorderRadius", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertRadius", |
| initial: "InitialBorderRadius", |
| interpolable: true, |
| }, |
| { |
| name: "border-top-style", |
| initial: "InitialBorderStyle", |
| type_name: "EBorderStyle", |
| keywords: ["none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "border-top-width", |
| api_class: "CSSPropertyAPIBorderWidth", |
| converter: "ConvertLineWidth<float>", |
| initial: "InitialBorderWidth", |
| interpolable: true, |
| keywords: ["thin", "medium", "thick"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| }, |
| { |
| name: "bottom", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| keywords: ["auto"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length()", |
| }, |
| { |
| name: "box-shadow", |
| converter: "ConvertShadowList", |
| interpolable: true, |
| }, |
| "box-sizing", |
| { |
| name: "break-after", |
| // Storage for this property also covers these legacy properties: |
| // page-break-after, -webkit-column-break-after |
| default_value: "auto", |
| field_template: "keyword", |
| keywords: [ |
| "auto", "avoid", "avoid-column", "avoid-page", "column", "left", "page", "recto", "right", "verso" |
| ], |
| type_name: "EBreakBetween", |
| }, |
| { |
| name: "break-before", |
| // Storage for this property also covers these legacy properties: |
| // page-break-before, -webkit-column-break-before |
| default_value: "auto", |
| field_template: "keyword", |
| keywords: [ |
| "auto", "avoid", "avoid-column", "avoid-page", "column", "left", "page", "recto", "right", "verso" |
| ], |
| type_name: "EBreakBetween", |
| }, |
| { |
| name: "break-inside", |
| // Storage for this property also covers these legacy properties: |
| // page-break-inside, -webkit-column-break-inside |
| default_value: "auto", |
| field_template: "keyword", |
| keywords: ["auto", "avoid", "avoid-column", "avoid-page"], |
| }, |
| { |
| name: "buffered-rendering", |
| svg: true, |
| }, |
| { |
| name: "caption-side", |
| independent: true, |
| inherited: true, |
| default_value: "top", |
| field_template: "keyword", |
| keywords: ["top", "bottom"], |
| }, |
| { |
| name: "caret-color", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| interpolable: true, |
| }, |
| { |
| name: "clear", |
| default_value: "none", |
| field_template: "keyword", |
| keywords: ["none", "left", "right", "both"], |
| }, |
| { |
| name: "clip", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertClip", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "clip-path", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertClipPath", |
| interpolable: true, |
| }, |
| { |
| name: "clip-rule", |
| inherited: true, |
| svg: true, |
| type_name: "WindRule", |
| }, |
| { |
| name: "color-interpolation", |
| inherited: true, |
| svg: true, |
| }, |
| { |
| name: "color-interpolation-filters", |
| inherited: true, |
| svg: true, |
| type_name: "EColorInterpolation", |
| }, |
| { |
| name: "color-rendering", |
| inherited: true, |
| svg: true, |
| }, |
| { |
| name: "column-fill", |
| type_name: "ColumnFill", |
| }, |
| { |
| name: "contain", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFlags<Containment>", |
| runtime_flag: "CSSContainment", |
| }, |
| { |
| name: "content", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| separator: ",", |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "counter-increment", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| }, |
| { |
| name: "counter-reset", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| }, |
| { |
| name: "cursor", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| field_template: "keyword", |
| keywords: [ |
| "auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", |
| "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "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", |
| "-webkit-grab", "-webkit-grabbing" |
| ], |
| default_value: "auto", |
| }, |
| { |
| name: "cx", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertLength", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "cy", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertLength", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "d", |
| converter: "ConvertPathOrNone", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "display", |
| default_value: "inline", |
| field_template: 'keyword', |
| keywords: [ |
| "inline", "block", "list-item", "inline-block", "table", "inline-table", "table-row-group", "table-header-group", |
| "table-footer-group", "table-row", "table-column-group", "table-column", "table-cell", "table-caption", "-webkit-box", |
| "-webkit-inline-box", "flex", "inline-flex", "grid", "inline-grid", "contents", "flow-root", "none", |
| ], |
| }, |
| { |
| name: "dominant-baseline", |
| inherited: true, |
| svg: true, |
| }, |
| { |
| name: "empty-cells", |
| independent: true, |
| inherited: true, |
| default_value: "show", |
| field_template: "keyword", |
| keywords: ["show", "hide"], |
| type_name: "EEmptyCells", |
| }, |
| { |
| name: "fill", |
| api_class: "CSSPropertyAPIPaintStroke", |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| interpolable: true, |
| setter: "SetFillPaint", |
| svg: true, |
| }, |
| { |
| name: "fill-opacity", |
| api_class: "CSSPropertyAPIOpacity", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertNumberOrPercentage", |
| inherited: true, |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "fill-rule", |
| inherited: true, |
| svg: true, |
| type_name: "WindRule", |
| }, |
| { |
| name: "filter", |
| api_class: "CSSPropertyAPIFilter", |
| converter: "ConvertFilterOperations", |
| interpolable: true, |
| }, |
| { |
| name: "flex-basis", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| }, |
| "flex-direction", |
| { |
| name: "flex-grow", |
| api_class: "CSSPropertyAPIFlexGrowOrShrink", |
| interpolable: true, |
| type_name: "float", |
| }, |
| { |
| name: "flex-shrink", |
| api_class: "CSSPropertyAPIFlexGrowOrShrink", |
| interpolable: true, |
| type_name: "float", |
| }, |
| "flex-wrap", |
| { |
| name: "float", |
| default_value: "none", |
| field_template: "keyword", |
| keywords: ["none", "left", "right"], |
| name_for_methods: "Floating", |
| type_name: "EFloat", |
| }, |
| { |
| name: "flood-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertColor", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "flood-opacity", |
| api_class: "CSSPropertyAPIOpacity", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertNumberOrPercentage", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "grid-auto-columns", |
| api_class: "CSSPropertyAPIGridAutoLine", |
| converter: "ConvertGridTrackSizeList", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-auto-flow", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertGridAutoFlow", |
| runtime_flag: "CSSGridLayout", |
| type_name: "GridAutoFlow", |
| }, |
| { |
| name: "grid-auto-rows", |
| api_class: "CSSPropertyAPIGridAutoLine", |
| converter: "ConvertGridTrackSizeList", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-column-end", |
| converter: "ConvertGridPosition", |
| runtime_flag: "CSSGridLayout", |
| api_class: "CSSPropertyAPIGridLine", |
| }, |
| { |
| name: "grid-column-gap", |
| converter: "ConvertLength", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-column-start", |
| api_class: "CSSPropertyAPIGridLine", |
| converter: "ConvertGridPosition", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-row-end", |
| api_class: "CSSPropertyAPIGridLine", |
| converter: "ConvertGridPosition", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-row-gap", |
| converter: "ConvertLength", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-row-start", |
| api_class: "CSSPropertyAPIGridLine", |
| converter: "ConvertGridPosition", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-template-areas", |
| api_class: true, |
| custom_all: true, |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-template-columns", |
| api_class: "CSSPropertyAPIGridTemplateLine", |
| custom_all: true, |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-template-rows", |
| api_class: "CSSPropertyAPIGridTemplateLine", |
| custom_all: true, |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "height", |
| api_class: "CSSPropertyAPIWidthOrHeight", |
| converter: "ConvertLengthSizing", |
| is_descriptor: true, |
| initial: "InitialSize", |
| interpolable: true, |
| keywords: ["auto", "fit-content", "min-content", "max-content"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| }, |
| { |
| name: "hyphens", |
| inherited: true, |
| runtime_flag: "CSSHyphens", |
| type_name: "Hyphens", |
| }, |
| { |
| name: "image-rendering", |
| inherited: true, |
| }, |
| { |
| name: "image-orientation", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertImageOrientation", |
| inherited: true, |
| name_for_methods: "RespectImageOrientation", |
| runtime_flag: "ImageOrientation", |
| }, |
| "isolation", |
| { |
| name: "justify-content", |
| api_class: "CSSPropertyAPIAlignOrJustifyContent", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertContentAlignmentData", |
| initial: "InitialContentAlignment", |
| }, |
| { |
| name: "justify-items", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertSelfOrDefaultAlignmentData", |
| initial: "InitialSelfAlignment", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "justify-self", |
| api_class: "CSSPropertyAPIAlignOrJustifySelf", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertSelfOrDefaultAlignmentData", |
| initial: "InitialSelfAlignment", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "left", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| keywords: ["auto"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length()", |
| }, |
| { |
| name: "letter-spacing", |
| api_class: "CSSPropertyAPILetterAndWordSpacing", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertSpacing", |
| inherited: true, |
| initial: "InitialLetterWordSpacing", |
| interpolable: true, |
| }, |
| { |
| name: "lighting-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertColor", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "line-height", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLineHeight", |
| getter: "SpecifiedLineHeight", |
| inherited: true, |
| interpolable: true, |
| }, |
| { |
| name: "line-height-step", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<uint8_t>", |
| inherited: true, |
| runtime_flag: "CSSSnapSize", |
| }, |
| { |
| name: "list-style-image", |
| api_class: "CSSPropertyAPIImage", |
| api_methods: ["parseSingleValue"], |
| custom_value: true, |
| inherited: true, |
| interpolable: true, |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "list-style-position", |
| independent: true, |
| inherited: true, |
| default_value: "outside", |
| field_template: "keyword", |
| keywords: ["outside", "inside"], |
| }, |
| { |
| name: "list-style-type", |
| inherited: true, |
| default_value: "disc", |
| field_template: "keyword", |
| keywords: [ |
| "disc", "circle", "square", "decimal", "decimal-leading-zero", "arabic-indic", "bengali", "cambodian", "khmer", "devanagari", "gujarati", "gurmukhi", "kannada", "lao", "malayalam", "mongolian", "myanmar", "oriya", "persian", "urdu", "telugu", "tibetan", "thai", "lower-roman", "upper-roman", "lower-greek", "lower-alpha", "lower-latin", "upper-alpha", "upper-latin", "cjk-earthly-branch", "cjk-heavenly-stem", "ethiopic-halehame", "ethiopic-halehame-am", "ethiopic-halehame-ti-er", "ethiopic-halehame-ti-et", "hangul", "hangul-consonant", "korean-hangul-formal", "korean-hanja-formal", "korean-hanja-informal", "hebrew", "armenian", "lower-armenian", "upper-armenian", "georgian", "cjk-ideographic", "simp-chinese-formal", "simp-chinese-informal", "trad-chinese-formal", "trad-chinese-informal", "hiragana", "katakana", "hiragana-iroha", "katakana-iroha", "none", |
| ], |
| }, |
| { |
| name: "margin-bottom", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertQuirkyLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "margin-left", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertQuirkyLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "margin-right", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertQuirkyLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "margin-top", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertQuirkyLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "marker-end", |
| api_class: "CSSPropertyAPIMarker", |
| converter: "ConvertFragmentIdentifier", |
| inherited: true, |
| name_for_methods: "MarkerEndResource", |
| svg: true, |
| }, |
| { |
| name: "marker-mid", |
| api_class: "CSSPropertyAPIMarker", |
| converter: "ConvertFragmentIdentifier", |
| inherited: true, |
| name_for_methods: "MarkerMidResource", |
| svg: true, |
| }, |
| { |
| name: "marker-start", |
| api_class: "CSSPropertyAPIMarker", |
| converter: "ConvertFragmentIdentifier", |
| inherited: true, |
| name_for_methods: "MarkerStartResource", |
| svg: true, |
| }, |
| { |
| name: "mask", |
| api_class: "CSSPropertyAPIMarker", |
| converter: "ConvertFragmentIdentifier", |
| name_for_methods: "MaskerResource", |
| svg: true, |
| }, |
| { |
| name: "mask-source-type", |
| custom_all: true, |
| runtime_flag: "CSSMaskSourceType", |
| }, |
| { |
| name: "mask-type", |
| svg: true, |
| }, |
| { |
| name: "max-height", |
| converter: "ConvertLengthMaxSizing", |
| is_descriptor: true, |
| initial: "InitialMaxSize", |
| interpolable: true, |
| }, |
| { |
| name: "max-width", |
| converter: "ConvertLengthMaxSizing", |
| is_descriptor: true, |
| initial: "InitialMaxSize", |
| interpolable: true, |
| }, |
| { |
| name: "min-height", |
| api_class: "CSSPropertyAPIWidthOrHeight", |
| converter: "ConvertLengthSizing", |
| is_descriptor: true, |
| initial: "InitialMinSize", |
| interpolable: true, |
| }, |
| { |
| name: "min-width", |
| api_class: "CSSPropertyAPIWidthOrHeight", |
| converter: "ConvertLengthSizing", |
| is_descriptor: true, |
| initial: "InitialMinSize", |
| interpolable: true, |
| }, |
| { |
| name: "mix-blend-mode", |
| name_for_methods: "BlendMode", |
| type_name: "blink::WebBlendMode", |
| }, |
| { |
| name: "motion-offset", |
| alias_for: "offset-distance", |
| }, |
| { |
| name: "motion-path", |
| alias_for: "offset-path", |
| }, |
| { |
| name: "motion-rotation", |
| alias_for: "offset-rotation", |
| }, |
| { |
| name: "object-fit", |
| type_name: "ObjectFit", |
| }, |
| { |
| name: "object-position", |
| converter: "ConvertPosition", |
| interpolable: true, |
| }, |
| { |
| name: "offset-anchor", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertPositionOrAuto", |
| interpolable: true, |
| runtime_flag: "CSSOffsetPositionAnchor", |
| }, |
| { |
| name: "offset-distance", |
| api_class: true, |
| converter: "ConvertLength", |
| interpolable: true, |
| }, |
| { |
| name: "offset-path", |
| converter: "ConvertPathOrNone", |
| }, |
| { |
| name: "offset-position", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertPositionOrAuto", |
| interpolable: true, |
| runtime_flag: "CSSOffsetPositionAnchor", |
| }, |
| { |
| name: "offset-rotate", |
| api_class: "CSSPropertyAPIOffsetRotate", |
| converter: "ConvertOffsetRotate", |
| interpolable: true, |
| runtime_flag: "CSSOffsetRotate", |
| }, |
| { |
| name: "offset-rotation", |
| api_class: "CSSPropertyAPIOffsetRotate", |
| converter: "ConvertOffsetRotate", |
| interpolable: true, |
| runtime_flag: "CSSOffsetRotation", |
| }, |
| { |
| name: "opacity", |
| api_class: "CSSPropertyAPIOpacity", |
| api_methods: ["parseSingleValue"], |
| interpolable: true, |
| type_name: "float", |
| }, |
| { |
| name: "order", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| interpolable: true, |
| type_name: "int", |
| }, |
| { |
| name: "orphans", |
| api_class: "CSSPropertyAPIFragmentation", |
| api_methods: ["parseSingleValue"], |
| inherited: true, |
| interpolable: true, |
| type_name: "short", |
| }, |
| { |
| name: "outline-color", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "outline-offset", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<int>", |
| interpolable: true, |
| }, |
| { |
| name: "outline-style", |
| custom_all: true, |
| }, |
| { |
| name: "outline-width", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLineWidth<unsigned short>", |
| interpolable: true, |
| }, |
| { |
| name: "overflow-anchor", |
| runtime_flag: "ScrollAnchoring", |
| inherited: false, |
| default_value: "auto", |
| field_template: "keyword", |
| keywords: [ |
| "visible", "none", "auto", |
| ], |
| }, |
| { |
| name: "overflow-wrap", |
| inherited: true, |
| }, |
| { |
| name: "overflow-x", |
| default_value: "visible", |
| field_template: "keyword", |
| keywords: [ |
| "visible", "hidden", "scroll", "auto", "overlay", "-webkit-paged-x", "-webkit-paged-y", |
| ], |
| type_name: "EOverflow", |
| }, |
| { |
| name: "overflow-y", |
| default_value: "visible", |
| field_template: "keyword", |
| keywords: [ |
| "visible", "hidden", "scroll", "auto", "overlay", "-webkit-paged-x", "-webkit-paged-y", |
| ], |
| type_name: "EOverflow", |
| }, |
| { |
| name: "padding-bottom", |
| api_class: "CSSPropertyAPIPadding", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "padding-left", |
| api_class: "CSSPropertyAPIPadding", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "padding-right", |
| api_class: "CSSPropertyAPIPadding", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "padding-top", |
| api_class: "CSSPropertyAPIPadding", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLength", |
| interpolable: true, |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length(kFixed)", |
| }, |
| { |
| name: "paint-order", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertPaintOrder", |
| inherited: true, |
| svg: true, |
| }, |
| { |
| name: "perspective", |
| api_class: "CSSPropertyAPIPerspective", |
| converter: "ConvertPerspective", |
| interpolable: true, |
| }, |
| { |
| name: "perspective-origin", |
| converter: "ConvertPosition", |
| interpolable: true, |
| }, |
| { |
| name: "pointer-events", |
| independent: true, |
| inherited: true, |
| default_value: "auto", |
| field_template: "keyword", |
| keywords: [ |
| "none", "auto", "stroke", "fill", "painted", "visible", "visibleStroke", "visibleFill", "visiblePainted", "bounding-box", "all", |
| ], |
| }, |
| { |
| name: "position", |
| custom_inherit: true, |
| default_value: "static", |
| field_template: "keyword", |
| getter: "GetPosition", |
| keywords: [ |
| "static", "relative", "absolute", "fixed", "sticky", |
| ], |
| }, |
| { |
| name: "quotes", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertQuotes", |
| inherited: true, |
| }, |
| { |
| name: "resize", |
| custom_value: true, |
| }, |
| { |
| name: "right", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| keywords: ["auto"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length()", |
| }, |
| { |
| name: "r", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertLength", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "rx", |
| api_class: "CSSPropertyAPIRadius", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "ry", |
| api_class: "CSSPropertyAPIRadius", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "scroll-behavior", |
| runtime_flag: "CSSOMSmoothScroll", |
| type_name: "ScrollBehavior", |
| }, |
| { |
| name: "scroll-snap-type", |
| runtime_flag: "CSSScrollSnapPoints", |
| type_name: "ScrollSnapType", |
| }, |
| { |
| name: "scroll-snap-points-x", |
| converter: "ConvertSnapPoints", |
| runtime_flag: "CSSScrollSnapPoints", |
| }, |
| { |
| name: "scroll-snap-points-y", |
| converter: "ConvertSnapPoints", |
| runtime_flag: "CSSScrollSnapPoints", |
| }, |
| { |
| name: "scroll-snap-destination", |
| converter: "ConvertPosition", |
| runtime_flag: "CSSScrollSnapPoints", |
| }, |
| { |
| name: "scroll-snap-coordinate", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertSnapCoordinates", |
| runtime_flag: "CSSScrollSnapPoints", |
| }, |
| { |
| name: "shape-image-threshold", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| interpolable: true, |
| type_name: "float", |
| }, |
| { |
| name: "shape-margin", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLength", |
| interpolable: true, |
| }, |
| { |
| name: "shape-outside", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertShapeValue", |
| interpolable: true, |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "shape-rendering", |
| inherited: true, |
| svg: true, |
| }, |
| { |
| name: "size", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| }, |
| { |
| name: "speak", |
| inherited: true, |
| }, |
| { |
| name: "stop-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertColor", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "stop-opacity", |
| api_class: "CSSPropertyAPIOpacity", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertNumberOrPercentage", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "stroke", |
| api_class: "CSSPropertyAPIPaintStroke", |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| interpolable: true, |
| setter: "SetStrokePaint", |
| svg: true, |
| }, |
| { |
| name: "stroke-dasharray", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertStrokeDasharray", |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "StrokeDashArray", |
| svg: true, |
| }, |
| { |
| name: "stroke-dashoffset", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertLength", |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "StrokeDashOffset", |
| svg: true, |
| }, |
| { |
| name: "stroke-linecap", |
| inherited: true, |
| name_for_methods: "CapStyle", |
| svg: true, |
| type_name: "LineCap", |
| }, |
| { |
| name: "stroke-linejoin", |
| inherited: true, |
| name_for_methods: "JoinStyle", |
| svg: true, |
| type_name: "LineJoin", |
| }, |
| { |
| name: "stroke-miterlimit", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "StrokeMiterLimit", |
| svg: true, |
| type_name: "float", |
| }, |
| { |
| name: "stroke-opacity", |
| api_class: "CSSPropertyAPIOpacity", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertNumberOrPercentage", |
| inherited: true, |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "stroke-width", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertUnzoomedLength", |
| inherited: true, |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "table-layout", |
| default_value: "auto", |
| field_template: "keyword", |
| keywords: [ |
| "auto", "fixed" |
| ] |
| }, |
| { |
| name: "tab-size", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrTabSpaces", |
| inherited: true, |
| type_name: "TabSize", |
| }, |
| { |
| name: "text-align", |
| custom_value: true, |
| independent: true, |
| inherited: true, |
| default_value: "start", |
| field_template: "keyword", |
| getter: "GetTextAlign", |
| keywords: [ |
| "left", "right", "center", "justify", "webkitLeft", "webkitRight", "webkitCenter", "start", "end", |
| ], |
| }, |
| { |
| name: "text-align-last", |
| inherited: true, |
| type_name: "TextAlignLast", |
| }, |
| { |
| name: "text-anchor", |
| inherited: true, |
| svg: true, |
| }, |
| { |
| name: "text-combine-upright", |
| inherited: true, |
| name_for_methods: "TextCombine", |
| type_name: "TextCombine", |
| }, |
| // FIXME: We shouldn't switch between shorthand/not shorthand based on a runtime flag |
| { |
| name: "text-decoration", |
| api_class: true, |
| longhands: "text-decoration-line;text-decoration-style;text-decoration-color", |
| use_handlers_for: "CSSPropertyTextDecorationLine", |
| }, |
| { |
| name: "text-decoration-color", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| interpolable: true, |
| runtime_flag: "CSS3TextDecorations", |
| }, |
| { |
| name: "text-decoration-line", |
| api_class: "CSSPropertyAPITextDecorationLine", |
| converter: "ConvertFlags<TextDecoration>", |
| name_for_methods: "TextDecoration", |
| runtime_flag: "CSS3TextDecorations", |
| type_name: "TextDecoration", |
| }, |
| { |
| name: "text-decoration-skip", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFlags<TextDecorationSkip>", |
| inherited: true, |
| runtime_flag: "CSS3TextDecorations", |
| type_name: "TextDecorationSkip", |
| }, |
| { |
| name: "text-decoration-style", |
| runtime_flag: "CSS3TextDecorations", |
| type_name: "TextDecorationStyle", |
| }, |
| { |
| name: "text-indent", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| interpolable: true, |
| }, |
| { |
| name: "text-justify", |
| inherited: true, |
| runtime_flag: "CSS3Text", |
| type_name: "TextJustify", |
| }, |
| { |
| name: "text-overflow", |
| type_name: "TextOverflow", |
| }, |
| { |
| name: "text-shadow", |
| api_class: "CSSPropertyAPIShadow", |
| converter: "ConvertShadowList", |
| inherited: true, |
| interpolable: true, |
| }, |
| { |
| name: "text-size-adjust", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertTextSizeAdjust", |
| inherited: true, |
| type_name: "TextSizeAdjust", |
| }, |
| { |
| name: "text-transform", |
| independent: true, |
| inherited: true, |
| default_value: "none", |
| field_template: "keyword", |
| keywords: ["capitalize", "uppercase", "lowercase", "none"], |
| }, |
| { |
| name: "text-underline-position", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| inherited: true, |
| runtime_flag: "CSS3TextDecorations", |
| type_name: "TextUnderlinePosition", |
| }, |
| { |
| name: "top", |
| api_class: "CSSPropertyAPIMargin", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLengthOrAuto", |
| interpolable: true, |
| keywords: ["auto"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| field_template: "external", |
| field_type_path: "platform/Length", |
| field_group: "surround", |
| default_value: "Length()", |
| }, |
| { |
| name: "touch-action", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertFlags<TouchAction>", |
| type_name: "TouchAction", |
| }, |
| { |
| name: "transform", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertTransformOperations", |
| interpolable: true, |
| keywords: ["none"], |
| typedom_types: ["Transform"], |
| }, |
| { |
| name: "transform-box", |
| field_template: "keyword", |
| keywords: ["border-box", "fill-box", "view-box"], |
| default_value: "border-box", |
| runtime_flag: "CSSTransformBox", |
| }, |
| { |
| name: "transform-origin", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertTransformOrigin", |
| getter: "GetTransformOrigin", |
| interpolable: true, |
| }, |
| { |
| name: "transform-style", |
| name_for_methods: "TransformStyle3D", |
| }, |
| { |
| name: "translate", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertTranslate", |
| interpolable: true, |
| runtime_flag: "CSSIndependentTransformProperties", |
| }, |
| { |
| name: "rotate", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertRotate", |
| interpolable: true, |
| runtime_flag: "CSSIndependentTransformProperties", |
| }, |
| { |
| name: "scale", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertScale", |
| interpolable: true, |
| runtime_flag: "CSSIndependentTransformProperties", |
| }, |
| { |
| name: "unicode-bidi", |
| field_type_path: "platform/text/UnicodeBidi", |
| default_value: "normal", |
| field_template: "keyword", |
| keywords: [ |
| "normal", "embed", "bidi-override", "isolate", "plaintext", "isolate-override", |
| ], |
| type_name: "UnicodeBidi", |
| }, |
| { |
| name: "vector-effect", |
| svg: true, |
| }, |
| { |
| name: "vertical-align", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_inherit: true, |
| custom_value: true, |
| interpolable: true, |
| }, |
| { |
| name: "visibility", |
| independent: true, |
| inherited: true, |
| default_value: "visible", |
| interpolable: true, |
| field_template: "keyword", |
| keywords: ["visible", "hidden", "collapse"], |
| }, |
| { |
| name: "x", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertLength", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "y", |
| api_class: "CSSPropertyAPIStrokeOrLength", |
| converter: "ConvertLength", |
| interpolable: true, |
| svg: true, |
| }, |
| { |
| name: "-webkit-appearance", |
| type_name: "ControlPart", |
| }, |
| { |
| name: "-webkit-app-region", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-background-clip", |
| use_handlers_for: "CSSPropertyBackgroundClip", |
| }, |
| { |
| name: "-webkit-background-origin", |
| use_handlers_for: "CSSPropertyBackgroundOrigin", |
| }, |
| { |
| name: "-webkit-border-horizontal-spacing", |
| api_class: "CSSPropertyAPIWebkitBorderSpacing", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<short>", |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "HorizontalBorderSpacing", |
| }, |
| { |
| name: "-webkit-border-image", |
| api_class: true, |
| custom_value: true, |
| initial: "InitialNinePieceImage", |
| }, |
| { |
| name: "-webkit-border-vertical-spacing", |
| api_class: "CSSPropertyAPIWebkitBorderSpacing", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<short>", |
| inherited: true, |
| interpolable: true, |
| name_for_methods: "VerticalBorderSpacing", |
| }, |
| { |
| name: "-webkit-box-align", |
| type_name: "EBoxAlignment", |
| }, |
| "-webkit-box-decoration-break", |
| { |
| name: "-webkit-box-direction", |
| independent: true, |
| inherited: true, |
| default_value: "normal", |
| field_template: "keyword", |
| keywords: ["normal", "reverse"], |
| }, |
| { |
| name: "-webkit-box-flex", |
| api_class: true, |
| type_name: "float", |
| }, |
| { |
| name: "-webkit-box-flex-group", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| type_name: "unsigned int", |
| }, |
| "-webkit-box-lines", |
| { |
| name: "-webkit-box-ordinal-group", |
| api_class: "CSSPropertyAPIFragmentation", |
| api_methods: ["parseSingleValue"], |
| type_name: "unsigned int", |
| }, |
| "-webkit-box-orient", |
| "-webkit-box-pack", |
| { |
| name: "-webkit-box-reflect", |
| converter: "ConvertBoxReflect", |
| }, |
| { |
| name: "column-count", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| interpolable: true, |
| type_name: "unsigned short", |
| }, |
| { |
| name: "column-gap", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<float>", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "column-rule-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "column-rule-style", |
| initial: "InitialBorderStyle", |
| type_name: "EBorderStyle", |
| }, |
| { |
| name: "column-rule-width", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertLineWidth<unsigned short>", |
| interpolable: true, |
| }, |
| { |
| name: "column-span", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| type_name: "ColumnSpan", |
| }, |
| { |
| name: "column-width", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<float>", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-highlight", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertString<CSSValueNone>", |
| inherited: true, |
| }, |
| { |
| name: "-webkit-hyphenate-character", |
| converter: "ConvertString<CSSValueAuto>", |
| inherited: true, |
| name_for_methods: "HyphenationString", |
| }, |
| { |
| name: "-webkit-line-break", |
| inherited: true, |
| type_name: "LineBreak", |
| }, |
| { |
| name: "-webkit-line-clamp", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| type_name: "LineClampValue", |
| }, |
| { |
| name: "-webkit-margin-after-collapse", |
| type_name: "EMarginCollapse", |
| }, |
| { |
| name: "-webkit-margin-before-collapse", |
| type_name: "EMarginCollapse", |
| }, |
| { |
| name: "-webkit-margin-bottom-collapse", |
| name_for_methods: "MarginAfterCollapse", |
| type_name: "EMarginCollapse", |
| }, |
| { |
| name: "-webkit-margin-top-collapse", |
| name_for_methods: "MarginBeforeCollapse", |
| type_name: "EMarginCollapse", |
| }, |
| { |
| name: "-webkit-mask-box-image-outset", |
| api_class: "CSSPropertyAPIBorderImageOutset", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-box-image-repeat", |
| api_class: "CSSPropertyAPIBorderImageRepeat", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-mask-box-image-slice", |
| api_class: "CSSPropertyAPIBorderImageSlice", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-box-image-source", |
| api_class: "CSSPropertyAPIImage", |
| api_methods: ["parseSingleValue"], |
| custom_value: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-box-image-width", |
| api_class: "CSSPropertyAPIBorderImageWidth", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-clip", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-mask-composite", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-mask-image", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-origin", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-mask-position-x", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-position-y", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-mask-repeat-x", |
| api_class: "CSSPropertyAPIWebkitMaskRepeat", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-mask-repeat-y", |
| api_class: "CSSPropertyAPIWebkitMaskRepeat", |
| custom_all: true, |
| }, |
| { |
| name: "-webkit-mask-size", |
| custom_all: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-perspective-origin-x", |
| api_class: "CSSPropertyAPIWebkitOriginX", |
| converter: "ConvertLength", |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-perspective-origin-y", |
| api_class: "CSSPropertyAPIWebkitOriginY", |
| converter: "ConvertLength", |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-print-color-adjust", |
| independent: true, |
| inherited: true, |
| default_value: "economy", |
| field_template: "keyword", |
| keywords: ["economy", "exact"], |
| }, |
| { |
| name: "-webkit-rtl-ordering", |
| independent: true, |
| inherited: true, |
| initial: "InitialRtlOrdering", |
| default_value: "logical", |
| field_template: "keyword", |
| keywords: ["logical", "visual"], |
| setter: "SetRtlOrdering", |
| type_name: "EOrder", |
| }, |
| { |
| name: "-webkit-ruby-position", |
| inherited: true, |
| type_name: "RubyPosition", |
| }, |
| { |
| name: "-webkit-tap-highlight-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertColor", |
| inherited: true, |
| }, |
| { |
| name: "-webkit-text-combine", |
| inherited: true, |
| name_for_methods: "TextCombine", |
| type_name: "TextCombine", |
| }, |
| { |
| name: "-webkit-text-emphasis-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| }, |
| { |
| name: "-webkit-text-emphasis-position", |
| inherited: true, |
| type_name: "TextEmphasisPosition", |
| }, |
| { |
| name: "-webkit-text-emphasis-style", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| }, |
| { |
| name: "-webkit-text-fill-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| }, |
| { |
| name: "-webkit-text-security", |
| inherited: true, |
| }, |
| { |
| name: "-webkit-text-stroke-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| inherited: true, |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-text-stroke-width", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertTextStrokeWidth", |
| inherited: true, |
| }, |
| { |
| name: "-webkit-transform-origin-x", |
| api_class: "CSSPropertyAPIWebkitOriginX", |
| converter: "ConvertLength", |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-transform-origin-y", |
| api_class: "CSSPropertyAPIWebkitOriginY", |
| converter: "ConvertLength", |
| interpolable: true, |
| }, |
| { |
| name: "-webkit-transform-origin-z", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertComputedLength<float>", |
| interpolable: true, |
| }, |
| "-webkit-user-drag", |
| { |
| name: "-webkit-user-modify", |
| inherited: true, |
| }, |
| { |
| name: "user-select", |
| inherited: true, |
| }, |
| { |
| name: "white-space", |
| independent: true, |
| inherited: true, |
| default_value: "normal", |
| field_template: "keyword", |
| keywords: ["normal", "pre", "pre-wrap", "pre-line", "nowrap", "-webkit-nowrap"], |
| }, |
| { |
| name: "widows", |
| api_class: "CSSPropertyAPIFragmentation", |
| api_methods: ["parseSingleValue"], |
| inherited: true, |
| interpolable: true, |
| type_name: "short", |
| }, |
| { |
| name: "width", |
| api_class: "CSSPropertyAPIWidthOrHeight", |
| converter: "ConvertLengthSizing", |
| is_descriptor: true, |
| initial: "InitialSize", |
| interpolable: true, |
| keywords: ["auto", "fit-content", "min-content", "max-content"], |
| supports_percentage: true, |
| typedom_types: ["Length"], |
| }, |
| { |
| name: "will-change", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| }, |
| { |
| name: "word-break", |
| inherited: true, |
| }, |
| { |
| name: "word-spacing", |
| api_class: "CSSPropertyAPILetterAndWordSpacing", |
| api_methods: ["parseSingleValue"], |
| converter: "ConvertSpacing", |
| inherited: true, |
| initial: "InitialLetterWordSpacing", |
| interpolable: true, |
| }, |
| // UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers. |
| { |
| name: "word-wrap", |
| inherited: true, |
| name_for_methods: "OverflowWrap", |
| }, |
| { |
| name: "z-index", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| custom_all: true, |
| interpolable: true, |
| type_name: "int", |
| }, |
| |
| // CSS logical props |
| { |
| name: "inline-size", |
| direction_aware: true, |
| }, |
| { |
| name: "block-size", |
| direction_aware: true, |
| }, |
| { |
| name: "min-inline-size", |
| direction_aware: true, |
| }, |
| { |
| name: "min-block-size", |
| direction_aware: true, |
| }, |
| { |
| name: "max-inline-size", |
| api_class: "CSSPropertyAPIWebkitMaxLogicalWidthOrHeight", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "max-block-size", |
| api_class: "CSSPropertyAPIWebkitMaxLogicalWidthOrHeight", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| |
| // Non-standard direction aware properties |
| |
| { |
| name: "-webkit-border-end-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-end-style", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-end-width", |
| api_class: "CSSPropertyAPIWebkitBorderWidth", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-start-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-start-style", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-start-width", |
| api_class: "CSSPropertyAPIWebkitBorderWidth", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-before-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-before-style", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-before-width", |
| api_class: "CSSPropertyAPIWebkitBorderWidth", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-after-color", |
| api_class: "CSSPropertyAPIColor", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-after-style", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-border-after-width", |
| api_class: "CSSPropertyAPIWebkitBorderWidth", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-margin-end", |
| api_class: "CSSPropertyAPIWebkitMargin", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-margin-start", |
| api_class: "CSSPropertyAPIWebkitMargin", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-margin-before", |
| api_class: "CSSPropertyAPIWebkitMargin", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-margin-after", |
| api_class: "CSSPropertyAPIWebkitMargin", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-padding-end", |
| api_class: "CSSPropertyAPIWebkitPadding", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-padding-start", |
| api_class: "CSSPropertyAPIWebkitPadding", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-padding-before", |
| api_class: "CSSPropertyAPIWebkitPadding", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-padding-after", |
| api_class: "CSSPropertyAPIWebkitPadding", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-logical-width", |
| api_class: "CSSPropertyAPIWebkitLogicalWidthOrHeight", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-logical-height", |
| api_class: "CSSPropertyAPIWebkitLogicalWidthOrHeight", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-min-logical-width", |
| api_class: "CSSPropertyAPIWebkitLogicalWidthOrHeight", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-min-logical-height", |
| api_class: "CSSPropertyAPIWebkitLogicalWidthOrHeight", |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-max-logical-width", |
| api_class: "CSSPropertyAPIWebkitMaxLogicalWidthOrHeight", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| { |
| name: "-webkit-max-logical-height", |
| api_class: "CSSPropertyAPIWebkitMaxLogicalWidthOrHeight", |
| api_methods: ["parseSingleValue"], |
| direction_aware: true, |
| }, |
| |
| // Properties that we ignore in the StyleBuilder. |
| // TODO(timloh): This seems wrong, most of these shouldn't reach the StyleBuilder |
| |
| { |
| name: "all", |
| builder_skip: true, |
| }, |
| { |
| name: "page", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| builder_skip: true, |
| }, |
| { |
| name: "-webkit-font-size-delta", |
| api_class: true, |
| api_methods: ["parseSingleValue"], |
| builder_skip: true, |
| }, |
| { |
| name: "-webkit-text-decorations-in-effect", |
| api_class: "CSSPropertyAPITextDecorationLine", |
| builder_skip: true, |
| inherited: true, |
| }, |
| |
| // Descriptor only names |
| |
| { |
| name: "font-display", |
| is_descriptor: true, |
| is_property: false, |
| runtime_flag: "CSSFontDisplay", |
| }, |
| { |
| name: "max-zoom", |
| is_descriptor: true, |
| is_property: false, |
| }, |
| { |
| name: "min-zoom", |
| is_descriptor: true, |
| is_property: false, |
| }, |
| { |
| name: "orientation", |
| is_descriptor: true, |
| is_property: false, |
| }, |
| { |
| name: "src", |
| is_descriptor: true, |
| is_property: false, |
| }, |
| { |
| name: "unicode-range", |
| is_descriptor: true, |
| is_property: false, |
| }, |
| { |
| name: "user-zoom", |
| is_descriptor: true, |
| is_property: false, |
| }, |
| |
| // Shorthands |
| |
| { |
| name: "animation", |
| longhands: "animation-name;animation-duration;animation-timing-function;animation-delay;animation-iteration-count;animation-direction;animation-fill-mode;animation-play-state", |
| }, |
| { |
| name: "background", |
| 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", |
| }, |
| { |
| name: "background-position", |
| longhands: "background-position-x;background-position-y", |
| }, |
| { |
| name: "background-repeat", |
| longhands: "background-repeat-x;background-repeat-y", |
| }, |
| { |
| name: "border", |
| 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;border-image-source;border-image-slice;border-image-width;border-image-outset;border-image-repeat", |
| }, |
| { |
| name: "border-bottom", |
| longhands: "border-bottom-width;border-bottom-style;border-bottom-color", |
| }, |
| { |
| name: "border-color", |
| longhands: "border-top-color;border-right-color;border-bottom-color;border-left-color", |
| }, |
| { |
| name: "border-image", |
| longhands: "border-image-source;border-image-slice;border-image-width;border-image-outset;border-image-repeat", |
| }, |
| { |
| name: "border-left", |
| longhands: "border-left-width;border-left-style;border-left-color", |
| }, |
| { |
| name: "border-radius", |
| longhands: "border-top-left-radius;border-top-right-radius;border-bottom-right-radius;border-bottom-left-radius", |
| }, |
| { |
| name: "border-right", |
| longhands: "border-right-width;border-right-style;border-right-color", |
| }, |
| { |
| name: "border-spacing", |
| longhands: "-webkit-border-horizontal-spacing;-webkit-border-vertical-spacing", |
| }, |
| { |
| name: "border-style", |
| longhands: "border-top-style;border-right-style;border-bottom-style;border-left-style", |
| keywords: ["none"], |
| typedom_types: ["Image"], |
| }, |
| { |
| name: "border-top", |
| longhands: "border-top-width;border-top-style;border-top-color", |
| }, |
| { |
| name: "border-width", |
| longhands: "border-top-width;border-right-width;border-bottom-width;border-left-width", |
| }, |
| { |
| name: "flex", |
| longhands: "flex-grow;flex-shrink;flex-basis", |
| }, |
| { |
| name: "flex-flow", |
| longhands: "flex-direction;flex-wrap", |
| }, |
| { |
| name: "font", |
| longhands: "font-style;font-variant-ligatures;font-variant-caps;font-variant-numeric;font-weight;font-stretch;font-size;line-height;font-family", |
| }, |
| { |
| name: "font-variant", |
| is_descriptor: true, |
| longhands: "font-variant-ligatures;font-variant-caps;font-variant-numeric", |
| }, |
| { |
| name: "grid", |
| 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", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "place-content", |
| longhands: "align-content;justify-content", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "place-items", |
| longhands: "align-items;justify-items", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "place-self", |
| longhands: "align-self;justify-self", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-area", |
| longhands: "grid-row-start;grid-column-start;grid-row-end;grid-column-end", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-column", |
| longhands: "grid-column-start;grid-column-end", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-gap", |
| longhands: "grid-row-gap;grid-column-gap", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-row", |
| longhands: "grid-row-start;grid-row-end", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "grid-template", |
| longhands: "grid-template-rows;grid-template-columns;grid-template-areas", |
| runtime_flag: "CSSGridLayout", |
| }, |
| { |
| name: "list-style", |
| longhands: "list-style-type;list-style-position;list-style-image", |
| }, |
| { |
| name: "margin", |
| longhands: "margin-top;margin-right;margin-bottom;margin-left", |
| }, |
| { |
| name: "marker", |
| longhands: "marker-start;marker-mid;marker-end", |
| }, |
| { |
| name: "offset", |
| longhands: "offset-path;offset-distance;offset-rotation", |
| }, |
| { |
| name: "outline", |
| longhands: "outline-color;outline-style;outline-width", |
| }, |
| { |
| name: "overflow", |
| longhands: "overflow-x;overflow-y", |
| }, |
| { |
| name: "padding", |
| longhands: "padding-top;padding-right;padding-bottom;padding-left", |
| }, |
| { |
| name: "page-break-after", |
| longhands: "break-after", |
| }, |
| { |
| name: "page-break-before", |
| longhands: "break-before", |
| }, |
| { |
| name: "page-break-inside", |
| longhands: "break-inside", |
| }, |
| { |
| name: "transition", |
| longhands: "transition-property;transition-duration;transition-timing-function;transition-delay", |
| }, |
| { |
| name: "-webkit-border-after", |
| longhands: "-webkit-border-after-width;-webkit-border-after-style;-webkit-border-after-color", |
| }, |
| { |
| name: "-webkit-border-before", |
| longhands: "-webkit-border-before-width;-webkit-border-before-style;-webkit-border-before-color", |
| }, |
| { |
| name: "-webkit-border-end", |
| longhands: "-webkit-border-end-width;-webkit-border-end-style;-webkit-border-end-color", |
| }, |
| { |
| name: "-webkit-border-start", |
| longhands: "-webkit-border-start-width;-webkit-border-start-style;-webkit-border-start-color", |
| }, |
| { |
| name: "-webkit-column-break-after", |
| longhands: "break-after", |
| }, |
| { |
| name: "-webkit-column-break-before", |
| longhands: "break-before", |
| }, |
| { |
| name: "-webkit-column-break-inside", |
| longhands: "break-inside", |
| }, |
| { |
| name: "column-rule", |
| longhands: "column-rule-width;column-rule-style;column-rule-color", |
| }, |
| { |
| name: "columns", |
| longhands: "column-width;column-count", |
| }, |
| { |
| name: "-webkit-margin-collapse", |
| longhands: "-webkit-margin-before-collapse;-webkit-margin-after-collapse", |
| }, |
| { |
| name: "-webkit-mask", |
| longhands: "-webkit-mask-image;-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", |
| }, |
| { |
| name: "-webkit-mask-box-image", |
| longhands: "-webkit-mask-box-image-source;-webkit-mask-box-image-slice;-webkit-mask-box-image-width;-webkit-mask-box-image-outset;-webkit-mask-box-image-repeat", |
| }, |
| { |
| name: "-webkit-mask-position", |
| longhands: "-webkit-mask-position-x;-webkit-mask-position-y", |
| }, |
| { |
| name: "-webkit-mask-repeat", |
| longhands: "-webkit-mask-repeat-x;-webkit-mask-repeat-y", |
| }, |
| { |
| name: "-webkit-text-emphasis", |
| longhands: "-webkit-text-emphasis-style;-webkit-text-emphasis-color", |
| }, |
| { |
| name: "-webkit-text-stroke", |
| longhands: "-webkit-text-stroke-width;-webkit-text-stroke-color", |
| }, |
| |
| // Aliases; these map to the same CSSPropertyID |
| |
| { |
| name: "-epub-caption-side", |
| alias_for: "caption-side", |
| }, |
| { |
| name: "-epub-text-combine", |
| alias_for: "-webkit-text-combine", |
| }, |
| { |
| name: "-epub-text-emphasis", |
| alias_for: "-webkit-text-emphasis", |
| }, |
| { |
| name: "-epub-text-emphasis-color", |
| alias_for: "-webkit-text-emphasis-color", |
| }, |
| { |
| name: "-epub-text-emphasis-style", |
| alias_for: "-webkit-text-emphasis-style", |
| }, |
| { |
| name: "-epub-text-orientation", |
| alias_for: "-webkit-text-orientation", |
| }, |
| { |
| name: "-epub-text-transform", |
| alias_for: "text-transform", |
| }, |
| { |
| name: "-epub-word-break", |
| alias_for: "word-break", |
| }, |
| { |
| name: "-epub-writing-mode", |
| alias_for: "-webkit-writing-mode", |
| }, |
| { |
| name: "-webkit-align-content", |
| alias_for: "align-content", |
| }, |
| { |
| name: "-webkit-align-items", |
| alias_for: "align-items", |
| }, |
| { |
| name: "-webkit-align-self", |
| alias_for: "align-self", |
| }, |
| { |
| name: "-webkit-animation", |
| alias_for: "animation", |
| }, |
| { |
| name: "-webkit-animation-delay", |
| alias_for: "animation-delay", |
| }, |
| { |
| name: "-webkit-animation-direction", |
| alias_for: "animation-direction", |
| }, |
| { |
| name: "-webkit-animation-duration", |
| alias_for: "animation-duration", |
| }, |
| { |
| name: "-webkit-animation-fill-mode", |
| alias_for: "animation-fill-mode", |
| }, |
| { |
| name: "-webkit-animation-iteration-count", |
| alias_for: "animation-iteration-count", |
| }, |
| { |
| name: "-webkit-animation-name", |
| alias_for: "animation-name", |
| }, |
| { |
| name: "-webkit-animation-play-state", |
| alias_for: "animation-play-state", |
| }, |
| { |
| name: "-webkit-animation-timing-function", |
| alias_for: "animation-timing-function", |
| }, |
| { |
| name: "-webkit-backface-visibility", |
| alias_for: "backface-visibility", |
| }, |
| // "-webkit-background-size: 10px" behaves as "background-size: 10px 10px" |
| { |
| name: "-webkit-background-size", |
| alias_for: "background-size", |
| }, |
| { |
| name: "-webkit-border-bottom-left-radius", |
| alias_for: "border-bottom-left-radius", |
| }, |
| { |
| name: "-webkit-border-bottom-right-radius", |
| alias_for: "border-bottom-right-radius", |
| }, |
| // "-webkit-border-radius: 1px 2px" behaves as "border-radius: 1px / 2px" |
| { |
| name: "-webkit-border-radius", |
| alias_for: "border-radius", |
| }, |
| { |
| name: "-webkit-border-top-left-radius", |
| alias_for: "border-top-left-radius", |
| }, |
| { |
| name: "-webkit-border-top-right-radius", |
| alias_for: "border-top-right-radius", |
| }, |
| { |
| name: "-webkit-box-shadow", |
| api_class: "CSSPropertyAPIShadow", |
| alias_for: "box-shadow", |
| }, |
| { |
| name: "-webkit-box-sizing", |
| alias_for: "box-sizing", |
| }, |
| { |
| name: "-webkit-clip-path", |
| alias_for: "clip-path", |
| }, |
| { |
| name: "-webkit-column-count", |
| alias_for: "column-count", |
| }, |
| { |
| name: "-webkit-column-gap", |
| alias_for: "column-gap", |
| }, |
| { |
| name: "-webkit-column-rule", |
| alias_for: "column-rule", |
| }, |
| { |
| name: "-webkit-column-rule-color", |
| alias_for: "column-rule-color", |
| }, |
| { |
| name: "-webkit-column-rule-style", |
| alias_for: "column-rule-style", |
| }, |
| { |
| name: "-webkit-column-rule-width", |
| alias_for: "column-rule-width", |
| }, |
| { |
| name: "-webkit-column-span", |
| alias_for: "column-span", |
| }, |
| { |
| name: "-webkit-column-width", |
| alias_for: "column-width", |
| }, |
| { |
| name: "-webkit-columns", |
| alias_for: "columns", |
| }, |
| { |
| name: "-webkit-filter", |
| alias_for: "filter", |
| }, |
| { |
| name: "-webkit-flex", |
| alias_for: "flex", |
| }, |
| { |
| name: "-webkit-flex-basis", |
| alias_for: "flex-basis", |
| }, |
| { |
| name: "-webkit-flex-direction", |
| alias_for: "flex-direction", |
| }, |
| { |
| name: "-webkit-flex-flow", |
| alias_for: "flex-flow", |
| }, |
| { |
| name: "-webkit-flex-grow", |
| alias_for: "flex-grow", |
| }, |
| { |
| name: "-webkit-flex-shrink", |
| alias_for: "flex-shrink", |
| }, |
| { |
| name: "-webkit-flex-wrap", |
| alias_for: "flex-wrap", |
| }, |
| { |
| name: "-webkit-font-feature-settings", |
| alias_for: "font-feature-settings", |
| }, |
| { |
| name: "-webkit-justify-content", |
| alias_for: "justify-content", |
| }, |
| { |
| name: "line-break", |
| alias_for: "-webkit-line-break", |
| runtime_flag: "CSSLineBreak", |
| }, |
| { |
| name: "-webkit-opacity", |
| alias_for: "opacity", |
| }, |
| { |
| name: "-webkit-order", |
| alias_for: "order", |
| }, |
| { |
| name: "-webkit-perspective", |
| alias_for: "perspective", |
| }, |
| { |
| name: "-webkit-perspective-origin", |
| alias_for: "perspective-origin", |
| }, |
| { |
| name: "-webkit-shape-image-threshold", |
| alias_for: "shape-image-threshold", |
| }, |
| { |
| name: "-webkit-shape-margin", |
| alias_for: "shape-margin", |
| }, |
| { |
| name: "-webkit-shape-outside", |
| alias_for: "shape-outside", |
| }, |
| { |
| name: "-webkit-text-size-adjust", |
| alias_for: "text-size-adjust", |
| }, |
| { |
| name: "-webkit-transform", |
| alias_for: "transform", |
| }, |
| { |
| name: "-webkit-transform-origin", |
| alias_for: "transform-origin", |
| }, |
| { |
| name: "-webkit-transform-style", |
| alias_for: "transform-style", |
| }, |
| { |
| name: "-webkit-transition", |
| alias_for: "transition", |
| }, |
| { |
| name: "-webkit-transition-delay", |
| alias_for: "transition-delay", |
| }, |
| { |
| name: "-webkit-transition-duration", |
| alias_for: "transition-duration", |
| }, |
| { |
| name: "-webkit-transition-property", |
| alias_for: "transition-property", |
| }, |
| { |
| name: "-webkit-transition-timing-function", |
| alias_for: "transition-timing-function", |
| }, |
| { |
| name: "-webkit-user-select", |
| alias_for: "user-select", |
| }, |
| ], |
| } |