UNPKG

32.3 kBPlain TextView Raw
1// This file specifies all the CSS properties we support and the necessary
2// information for our code generation. The various supported arguments
3// are described below with example usage
4
5
6// - alias_for=other-property
7// Properties specifying alias_for should be virtually identical to the
8// properties they alias. Minor parsing differences are allowed as long as
9// the CSSValues created are of the same format of the aliased property.
10
11
12// - runtime_flag=CSSGridLayout
13// The flag on RuntimeEnabledFeatures conditionally enables the property.
14// This doesn't currently work with alias_for.
15
16
17// - descriptor_only
18// These are actually descriptors and not CSS properties. Properties with
19// the same name as a descriptor do not get this flag.
20
21
22// - longhands=property;other-property
23// The property is a shorthand for several other properties.
24
25
26// Flags which go into CSSOMTypes:
27// - typedom_types=[Type|OtherType]
28// The property can take types specified in typedom_types for CSS Typed OM.
29// Keyword does not need to be specified as every property can take keywords.
30// - keywords=[keyword1|keyword2]
31// The property can take these keywords.
32// - supports_multiple
33// The property supports a list of values.
34// - supports_percentage
35// The property supports percentage types.
36
37
38// Flags which go into CSSPropertyMetadata:
39// - interpolable
40// The interpolable flag indicates whether a property can be animated smoothly.
41// If this flag is set, the property should also be added to the switch
42// statements in AnimatedStyleBuilder, CSSPropertyEquality and
43// CSSAnimatableValueFactory.
44// - inherited
45// The property will inherit by default if no value is specified, typically
46// mentioned in specifications as "Inherited: yes"
47
48
49// The remaining arguments are used for the StyleBuilder and allow us to
50// succinctly describe how to apply properties. When default handlers are not
51// sufficient, we should prefer to use converter, and failing that define
52// custom property handlers in StyleBuilderCustom.cpp. We only should use
53// StyleBuilderFunctions.cpp.tmpl to define handlers when there are multiple
54// properties requiring the same handling, but converter doesn't suffice.
55
56// - font
57// The default property handlers call into the FontBuilder instead of setting
58// values directly onto the ComputedStyle
59// - svg
60// The default property handlers access the SVGComputedStyle
61
62// - name_for_methods=BlendMode
63// Tweaks how we choose defaults for getter, setter, initial and type_name.
64// For example, setting this to BlendMode will make us use a setter of setBlendMode
65// - initial
66// The initial value accessor on the ComputedStyle, defaults to e.g. initialBoxShadow
67// - getter
68// The ComputedStyle getter, defaults to e.g. borderBottomLeft
69// - setter
70// The ComputedStyle setter, defaults to e.g. setBorderBottomLeft
71// - type_name
72// The computed type for the property. Only required for the default value
73// application, defaults to e.g. EDisplay
74
75// - converter=convertRadius
76// The StyleBuilder will call the specified function on StyleBuilderConverter
77// to convert a CSSValue to an appropriate platform value
78
79// - custom_initial
80// - custom_inherit
81// - custom_value
82// - custom_all
83// Handlers of the given types will be declared but not defined. Setting
84// custom_all is equivalent to setting the other three flags
85
86// - use_handlers_for=CSSPropertyTransform
87// Use handlers for the specified property instead of defining new ones
88
89// - builder_skip
90// Ignore this property in the StyleBuilder
91
92// - direction_aware
93// This property resolves to a different property based on the current direction
94// and writing mode.
95
96
97// Properties with StyleBuilder handling
98
99// High Priority and all other font properties.
100// Other properties can depend upon high priority properties (e.g. font-size / ems)
101color interpolable, inherited, custom_all
102direction inherited, custom_value
103font-family inherited, font, type_name=FontDescription::FamilyDescription, name_for_methods=FamilyDescription, converter=convertFontFamily
104font-kerning inherited, font, type_name=FontDescription::Kerning, name_for_methods=Kerning
105font-size interpolable, inherited, font, name_for_methods=Size, getter=getSize, converter=convertFontSize
106font-size-adjust runtime_flag=CSSFontSizeAdjust, interpolable, inherited, font, name_for_methods=SizeAdjust, converter=convertFontSizeAdjust
107font-stretch inherited, font, type_name=FontStretch, name_for_methods=Stretch
108font-style inherited, font, type_name=FontStyle, name_for_methods=Style
109font-variant-ligatures inherited, font, type_name=VariantLigatures, name_for_methods=VariantLigatures, converter=convertFontVariantLigatures
110font-variant-caps inherited, font, name_for_methods=VariantCaps, converter=convertFontVariantCaps
111font-variant-numeric inherited, font, name_for_methods=VariantNumeric, converter=convertFontVariantNumeric
112font-weight interpolable, inherited, font, type_name=FontWeight, name_for_methods=Weight, converter=convertFontWeight
113font-feature-settings inherited, font, name_for_methods=FeatureSettings, converter=convertFontFeatureSettings
114-webkit-font-smoothing inherited, font, type_name=FontSmoothingMode
115-webkit-locale inherited, font, custom_value
116text-orientation inherited, custom_value, type_name=TextOrientation
117-webkit-text-orientation inherited, custom_value, type_name=TextOrientation
118writing-mode inherited, custom_value, type_name=WritingMode
119-webkit-writing-mode inherited, custom_value, type_name=WritingMode
120text-rendering inherited, font, type_name=TextRenderingMode
121zoom custom_all
122
123align-content initial=initialContentAlignment, converter=convertContentAlignmentData
124align-items initial=initialSelfAlignment, converter=convertSelfOrDefaultAlignmentData
125alignment-baseline svg
126align-self initial=initialSelfAlignment, converter=convertSelfOrDefaultAlignmentData
127animation-delay custom_all
128animation-direction custom_all
129animation-duration custom_all
130animation-fill-mode custom_all
131animation-iteration-count custom_all
132animation-name custom_all
133animation-play-state custom_all
134animation-timing-function custom_all
135backdrop-filter interpolable, converter=convertFilterOperations, runtime_flag=CSSBackdropFilter
136backface-visibility
137background-attachment custom_all
138background-blend-mode custom_all
139background-clip custom_all
140background-color interpolable, custom_all
141background-image interpolable, custom_all
142background-origin custom_all
143background-position-x interpolable, custom_all
144background-position-y interpolable, custom_all
145background-repeat-x custom_all
146background-repeat-y custom_all
147background-size interpolable, custom_all
148baseline-shift interpolable, svg, custom_inherit, custom_value
149border-bottom-color interpolable, custom_all
150border-bottom-left-radius interpolable, initial=initialBorderRadius, converter=convertRadius
151border-bottom-right-radius interpolable, initial=initialBorderRadius, converter=convertRadius
152border-bottom-style type_name=EBorderStyle, initial=initialBorderStyle
153border-bottom-width interpolable, initial=initialBorderWidth, converter=convertLineWidth<unsigned>
154border-collapse inherited
155border-image-outset interpolable, custom_all
156border-image-repeat custom_all
157border-image-slice interpolable, custom_all
158border-image-source interpolable, custom_value
159border-image-width interpolable, custom_all
160border-left-color interpolable, custom_all
161border-left-style type_name=EBorderStyle, initial=initialBorderStyle
162border-left-width interpolable, initial=initialBorderWidth, converter=convertLineWidth<unsigned>
163border-right-color interpolable, custom_all
164border-right-style type_name=EBorderStyle, initial=initialBorderStyle
165border-right-width interpolable, initial=initialBorderWidth, converter=convertLineWidth<unsigned>
166border-top-color interpolable, custom_all
167border-top-left-radius interpolable, initial=initialBorderRadius, converter=convertRadius
168border-top-right-radius interpolable, initial=initialBorderRadius, converter=convertRadius
169border-top-style type_name=EBorderStyle, initial=initialBorderStyle
170border-top-width interpolable, initial=initialBorderWidth, converter=convertLineWidth<unsigned>, typedom_types=[Length], keywords=[thin|medium|thick], supports_percentage
171bottom interpolable, initial=initialOffset, converter=convertLengthOrAuto
172box-shadow interpolable, converter=convertShadow
173box-sizing
174break-after type_name=EBreak
175break-before type_name=EBreak
176break-inside type_name=EBreak
177buffered-rendering svg
178caption-side inherited
179clear
180clip interpolable, converter=convertClip, custom_all
181clip-path svg, name_for_methods=ClipperResource, converter=convertFragmentIdentifier
182clip-rule inherited, svg, type_name=WindRule
183color-interpolation inherited, svg
184color-interpolation-filters inherited, svg, type_name=EColorInterpolation
185color-rendering inherited, svg
186column-fill type_name=ColumnFill
187contain runtime_flag=CSSContainment, converter=convertFlags<Containment>
188content custom_all
189counter-increment custom_all
190counter-reset custom_all
191cursor inherited, custom_all
192cx interpolable, svg, converter=convertLength
193cy interpolable, svg, converter=convertLength
194d runtime_flag=CSSPropertyD, interpolable, svg, converter=convertPathOrNone
195display
196dominant-baseline inherited, svg
197empty-cells inherited, type_name=EEmptyCells
198fill interpolable, inherited, svg, setter=setFillPaint, custom_all
199fill-opacity interpolable, inherited, svg, converter=convertNumberOrPercentage
200fill-rule inherited, svg, type_name=WindRule
201filter interpolable, converter=convertFilterOperations
202flex-basis interpolable, converter=convertLengthOrAuto
203flex-direction
204flex-grow interpolable, type_name=float
205flex-shrink interpolable, type_name=float
206flex-wrap
207float type_name=EFloat, name_for_methods=Floating
208flood-color interpolable, svg, converter=convertColor
209flood-opacity interpolable, svg, converter=convertNumberOrPercentage
210grid-auto-columns runtime_flag=CSSGridLayout, converter=convertGridTrackSize
211grid-auto-flow runtime_flag=CSSGridLayout, converter=convertGridAutoFlow, type_name=GridAutoFlow
212grid-auto-rows runtime_flag=CSSGridLayout, converter=convertGridTrackSize
213grid-column-end runtime_flag=CSSGridLayout, converter=convertGridPosition
214grid-column-gap runtime_flag=CSSGridLayout, converter=convertLength
215grid-column-start runtime_flag=CSSGridLayout, converter=convertGridPosition
216grid-row-end runtime_flag=CSSGridLayout, converter=convertGridPosition
217grid-row-gap runtime_flag=CSSGridLayout, converter=convertLength
218grid-row-start runtime_flag=CSSGridLayout, converter=convertGridPosition
219grid-template-areas runtime_flag=CSSGridLayout, custom_all
220grid-template-columns runtime_flag=CSSGridLayout, custom_all
221grid-template-rows runtime_flag=CSSGridLayout, custom_all
222height interpolable, initial=initialSize, converter=convertLengthSizing
223hyphens runtime_flag=CSSHyphens, inherited, type_name=Hyphens
224image-rendering inherited
225image-orientation runtime_flag=ImageOrientation, inherited, name_for_methods=RespectImageOrientation, converter=convertImageOrientation
226isolation
227justify-content initial=initialContentAlignment, converter=convertContentAlignmentData
228justify-items runtime_flag=CSSGridLayout, initial=initialSelfAlignment, converter=convertSelfOrDefaultAlignmentData
229justify-self runtime_flag=CSSGridLayout, initial=initialSelfAlignment, converter=convertSelfOrDefaultAlignmentData
230left interpolable, initial=initialOffset, converter=convertLengthOrAuto
231letter-spacing interpolable, inherited, initial=initialLetterWordSpacing, converter=convertSpacing
232lighting-color interpolable, svg, converter=convertColor
233line-height interpolable, inherited, getter=specifiedLineHeight, converter=convertLineHeight
234list-style-image interpolable, inherited, custom_value
235list-style-position inherited
236list-style-type inherited
237margin-bottom interpolable, initial=initialMargin, converter=convertQuirkyLength
238margin-left interpolable, initial=initialMargin, converter=convertQuirkyLength
239margin-right interpolable, initial=initialMargin, converter=convertQuirkyLength
240margin-top interpolable, initial=initialMargin, converter=convertQuirkyLength
241marker-end inherited, svg, name_for_methods=MarkerEndResource, converter=convertFragmentIdentifier
242marker-mid inherited, svg, name_for_methods=MarkerMidResource, converter=convertFragmentIdentifier
243marker-start inherited, svg, name_for_methods=MarkerStartResource, converter=convertFragmentIdentifier
244mask svg, name_for_methods=MaskerResource, converter=convertFragmentIdentifier
245mask-source-type runtime_flag=CSSMaskSourceType, custom_all
246mask-type svg
247max-height interpolable, initial=initialMaxSize, converter=convertLengthMaxSizing
248max-width interpolable, initial=initialMaxSize, converter=convertLengthMaxSizing
249min-height interpolable, initial=initialMinSize, converter=convertLengthSizing
250min-width interpolable, initial=initialMinSize, converter=convertLengthSizing
251mix-blend-mode type_name=blink::WebBlendMode, name_for_methods=BlendMode
252motion-offset interpolable, converter=convertLength
253motion-path converter=convertPathOrNone
254motion-rotation interpolable, converter=convertMotionRotation
255object-fit type_name=ObjectFit
256object-position interpolable, converter=convertPosition
257opacity interpolable, type_name=float
258order type_name=int
259orphans interpolable, inherited, type_name=short
260outline-color interpolable, custom_all
261outline-offset interpolable, converter=convertComputedLength<int>
262outline-style custom_all
263outline-width interpolable, converter=convertLineWidth<unsigned short>
264overflow-wrap inherited
265overflow-x type_name=EOverflow
266overflow-y type_name=EOverflow
267padding-bottom interpolable, initial=initialPadding, converter=convertLength
268padding-left interpolable, initial=initialPadding, converter=convertLength
269padding-right interpolable, initial=initialPadding, converter=convertLength
270padding-top interpolable, initial=initialPadding, converter=convertLength
271paint-order inherited, svg, converter=convertPaintOrder
272perspective interpolable, converter=convertPerspective
273perspective-origin interpolable, converter=convertPosition
274pointer-events inherited
275position custom_inherit
276quotes inherited, converter=convertQuotes
277resize custom_value
278right interpolable, initial=initialOffset, converter=convertLengthOrAuto
279r interpolable, svg, converter=convertLength
280rx interpolable, svg, converter=convertLengthOrAuto
281ry interpolable, svg, converter=convertLengthOrAuto
282scroll-behavior runtime_flag=CSSOMSmoothScroll, type_name=ScrollBehavior
283scroll-snap-type runtime_flag=CSSScrollSnapPoints, type_name=ScrollSnapType
284scroll-snap-points-x runtime_flag=CSSScrollSnapPoints, converter=convertSnapPoints
285scroll-snap-points-y runtime_flag=CSSScrollSnapPoints, converter=convertSnapPoints
286scroll-snap-destination runtime_flag=CSSScrollSnapPoints, converter=convertPosition
287scroll-snap-coordinate runtime_flag=CSSScrollSnapPoints, converter=convertSnapCoordinates
288shape-image-threshold interpolable, type_name=float
289shape-margin interpolable, converter=convertLength
290shape-outside interpolable, converter=convertShapeValue
291shape-rendering inherited, svg
292size custom_all
293snap-height runtime_flag=CSSSnapSize, inherited, custom_all
294speak inherited
295stop-color interpolable, svg, converter=convertColor
296stop-opacity interpolable, svg, converter=convertNumberOrPercentage
297stroke interpolable, inherited, svg, setter=setStrokePaint, custom_all
298stroke-dasharray interpolable, inherited, svg, name_for_methods=StrokeDashArray, converter=convertStrokeDasharray
299stroke-dashoffset interpolable, inherited, svg, name_for_methods=StrokeDashOffset, converter=convertLength
300stroke-linecap svg, inherited, type_name=LineCap, name_for_methods=CapStyle
301stroke-linejoin svg, inherited, type_name=LineJoin, name_for_methods=JoinStyle
302stroke-miterlimit interpolable, inherited, svg, type_name=float, name_for_methods=StrokeMiterLimit
303stroke-opacity interpolable, inherited, svg, converter=convertNumberOrPercentage
304stroke-width interpolable, inherited, svg, converter=convertUnzoomedLength
305table-layout
306tab-size inherited, converter=convertLengthOrTabSpaces, type_name=TabSize
307text-align inherited, custom_value
308text-align-last inherited, type_name=TextAlignLast
309text-anchor inherited, svg
310text-combine-upright inherited, type_name=TextCombine, name_for_methods=TextCombine
311// FIXME: We shouldn't switch between shorthand/not shorthand based on a runtime flag
312text-decoration use_handlers_for=CSSPropertyTextDecorationLine, longhands=text-decoration-line;text-decoration-style;text-decoration-color
313text-decoration-color runtime_flag=CSS3TextDecorations, interpolable, custom_all
314text-decoration-line runtime_flag=CSS3TextDecorations, name_for_methods=TextDecoration, type_name=TextDecoration, converter=convertFlags<TextDecoration>
315text-decoration-style runtime_flag=CSS3TextDecorations, type_name=TextDecorationStyle
316text-indent interpolable, inherited, custom_all
317text-justify runtime_flag=CSS3Text, inherited, type_name=TextJustify
318text-overflow type_name=TextOverflow
319text-shadow interpolable, inherited, converter=convertShadow
320text-transform inherited
321text-underline-position runtime_flag=CSS3TextDecorations, inherited, type_name=TextUnderlinePosition
322top interpolable, initial=initialOffset, converter=convertLengthOrAuto
323touch-action converter=convertFlags<TouchAction>, type_name=TouchAction
324transform typedom_types=[Transform], keywords=[none], interpolable, custom_value
325transform-origin interpolable, converter=convertTransformOrigin
326transform-style name_for_methods=TransformStyle3D
327translate runtime_flag=CSSIndependentTransformProperties, converter=convertTranslate, interpolable
328rotate runtime_flag=CSSIndependentTransformProperties, converter=convertRotate, interpolable
329scale runtime_flag=CSSIndependentTransformProperties, converter=convertScale, interpolable
330transition-delay custom_all
331transition-duration custom_all
332transition-property custom_all
333transition-timing-function custom_all
334unicode-bidi
335vector-effect svg
336vertical-align interpolable, custom_inherit, custom_value
337visibility interpolable, inherited
338x interpolable, svg, converter=convertLength
339y interpolable, svg, converter=convertLength
340-webkit-appearance type_name=ControlPart
341-webkit-app-region custom_all
342-webkit-background-clip use_handlers_for=CSSPropertyBackgroundClip
343-webkit-background-origin use_handlers_for=CSSPropertyBackgroundOrigin
344-webkit-border-horizontal-spacing interpolable, inherited, name_for_methods=HorizontalBorderSpacing, converter=convertComputedLength<short>
345-webkit-border-image initial=initialNinePieceImage, custom_value
346-webkit-border-vertical-spacing interpolable, inherited, name_for_methods=VerticalBorderSpacing, converter=convertComputedLength<short>
347-webkit-box-align type_name=EBoxAlignment
348-webkit-box-decoration-break
349-webkit-box-direction inherited
350-webkit-box-flex type_name=float
351-webkit-box-flex-group type_name=unsigned int
352-webkit-box-lines
353-webkit-box-ordinal-group type_name=unsigned int
354-webkit-box-orient
355-webkit-box-pack
356-webkit-box-reflect converter=convertBoxReflect
357-webkit-clip-path interpolable, custom_value
358column-count interpolable, type_name=unsigned short, custom_all
359column-gap interpolable, converter=convertComputedLength<float>, custom_all
360column-rule-color interpolable, custom_all
361column-rule-style type_name=EBorderStyle, initial=initialBorderStyle
362column-rule-width interpolable, converter=convertLineWidth<unsigned short>
363column-span type_name=ColumnSpan
364column-width interpolable, converter=convertComputedLength<float>, custom_all
365-webkit-highlight inherited, converter=convertString<CSSValueNone>
366-webkit-hyphenate-character inherited, name_for_methods=HyphenationString, converter=convertString<CSSValueAuto>
367-webkit-line-break inherited, type_name=LineBreak
368-webkit-line-clamp type_name=LineClampValue
369-webkit-margin-after-collapse type_name=EMarginCollapse
370-webkit-margin-before-collapse type_name=EMarginCollapse
371-webkit-margin-bottom-collapse type_name=EMarginCollapse, name_for_methods=MarginAfterCollapse
372-webkit-margin-top-collapse type_name=EMarginCollapse, name_for_methods=MarginBeforeCollapse
373-webkit-mask-box-image-outset interpolable, custom_all
374-webkit-mask-box-image-repeat custom_all
375-webkit-mask-box-image-slice interpolable, custom_all
376-webkit-mask-box-image-source interpolable, custom_value
377-webkit-mask-box-image-width interpolable, custom_all
378-webkit-mask-clip custom_all
379-webkit-mask-composite custom_all
380-webkit-mask-image interpolable, custom_all
381-webkit-mask-origin custom_all
382-webkit-mask-position-x interpolable, custom_all
383-webkit-mask-position-y interpolable, custom_all
384-webkit-mask-repeat-x custom_all
385-webkit-mask-repeat-y custom_all
386-webkit-mask-size interpolable, custom_all
387-webkit-perspective-origin-x interpolable, converter=convertLength
388-webkit-perspective-origin-y interpolable, converter=convertLength
389-webkit-print-color-adjust inherited, type_name=PrintColorAdjust
390-webkit-rtl-ordering inherited, type_name=Order, setter=setRTLOrdering, initial=initialRTLOrdering
391-webkit-ruby-position inherited, type_name=RubyPosition
392-webkit-tap-highlight-color inherited, converter=convertColor
393-webkit-text-combine inherited, type_name=TextCombine, name_for_methods=TextCombine
394-webkit-text-emphasis-color inherited, custom_all
395-webkit-text-emphasis-position inherited, type_name=TextEmphasisPosition
396-webkit-text-emphasis-style inherited, custom_all
397-webkit-text-fill-color inherited, custom_all
398-webkit-text-security inherited
399-webkit-text-stroke-color interpolable, inherited, custom_all
400-webkit-text-stroke-width inherited, converter=convertTextStrokeWidth
401-webkit-transform-origin-x interpolable, converter=convertLength
402-webkit-transform-origin-y interpolable, converter=convertLength
403-webkit-transform-origin-z interpolable, converter=convertComputedLength<float>
404-webkit-user-drag
405-webkit-user-modify inherited
406-webkit-user-select inherited
407white-space inherited
408widows interpolable, inherited, type_name=short
409width interpolable, initial=initialSize, converter=convertLengthSizing, typedom_types=[Length], keywords=[auto], supports_percentage
410will-change custom_all
411word-break inherited
412word-spacing interpolable, inherited, initial=initialLetterWordSpacing, converter=convertSpacing
413// UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers.
414word-wrap inherited, name_for_methods=OverflowWrap
415z-index interpolable, type_name=int, custom_all
416
417// Non-standard direction aware properties
418
419-webkit-border-end-color direction_aware
420-webkit-border-end-style direction_aware
421-webkit-border-end-width direction_aware
422-webkit-border-start-color direction_aware
423-webkit-border-start-style direction_aware
424-webkit-border-start-width direction_aware
425-webkit-border-before-color direction_aware
426-webkit-border-before-style direction_aware
427-webkit-border-before-width direction_aware
428-webkit-border-after-color direction_aware
429-webkit-border-after-style direction_aware
430-webkit-border-after-width direction_aware
431-webkit-margin-end direction_aware
432-webkit-margin-start direction_aware
433-webkit-margin-before direction_aware
434-webkit-margin-after direction_aware
435-webkit-padding-end direction_aware
436-webkit-padding-start direction_aware
437-webkit-padding-before direction_aware
438-webkit-padding-after direction_aware
439-webkit-logical-width direction_aware
440-webkit-logical-height direction_aware
441-webkit-min-logical-width direction_aware
442-webkit-min-logical-height direction_aware
443-webkit-max-logical-width direction_aware
444-webkit-max-logical-height direction_aware
445
446// Properties that we ignore in the StyleBuilder.
447// TODO(timloh): This seems wrong, most of these shouldn't reach the StyleBuilder
448
449all builder_skip
450page builder_skip
451-webkit-font-size-delta builder_skip
452-webkit-text-decorations-in-effect inherited, builder_skip
453
454// Descriptors
455
456font-display descriptor_only, runtime_flag=CSSFontDisplay
457max-zoom descriptor_only
458min-zoom descriptor_only
459orientation descriptor_only
460src descriptor_only
461unicode-range descriptor_only
462user-zoom descriptor_only
463
464// Shorthands
465
466animation longhands=animation-name;animation-duration;animation-timing-function;animation-delay;animation-iteration-count;animation-direction;animation-fill-mode;animation-play-state
467background 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
468background-position longhands=background-position-x;background-position-y
469background-repeat longhands=background-repeat-x;background-repeat-y
470border 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
471border-bottom longhands=border-bottom-width;border-bottom-style;border-bottom-color
472border-color longhands=border-top-color;border-right-color;border-bottom-color;border-left-color
473border-image longhands=border-image-source;border-image-slice;border-image-width;border-image-outset;border-image-repeat
474border-left longhands=border-left-width;border-left-style;border-left-color
475border-radius longhands=border-top-left-radius;border-top-right-radius;border-bottom-right-radius;border-bottom-left-radius
476border-right longhands=border-right-width;border-right-style;border-right-color
477border-spacing longhands=-webkit-border-horizontal-spacing;-webkit-border-vertical-spacing
478border-style longhands=border-top-style;border-right-style;border-bottom-style;border-left-style
479border-top longhands=border-top-width;border-top-style;border-top-color
480border-width longhands=border-top-width;border-right-width;border-bottom-width;border-left-width
481flex longhands=flex-grow;flex-shrink;flex-basis
482flex-flow longhands=flex-direction;flex-wrap
483font longhands=font-style;font-variant-ligatures;font-variant-caps;font-variant-numeric;font-weight;font-stretch;font-size;line-height;font-family
484font-variant longhands=font-variant-ligatures;font-variant-caps;font-variant-numeric
485grid runtime_flag=CSSGridLayout, 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
486grid-area runtime_flag=CSSGridLayout, longhands=grid-row-start;grid-column-start;grid-row-end;grid-column-end
487grid-column runtime_flag=CSSGridLayout, longhands=grid-column-start;grid-column-end
488grid-gap runtime_flag=CSSGridLayout, longhands=grid-row-gap;grid-column-gap
489grid-row runtime_flag=CSSGridLayout, longhands=grid-row-start;grid-row-end
490grid-template runtime_flag=CSSGridLayout, longhands=grid-template-rows;grid-template-columns;grid-template-areas
491list-style longhands=list-style-type;list-style-position;list-style-image
492margin longhands=margin-top;margin-right;margin-bottom;margin-left
493marker longhands=marker-start;marker-mid;marker-end
494motion longhands=motion-path;motion-offset;motion-rotation
495outline longhands=outline-color;outline-style;outline-width
496overflow longhands=overflow-x;overflow-y
497padding longhands=padding-top;padding-right;padding-bottom;padding-left
498page-break-after longhands=break-after
499page-break-before longhands=break-before
500page-break-inside longhands=break-inside
501transition longhands=transition-property;transition-duration;transition-timing-function;transition-delay
502-webkit-border-after longhands=-webkit-border-after-width;-webkit-border-after-style;-webkit-border-after-color
503-webkit-border-before longhands=-webkit-border-before-width;-webkit-border-before-style;-webkit-border-before-color
504-webkit-border-end longhands=-webkit-border-end-width;-webkit-border-end-style;-webkit-border-end-color
505-webkit-border-start longhands=-webkit-border-start-width;-webkit-border-start-style;-webkit-border-start-color
506-webkit-column-break-after longhands=break-after
507-webkit-column-break-before longhands=break-before
508-webkit-column-break-inside longhands=break-inside
509column-rule longhands=column-rule-width;column-rule-style;column-rule-color
510columns longhands=column-width;column-count
511-webkit-margin-collapse longhands=-webkit-margin-before-collapse;-webkit-margin-after-collapse
512-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
513-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
514-webkit-mask-position longhands=-webkit-mask-position-x;-webkit-mask-position-y
515-webkit-mask-repeat longhands=-webkit-mask-repeat-x;-webkit-mask-repeat-y
516-webkit-text-emphasis longhands=-webkit-text-emphasis-style;-webkit-text-emphasis-color
517-webkit-text-stroke longhands=-webkit-text-stroke-width;-webkit-text-stroke-color
518
519// Aliases; these map to the same CSSPropertyID
520
521-epub-caption-side alias_for=caption-side
522-epub-text-combine alias_for=-webkit-text-combine
523-epub-text-emphasis alias_for=-webkit-text-emphasis
524-epub-text-emphasis-color alias_for=-webkit-text-emphasis-color
525-epub-text-emphasis-style alias_for=-webkit-text-emphasis-style
526-epub-text-orientation alias_for=-webkit-text-orientation
527-epub-text-transform alias_for=text-transform
528-epub-word-break alias_for=word-break
529-epub-writing-mode alias_for=-webkit-writing-mode
530-webkit-align-content alias_for=align-content
531-webkit-align-items alias_for=align-items
532-webkit-align-self alias_for=align-self
533-webkit-animation alias_for=animation
534-webkit-animation-delay alias_for=animation-delay
535-webkit-animation-direction alias_for=animation-direction
536-webkit-animation-duration alias_for=animation-duration
537-webkit-animation-fill-mode alias_for=animation-fill-mode
538-webkit-animation-iteration-count alias_for=animation-iteration-count
539-webkit-animation-name alias_for=animation-name
540-webkit-animation-play-state alias_for=animation-play-state
541-webkit-animation-timing-function alias_for=animation-timing-function
542-webkit-backface-visibility alias_for=backface-visibility
543// "-webkit-background-size: 10px" behaves as "background-size: 10px 10px"
544-webkit-background-size alias_for=background-size
545-webkit-border-bottom-left-radius alias_for=border-bottom-left-radius
546-webkit-border-bottom-right-radius alias_for=border-bottom-right-radius
547// "-webkit-border-radius: 1px 2px" behaves as "border-radius: 1px / 2px"
548-webkit-border-radius alias_for=border-radius
549-webkit-border-top-left-radius alias_for=border-top-left-radius
550-webkit-border-top-right-radius alias_for=border-top-right-radius
551-webkit-box-shadow alias_for=box-shadow
552-webkit-box-sizing alias_for=box-sizing
553-webkit-column-count alias_for=column-count
554-webkit-column-gap alias_for=column-gap
555-webkit-column-rule alias_for=column-rule
556-webkit-column-rule-color alias_for=column-rule-color
557-webkit-column-rule-style alias_for=column-rule-style
558-webkit-column-rule-width alias_for=column-rule-width
559-webkit-column-span alias_for=column-span
560-webkit-column-width alias_for=column-width
561-webkit-columns alias_for=columns
562-webkit-filter alias_for=filter
563-webkit-flex alias_for=flex
564-webkit-flex-basis alias_for=flex-basis
565-webkit-flex-direction alias_for=flex-direction
566-webkit-flex-flow alias_for=flex-flow
567-webkit-flex-grow alias_for=flex-grow
568-webkit-flex-shrink alias_for=flex-shrink
569-webkit-flex-wrap alias_for=flex-wrap
570-webkit-font-feature-settings alias_for=font-feature-settings
571-webkit-justify-content alias_for=justify-content
572-webkit-opacity alias_for=opacity
573-webkit-order alias_for=order
574-webkit-perspective alias_for=perspective
575-webkit-perspective-origin alias_for=perspective-origin
576-webkit-shape-image-threshold alias_for=shape-image-threshold
577-webkit-shape-margin alias_for=shape-margin
578-webkit-shape-outside alias_for=shape-outside
579-webkit-transform alias_for=transform
580-webkit-transform-origin alias_for=transform-origin
581-webkit-transform-style alias_for=transform-style
582-webkit-transition alias_for=transition
583-webkit-transition-delay alias_for=transition-delay
584-webkit-transition-duration alias_for=transition-duration
585-webkit-transition-property alias_for=transition-property
586-webkit-transition-timing-function alias_for=transition-timing-function