ladybird/Libraries/LibWeb/CSS/StyleValues
Aliaksandr Kalenik 57e476bcf2 LibWeb: Preserve auto duration for scroll animations
CSS Animations Level 2 makes animation-duration default to auto. We
still initialized it to 0s and converted auto to zero while collecting
CSS animation properties, before the animation effect had its scroll
timeline. Scroll-driven animations with an omitted duration therefore
behaved like zero-duration animations, so scroll(root) progress bars did
not track the scroll position.

Make animation-duration initialize to auto and carry that value into the
effect timing normalization. Time-driven animations still resolve auto
to 0s there, while progress-based timelines resolve it against the
timeline duration. Keep treating that resolved 0s as the default when
serializing the animation shorthand so computed style remains compatible
with existing CSS Animations expectations.

Add a text regression covering an omitted duration on a scroll(root)
progress animation. The test fails before this fix because the computed
duration is 0s and the transform never advances at 25% scroll.
2026-05-15 13:47:39 +02:00
..
AbstractImageStyleValue.cpp LibWeb: Parse CSS image-set() 2026-04-25 14:54:10 +02:00
AbstractImageStyleValue.h LibWeb: Parse CSS image-set() 2026-04-25 14:54:10 +02:00
AbstractNonMathCalcFunctionStyleValue.h LibWeb: Don't pass unnecessary PropertyComputationDependencies struct 2025-10-22 00:01:30 +02:00
AnchorSizeStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
AnchorSizeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
AnchorStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
AnchorStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
AngleStyleValue.cpp LibWeb: Use StringBuilder when serializing more CSS types 2026-01-09 10:00:58 +01:00
AngleStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
BackgroundSizeStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
BackgroundSizeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
BasicShapeStyleValue.cpp LibWeb: Support border-radius in clip-path: inset() 2026-03-21 02:44:49 +00:00
BasicShapeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
BorderImageSliceStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
BorderImageSliceStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
BorderRadiusRectStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
BorderRadiusRectStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
BorderRadiusStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
BorderRadiusStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
CalculatedStyleValue.cpp LibWeb: Rename AcceptedTypeRange to NumericRange 2026-04-22 14:24:12 +01:00
CalculatedStyleValue.h LibWeb: Rename AcceptedTypeRange to NumericRange 2026-04-22 14:24:12 +01:00
ColorFunctionStyleValue.cpp LibWeb: Drop unnecessary ColorFunctionStyleValue constructor 2026-04-22 11:52:56 +01:00
ColorFunctionStyleValue.h LibWeb: Drop unnecessary ColorFunctionStyleValue constructor 2026-04-22 11:52:56 +01:00
ColorInterpolationMethodStyleValue.cpp LibWeb: Add a generic <color-interpolation-method> parsing method 2026-03-18 13:21:57 +00:00
ColorInterpolationMethodStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ColorMixStyleValue.cpp LibWeb: Remove LightDark and ColorMix from the ColorType enum 2026-04-22 11:52:56 +01:00
ColorMixStyleValue.h LibWeb: Normalize color-mix() percentages at resolution time 2026-03-31 21:02:57 +02:00
ColorSchemeStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
ColorSchemeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ColorStyleValue.cpp LibWeb: Route rgb()/rgba() through unified ColorFunctionStyleValue 2026-04-22 11:52:56 +01:00
ColorStyleValue.h LibWeb: Remove LightDark and ColorMix from the ColorType enum 2026-04-22 11:52:56 +01:00
ComputationContext.h LibWeb: Add generic method to get computation context for property 2026-02-13 21:54:06 +01:00
ConicGradientStyleValue.cpp LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ConicGradientStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ContentStyleValue.cpp LibWeb/CSS: Remove redundant has_alt_text() from ContentStyleValue 2026-03-31 13:48:50 +01:00
ContentStyleValue.h LibWeb/CSS: Remove redundant has_alt_text() from ContentStyleValue 2026-03-31 13:48:50 +01:00
CounterDefinitionsStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
CounterDefinitionsStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
CounterStyleStyleValue.cpp LibWeb: Make @counter-style tree-scoped 2026-04-15 11:07:38 +01:00
CounterStyleStyleValue.h LibWeb: Make @counter-style tree-scoped 2026-04-15 11:07:38 +01:00
CounterStyleSystemStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
CounterStyleSystemStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
CounterStyleValue.cpp LibWeb: Make @counter-style tree-scoped 2026-04-15 11:07:38 +01:00
CounterStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
CursorStyleValue.cpp LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
CursorStyleValue.h LibWeb: Remove FooOrCalculated classes 2026-03-30 14:05:10 +01:00
CustomIdentStyleValue.cpp LibWeb/CSS: Use FlyString for CSSStyleValue property name 2025-10-02 13:46:04 +01:00
CustomIdentStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
DimensionStyleValue.cpp LibWeb/CSS: Tokenize PercentageStyleValues properly 2026-04-15 16:42:15 +02:00
DimensionStyleValue.h LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
DisplayStyleValue.cpp LibWeb: Implement reification of DisplayStyleValue 2026-05-01 18:46:14 +02:00
DisplayStyleValue.h LibWeb: Implement reification of DisplayStyleValue 2026-05-01 18:46:14 +02:00
EasingStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
EasingStyleValue.h LibWeb: Remove FooOrCalculated classes 2026-03-30 14:05:10 +01:00
EdgeStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
EdgeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
EmptyOptionalStyleValue.h LibWeb: Add EmptyOptionalStyleValue 2026-05-13 11:26:20 +01:00
FilterValueListStyleValue.cpp LibWeb: Clamp calculated values in FiltervalueListSV ::absolutized() 2026-04-22 14:24:12 +01:00
FilterValueListStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
FlexStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
FontSourceStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
FontSourceStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
FontStyleStyleValue.cpp LibWeb/CSS: Update a couple of font-related comments 2026-02-24 10:05:09 +00:00
FontStyleStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
FrequencyStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
FunctionStyleValue.cpp LibWeb: Add generic FunctionStyleValue 2026-04-24 07:34:54 +01:00
FunctionStyleValue.h LibWeb: Add generic FunctionStyleValue 2026-04-24 07:34:54 +01:00
GridAutoFlowStyleValue.cpp LibWeb: Omit "row" when serializing grid-auto-flow as "dense" 2026-02-09 17:36:12 +01:00
GridAutoFlowStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
GridTemplateAreaStyleValue.cpp LibWeb: Validate grid-template-areas rectangles at parse time 2026-02-21 21:46:34 +01:00
GridTemplateAreaStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
GridTrackPlacementStyleValue.cpp LibWeb: Use StringBuilder when serializing basic grid types 2026-01-09 10:00:58 +01:00
GridTrackPlacementStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
GridTrackSizeListStyleValue.cpp LibWeb: Use StringBuilder when serializing basic grid types 2026-01-09 10:00:58 +01:00
GridTrackSizeListStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
GuaranteedInvalidStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ImageSetStyleValue.cpp LibWeb: Delay document load event for image-set() candidate fetches 2026-04-26 18:33:15 +02:00
ImageSetStyleValue.h LibWeb: Notify only affected layout nodes when a CSS image loads 2026-04-29 04:33:35 +02:00
ImageStyleValue.cpp LibWeb: Avoid stale delayed resource callbacks 2026-05-10 10:58:11 +02:00
ImageStyleValue.h LibGfx+LibWeb: Make DecodedImageFrame a value type 2026-05-07 16:08:13 +02:00
IntegerStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
IntegerStyleValue.h LibWeb: Clamp CSS <integer> value to i32 at parse time 2026-03-26 12:30:01 +01:00
KeywordStyleValue.cpp LibWeb: Route rgb()/rgba() through unified ColorFunctionStyleValue 2026-04-22 11:52:56 +01:00
KeywordStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
LengthStyleValue.cpp LibWeb: Update Length::absolutize() to take a ResolutionContext 2026-01-08 10:51:35 +01:00
LengthStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
LightDarkStyleValue.cpp LibWeb: Remove LightDark and ColorMix from the ColorType enum 2026-04-22 11:52:56 +01:00
LightDarkStyleValue.h LibWeb: Remove LightDark and ColorMix from the ColorType enum 2026-04-22 11:52:56 +01:00
LinearGradientStyleValue.cpp LibWeb: Use generic <color-interpolation-method> parsing for gradients 2026-03-18 13:21:57 +00:00
LinearGradientStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
NumberStyleValue.cpp LibWeb/CSS: Use serialize_a_number() directly in NumberStyleValue 2026-01-23 14:26:11 +01:00
NumberStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
OpacityValueStyleValue.cpp LibWeb: Add OpacityValueStyleValue 2026-04-22 14:24:12 +01:00
OpacityValueStyleValue.h LibWeb: Add OpacityValueStyleValue 2026-04-22 14:24:12 +01:00
OpenTypeTaggedStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
OpenTypeTaggedStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
OverflowClipMarginStyleValue.cpp LibWeb: Add dedicated overflow-clip-margin style value 2026-05-12 14:09:13 +02:00
OverflowClipMarginStyleValue.h LibWeb: Add dedicated overflow-clip-margin style value 2026-05-12 14:09:13 +02:00
PendingSubstitutionStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
PercentageStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
PositionStyleValue.cpp LibWeb: Resolve keywords in basic shape position at compute time 2026-04-15 08:04:02 +02:00
PositionStyleValue.h LibWeb: Resolve keywords in basic shape position at compute time 2026-04-15 08:04:02 +02:00
RadialGradientStyleValue.cpp LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
RadialGradientStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
RadialSizeStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
RadialSizeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
RandomValueSharingStyleValue.cpp LibWeb: Add generic number_from_style_value method 2026-02-16 12:09:23 +00:00
RandomValueSharingStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
RatioStyleValue.cpp LibWeb: Store underlying RatioStyleValue values as StyleValues 2026-03-24 14:00:01 +00:00
RatioStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
RectStyleValue.cpp LibWeb: Support calc() within clip: rect() 2026-03-30 14:05:10 +01:00
RectStyleValue.h LibWeb: Support calc() within clip: rect() 2026-03-30 14:05:10 +01:00
RepeatStyleStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
RepeatStyleStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ResolutionStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ScrollbarColorStyleValue.cpp LibWeb: Absolutize ScrollbarColorStyleValue color values 2026-03-31 21:02:57 +02:00
ScrollbarColorStyleValue.h LibWeb: Absolutize ScrollbarColorStyleValue color values 2026-03-31 21:02:57 +02:00
ScrollbarGutterStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ShadowStyleValue.cpp LibWeb: Absolutize color in ShadowStyleValue 2026-03-31 21:02:57 +02:00
ShadowStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
ShorthandStyleValue.cpp LibWeb: Preserve auto duration for scroll animations 2026-05-15 13:47:39 +02:00
ShorthandStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
StringStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
StyleValue.cpp LibWeb: Add EmptyOptionalStyleValue 2026-05-13 11:26:20 +01:00
StyleValue.h LibWeb: Add EmptyOptionalStyleValue 2026-05-13 11:26:20 +01:00
StyleValueList.cpp LibWeb: Add EmptyOptionalStyleValue 2026-05-13 11:26:20 +01:00
StyleValueList.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
SuperellipseStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
SuperellipseStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
TextIndentStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
TextIndentStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
TextUnderlinePositionStyleValue.cpp LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
TextUnderlinePositionStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
TimeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
TransformationStyleValue.cpp LibWeb: Normalize rotate3d() axis vector when computing transform matrix 2026-01-13 12:40:55 +01:00
TransformationStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
TreeCountingFunctionStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
TreeCountingFunctionStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
TupleStyleValue.cpp LibWeb: Add TupleStyleValue 2026-02-20 22:01:44 +00:00
TupleStyleValue.h LibWeb: Replace ViewFunctionStyleValue with FunctionStyleValue 2026-04-24 07:34:54 +01:00
UnicodeRangeStyleValue.cpp LibWeb: Pass StringBuilder around during StyleValue serialization 2026-01-09 10:00:58 +01:00
UnicodeRangeStyleValue.h LibWeb: Add computationally independent check for custom properties 2026-03-26 01:11:39 +00:00
UnresolvedStyleValue.cpp LibWeb: Always pass ASF presence to UnresolvedSV::create() 2026-03-30 19:57:36 +01:00
UnresolvedStyleValue.h LibWeb: Always pass ASF presence to UnresolvedSV::create() 2026-03-30 19:57:36 +01:00
URLStyleValue.h LibWeb: Absolutize <paint> fallback colors 2026-05-07 10:07:09 +01:00