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