Index: Source/core/css/CSSProperties.in |
diff --git a/Source/core/css/CSSProperties.in b/Source/core/css/CSSProperties.in |
index 08595f55ff3a235abf35894169e902f836accb76..67e4f232d4f7303d52ba9443b11d20864e9e3298 100644 |
--- a/Source/core/css/CSSProperties.in |
+++ b/Source/core/css/CSSProperties.in |
@@ -13,6 +13,14 @@ |
// The property is a shorthand for several other properties. |
+// Flags which go into CSSPropertyMetadata: |
+// - animatable |
+// The animatable flag indicates whether a property can be animated by CSS |
+// animations and transitions. If this flag is set, the property should also be |
+// added to the switch statements in AnimatedStyleBuilder, CSSPropertyEquality, |
+// and CSSAnimatableValueFactory. |
+ |
+ |
// 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 |
@@ -65,27 +73,27 @@ |
// High Priority and all other font properties. |
// Other properties can depend upon high priority properties (e.g. font-size / ems) |
-color custom_all |
+color animatable, custom_all |
direction custom_value |
// FIXME: This is a mess due to crbug.com/353932. Shorthands shouldn't have |
// any StyleBuilder handling! |
font custom_all, longhands=font-family;font-size;font-style;font-variant;font-weight;font-stretch;line-height |
font-family custom_all |
font-kerning font, type_name=FontDescription::Kerning, name_for_methods=Kerning |
-font-size custom_all |
+font-size animatable, custom_all |
font-stretch font, type_name=FontStretch, name_for_methods=Stretch |
font-style font, type_name=FontStyle, name_for_methods=Style |
font-variant font, type_name=FontVariant, name_for_methods=Variant |
font-variant-ligatures font, name_for_methods=VariantLigatures, converter=convertFontVariantLigatures |
-font-weight font, type_name=FontWeight, name_for_methods=Weight, converter=convertFontWeight |
+font-weight animatable, font, type_name=FontWeight, name_for_methods=Weight, converter=convertFontWeight |
-webkit-font-feature-settings font, name_for_methods=FeatureSettings, converter=convertFontFeatureSettings |
-webkit-font-smoothing font, type_name=FontSmoothingMode |
-webkit-locale custom_value |
-webkit-text-orientation custom_value |
-webkit-writing-mode custom_value |
text-rendering font, type_name=TextRenderingMode |
-zoom custom_all |
-line-height getter=specifiedLineHeight, custom_value |
+zoom animatable, custom_all |
+line-height animatable, getter=specifiedLineHeight, custom_value |
align-content |
align-items custom_all |
@@ -95,44 +103,44 @@ backface-visibility |
background-attachment custom_all |
background-blend-mode custom_all |
background-clip custom_all |
-background-color custom_all |
-background-image custom_all |
+background-color animatable, custom_all |
+background-image animatable, custom_all |
background-origin custom_all |
-background-position-x custom_all |
-background-position-y custom_all |
+background-position-x animatable, custom_all |
+background-position-y animatable, custom_all |
background-repeat-x custom_all |
background-repeat-y custom_all |
-background-size custom_all |
-baseline-shift svg, custom_inherit, custom_value |
-border-bottom-color custom_all |
-border-bottom-left-radius initial=initialBorderRadius, converter=convertRadius |
-border-bottom-right-radius initial=initialBorderRadius, converter=convertRadius |
+background-size animatable, custom_all |
+baseline-shift animatable, svg, custom_inherit, custom_value |
+border-bottom-color animatable, custom_all |
+border-bottom-left-radius animatable, initial=initialBorderRadius, converter=convertRadius |
+border-bottom-right-radius animatable, initial=initialBorderRadius, converter=convertRadius |
border-bottom-style type_name=EBorderStyle, initial=initialBorderStyle |
-border-bottom-width initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
+border-bottom-width animatable, initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
border-collapse |
-border-image-outset custom_all |
+border-image-outset animatable, custom_all |
border-image-repeat custom_all |
-border-image-slice custom_all |
-border-image-source custom_value |
-border-image-width custom_all |
-border-left-color custom_all |
+border-image-slice animatable, custom_all |
+border-image-source animatable, custom_value |
+border-image-width animatable, custom_all |
+border-left-color animatable, custom_all |
border-left-style type_name=EBorderStyle, initial=initialBorderStyle |
-border-left-width initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
-border-right-color custom_all |
+border-left-width animatable, initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
+border-right-color animatable, custom_all |
border-right-style type_name=EBorderStyle, initial=initialBorderStyle |
-border-right-width initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
-border-top-color custom_all |
-border-top-left-radius initial=initialBorderRadius, converter=convertRadius |
-border-top-right-radius initial=initialBorderRadius, converter=convertRadius |
+border-right-width animatable, initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
+border-top-color animatable, custom_all |
+border-top-left-radius animatable, initial=initialBorderRadius, converter=convertRadius |
+border-top-right-radius animatable, initial=initialBorderRadius, converter=convertRadius |
border-top-style type_name=EBorderStyle, initial=initialBorderStyle |
-border-top-width initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
-bottom initial=initialOffset, converter=convertLengthOrAuto |
-box-shadow converter=convertShadow |
+border-top-width animatable, initial=initialBorderWidth, converter=convertLineWidth<unsigned> |
+bottom animatable, initial=initialOffset, converter=convertLengthOrAuto |
+box-shadow animatable, converter=convertShadow |
box-sizing |
buffered-rendering svg |
caption-side |
clear |
-clip custom_all |
+clip animatable, custom_all |
clip-path svg, name_for_methods=ClipperResource, converter=convertFragmentIdentifier |
clip-rule svg, type_name=WindRule |
color-interpolation svg |
@@ -146,18 +154,18 @@ cursor custom_all |
display |
dominant-baseline svg |
empty-cells type_name=EEmptyCell |
-fill svg, setter=setFillPaint, custom_all |
-fill-opacity svg, converter=convertNumberOrPercentage |
+fill animatable, svg, setter=setFillPaint, custom_all |
+fill-opacity animatable, svg, converter=convertNumberOrPercentage |
fill-rule svg, type_name=WindRule |
filter svg, name_for_methods=FilterResource, converter=convertFragmentIdentifier |
-flex-basis converter=convertLengthOrAuto |
+flex-basis animatable, converter=convertLengthOrAuto |
flex-direction |
-flex-grow type_name=float |
-flex-shrink type_name=float |
+flex-grow animatable, type_name=float |
+flex-shrink animatable, type_name=float |
flex-wrap |
float type_name=EFloat, name_for_methods=Floating |
-flood-color svg, converter=convertSVGColor |
-flood-opacity svg, converter=convertNumberOrPercentage |
+flood-color animatable, svg, converter=convertSVGColor |
+flood-opacity animatable, svg, converter=convertNumberOrPercentage |
glyph-orientation-horizontal svg, converter=convertGlyphOrientation |
glyph-orientation-vertical svg, custom_value |
grid-auto-columns converter=convertGridTrackSize |
@@ -170,77 +178,77 @@ grid-row-start converter=convertGridPosition |
grid-template-areas custom_all |
grid-template-columns custom_all |
grid-template-rows custom_all |
-height initial=initialSize, converter=convertLengthSizing |
+height animatable, initial=initialSize, converter=convertLengthSizing |
image-rendering |
isolation |
justify-content |
justify-items custom_all |
justify-self custom_all |
-left initial=initialOffset, converter=convertLengthOrAuto |
-letter-spacing initial=initialLetterWordSpacing, converter=convertSpacing |
-lighting-color svg, converter=convertSVGColor |
-list-style-image custom_value |
+left animatable, initial=initialOffset, converter=convertLengthOrAuto |
+letter-spacing animatable, initial=initialLetterWordSpacing, converter=convertSpacing |
+lighting-color animatable, svg, converter=convertSVGColor |
+list-style-image animatable, custom_value |
list-style-position |
list-style-type |
-margin-bottom initial=initialMargin, converter=convertLengthOrAuto |
-margin-left initial=initialMargin, converter=convertLengthOrAuto |
-margin-right initial=initialMargin, converter=convertLengthOrAuto |
-margin-top initial=initialMargin, converter=convertLengthOrAuto |
+margin-bottom animatable, initial=initialMargin, converter=convertLengthOrAuto |
+margin-left animatable, initial=initialMargin, converter=convertLengthOrAuto |
+margin-right animatable, initial=initialMargin, converter=convertLengthOrAuto |
+margin-top animatable, initial=initialMargin, converter=convertLengthOrAuto |
marker-end svg, name_for_methods=MarkerEndResource, converter=convertFragmentIdentifier |
marker-mid svg, name_for_methods=MarkerMidResource, converter=convertFragmentIdentifier |
marker-start svg, name_for_methods=MarkerStartResource, converter=convertFragmentIdentifier |
mask svg, name_for_methods=MaskerResource, converter=convertFragmentIdentifier |
mask-source-type custom_all |
mask-type svg |
-max-height initial=initialMaxSize, converter=convertLengthMaxSizing |
-max-width initial=initialMaxSize, converter=convertLengthMaxSizing |
-min-height initial=initialMinSize, converter=convertLengthSizing |
-min-width initial=initialMinSize, converter=convertLengthSizing |
+max-height animatable, initial=initialMaxSize, converter=convertLengthMaxSizing |
+max-width animatable, initial=initialMaxSize, converter=convertLengthMaxSizing |
+min-height animatable, initial=initialMinSize, converter=convertLengthSizing |
+min-width animatable, initial=initialMinSize, converter=convertLengthSizing |
mix-blend-mode type_name=blink::WebBlendMode, name_for_methods=BlendMode |
object-fit type_name=ObjectFit |
-object-position converter=convertLengthPoint |
-opacity type_name=float |
+object-position animatable, converter=convertLengthPoint |
+opacity animatable, type_name=float |
order type_name=int |
-orphans type_name=short, custom_all |
-outline-color custom_all |
-outline-offset converter=convertComputedLength<int> |
+orphans animatable, type_name=short, custom_all |
+outline-color animatable, custom_all |
+outline-offset animatable, converter=convertComputedLength<int> |
outline-style custom_all |
-outline-width converter=convertLineWidth<unsigned short> |
+outline-width animatable, converter=convertLineWidth<unsigned short> |
overflow-wrap |
overflow-x type_name=EOverflow |
overflow-y type_name=EOverflow |
-padding-bottom initial=initialPadding, converter=convertLength |
-padding-left initial=initialPadding, converter=convertLength |
-padding-right initial=initialPadding, converter=convertLength |
-padding-top initial=initialPadding, converter=convertLength |
+padding-bottom animatable, initial=initialPadding, converter=convertLength |
+padding-left animatable, initial=initialPadding, converter=convertLength |
+padding-right animatable, initial=initialPadding, converter=convertLength |
+padding-top animatable, initial=initialPadding, converter=convertLength |
page-break-after type_name=EPageBreak, initial=initialPageBreak |
page-break-before type_name=EPageBreak, initial=initialPageBreak |
page-break-inside type_name=EPageBreak, initial=initialPageBreak |
paint-order svg, converter=convertPaintOrder |
-perspective custom_value |
-perspective-origin custom_all |
+perspective animatable, custom_value |
+perspective-origin animatable, custom_all |
pointer-events |
position |
quotes converter=convertQuotes |
resize custom_value |
-right initial=initialOffset, converter=convertLengthOrAuto |
+right animatable, initial=initialOffset, converter=convertLengthOrAuto |
scroll-behavior type_name=ScrollBehavior |
-shape-image-threshold type_name=float |
-shape-margin converter=convertLength |
-shape-outside custom_value |
+shape-image-threshold animatable, type_name=float |
+shape-margin animatable, converter=convertLength |
+shape-outside animatable, custom_value |
shape-rendering svg |
size custom_all |
speak |
-stop-color svg, converter=convertSVGColor |
-stop-opacity svg, converter=convertNumberOrPercentage |
-stroke svg, setter=setStrokePaint, custom_all |
-stroke-dasharray svg, name_for_methods=StrokeDashArray, converter=convertStrokeDasharray |
-stroke-dashoffset svg, name_for_methods=StrokeDashOffset, converter=convertSVGLength |
+stop-color animatable, svg, converter=convertSVGColor |
+stop-opacity animatable, svg, converter=convertNumberOrPercentage |
+stroke animatable, svg, setter=setStrokePaint, custom_all |
+stroke-dasharray animatable, svg, name_for_methods=StrokeDashArray, converter=convertStrokeDasharray |
+stroke-dashoffset animatable, svg, name_for_methods=StrokeDashOffset, converter=convertSVGLength |
stroke-linecap svg, type_name=LineCap, name_for_methods=CapStyle |
stroke-linejoin svg, type_name=LineJoin, name_for_methods=JoinStyle |
-stroke-miterlimit svg, type_name=float, name_for_methods=StrokeMiterLimit |
-stroke-opacity svg, converter=convertNumberOrPercentage |
-stroke-width svg, converter=convertSVGLength |
+stroke-miterlimit animatable, svg, type_name=float, name_for_methods=StrokeMiterLimit |
+stroke-opacity animatable, svg, converter=convertNumberOrPercentage |
+stroke-width animatable, svg, converter=convertSVGLength |
table-layout |
tab-size type_name=unsigned |
text-align custom_value |
@@ -248,25 +256,25 @@ text-align-last type_name=TextAlignLast |
text-anchor svg |
// FIXME: We shouldn't switch between shorthand/not shorthand based on a runtime flag |
text-decoration use_handlers_for=CSSPropertyTextDecorationLine, longhands=text-decoration-line;text-decoration-style;text-decoration-color |
-text-decoration-color custom_all |
+text-decoration-color animatable, custom_all |
text-decoration-line name_for_methods=TextDecoration, converter=convertFlags<TextDecoration> |
text-decoration-style type_name=TextDecorationStyle |
-text-indent custom_all |
+text-indent animatable, custom_all |
text-justify type_name=TextJustify |
text-overflow type_name=TextOverflow |
-text-shadow converter=convertShadow |
+text-shadow animatable, converter=convertShadow |
text-transform |
text-underline-position type_name=TextUnderlinePosition |
-top initial=initialOffset, converter=convertLengthOrAuto |
+top animatable, initial=initialOffset, converter=convertLengthOrAuto |
touch-action converter=convertFlags<TouchAction> |
touch-action-delay type_name=TouchActionDelay |
-transform custom_value |
-transform-origin custom_all |
+transform animatable, custom_value |
+transform-origin animatable, custom_all |
transform-style name_for_methods=TransformStyle3D |
unicode-bidi |
vector-effect svg |
-vertical-align custom_inherit, custom_value |
-visibility |
+vertical-align animatable, custom_inherit, custom_value |
+visibility animatable |
// UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers. |
word-wrap name_for_methods=OverflowWrap |
-webkit-animation-delay custom_all |
@@ -284,11 +292,11 @@ word-wrap name_for_methods=OverflowWrap |
-webkit-background-clip use_handlers_for=CSSPropertyBackgroundClip |
-webkit-background-composite custom_all |
-webkit-background-origin use_handlers_for=CSSPropertyBackgroundOrigin |
--webkit-background-size use_handlers_for=CSSPropertyBackgroundSize |
+-webkit-background-size animatable, use_handlers_for=CSSPropertyBackgroundSize |
-webkit-border-fit |
--webkit-border-horizontal-spacing name_for_methods=HorizontalBorderSpacing, converter=convertComputedLength<short> |
+-webkit-border-horizontal-spacing animatable, name_for_methods=HorizontalBorderSpacing, converter=convertComputedLength<short> |
-webkit-border-image initial=initialNinePieceImage, custom_value |
--webkit-border-vertical-spacing name_for_methods=VerticalBorderSpacing, converter=convertComputedLength<short> |
+-webkit-border-vertical-spacing animatable, name_for_methods=VerticalBorderSpacing, converter=convertComputedLength<short> |
-webkit-box-align type_name=EBoxAlignment |
-webkit-box-decoration-break |
-webkit-box-direction |
@@ -299,19 +307,19 @@ word-wrap name_for_methods=OverflowWrap |
-webkit-box-orient |
-webkit-box-pack |
-webkit-box-reflect converter=convertBoxReflect |
--webkit-box-shadow use_handlers_for=CSSPropertyBoxShadow |
--webkit-clip-path custom_value |
+-webkit-box-shadow animatable, use_handlers_for=CSSPropertyBoxShadow |
+-webkit-clip-path animatable, custom_value |
-webkit-column-break-after type_name=EPageBreak, initial=initialPageBreak |
-webkit-column-break-before type_name=EPageBreak, initial=initialPageBreak |
-webkit-column-break-inside type_name=EPageBreak, initial=initialPageBreak |
--webkit-column-count type_name=unsigned short, custom_all |
--webkit-column-gap type_name=float, custom_all |
--webkit-column-rule-color custom_all |
+-webkit-column-count animatable, type_name=unsigned short, custom_all |
+-webkit-column-gap animatable, type_name=float, custom_all |
+-webkit-column-rule-color animatable, custom_all |
-webkit-column-rule-style type_name=EBorderStyle, initial=initialBorderStyle |
--webkit-column-rule-width converter=convertLineWidth<unsigned short> |
+-webkit-column-rule-width animatable, converter=convertLineWidth<unsigned short> |
-webkit-column-span type_name=ColumnSpan |
--webkit-column-width type_name=float, custom_all |
--webkit-filter custom_value |
+-webkit-column-width animatable, type_name=float, custom_all |
+-webkit-filter animatable, custom_value |
-webkit-highlight converter=convertString<CSSValueNone> |
-webkit-hyphenate-character name_for_methods=HyphenationString, converter=convertString<CSSValueAuto> |
-webkit-line-box-contain converter=convertLineBoxContain |
@@ -321,20 +329,20 @@ word-wrap name_for_methods=OverflowWrap |
-webkit-margin-before-collapse type_name=EMarginCollapse |
-webkit-margin-bottom-collapse type_name=EMarginCollapse, name_for_methods=MarginAfterCollapse |
-webkit-margin-top-collapse type_name=EMarginCollapse, name_for_methods=MarginBeforeCollapse |
--webkit-mask-box-image-outset custom_all |
+-webkit-mask-box-image-outset animatable, custom_all |
-webkit-mask-box-image-repeat custom_all |
--webkit-mask-box-image-slice custom_all |
--webkit-mask-box-image-source custom_value |
--webkit-mask-box-image-width custom_all |
+-webkit-mask-box-image-slice animatable, custom_all |
+-webkit-mask-box-image-source animatable, custom_value |
+-webkit-mask-box-image-width animatable, custom_all |
-webkit-mask-clip custom_all |
-webkit-mask-composite custom_all |
--webkit-mask-image custom_all |
+-webkit-mask-image animatable, custom_all |
-webkit-mask-origin custom_all |
--webkit-mask-position-x custom_all |
--webkit-mask-position-y custom_all |
+-webkit-mask-position-x animatable, custom_all |
+-webkit-mask-position-y animatable, custom_all |
-webkit-mask-repeat-x custom_all |
-webkit-mask-repeat-y custom_all |
--webkit-mask-size custom_all |
+-webkit-mask-size animatable, custom_all |
-webkit-perspective custom_all |
-webkit-perspective-origin custom_all |
-webkit-perspective-origin-x converter=convertLength |
@@ -349,7 +357,7 @@ word-wrap name_for_methods=OverflowWrap |
-webkit-text-emphasis-style custom_all |
-webkit-text-fill-color custom_all |
-webkit-text-security |
--webkit-text-stroke-color custom_all |
+-webkit-text-stroke-color animatable, custom_all |
-webkit-text-stroke-width converter=convertTextStrokeWidth |
-webkit-transform use_handlers_for=CSSPropertyTransform |
-webkit-transform-origin-x converter=convertLength |
@@ -364,13 +372,13 @@ word-wrap name_for_methods=OverflowWrap |
-webkit-user-modify |
-webkit-user-select |
white-space |
-widows type_name=short, custom_all |
-width initial=initialSize, converter=convertLengthSizing |
+widows animatable, type_name=short, custom_all |
+width animatable, initial=initialSize, converter=convertLengthSizing |
will-change custom_all |
word-break |
-word-spacing initial=initialLetterWordSpacing, converter=convertSpacing |
+word-spacing animatable, initial=initialLetterWordSpacing, converter=convertSpacing |
writing-mode svg, type_name=SVGWritingMode |
-z-index type_name=int, custom_all |
+z-index animatable, type_name=int, custom_all |
// Internal properties |