ladybird/Libraries/LibWeb/CSS/StyleValues
Andreas Kling 17902b02ab LibWeb: Stop idle animated CSS image timers
Keep animated ImageStyleValue frame advancement owned by the
style value. The current frame and loop state live there, so a
separate document scheduler would duplicate ownership of that state.

Start the ImageStyleValue timer only while it has layout clients.
Stop it when the last client unregisters, or when a finite animation
completes. Expose a document-scoped active timer count through
internals for focused regression tests.

Clear image observers when layout nodes detach. Use current-node
cleanup for per-DOM-node clearing, and explicit subtree cleanup for
tree replacement, full tree teardown, and synthetic pseudo-elements.
This keeps large document clearing linear.

Unregister generated-content image providers during layout detach
instead of waiting for GC to finalize the provider.

Cover hidden animated background images, generated content images,
layout node replacement, full layout tree teardown, and document
scoping for the internals counter.
2026-05-23 11:36:53 +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: Disallow relative lengths in DOMMatrix init string at parse 2026-05-21 17:07:58 +01:00
CalculatedStyleValue.h LibWeb: Disallow relative lengths in DOMMatrix init string at parse 2026-05-21 17:07:58 +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: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +01:00
ConicGradientStyleValue.h LibWeb: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +01: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: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +01:00
CursorStyleValue.h LibWeb: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +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: Simplify handling of resolution in ImageSetStyleValue 2026-05-20 09:47:17 +01:00
ImageSetStyleValue.h LibWeb: Simplify handling of resolution in ImageSetStyleValue 2026-05-20 09:47:17 +01:00
ImageStyleValue.cpp LibWeb: Stop idle animated CSS image timers 2026-05-23 11:36:53 +02:00
ImageStyleValue.h LibWeb: Stop idle animated CSS image timers 2026-05-23 11:36:53 +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: Fix -webkit-linear-gradient angle direction 2026-05-21 09:13:04 +02:00
LinearGradientStyleValue.h LibWeb: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +01: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: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +01:00
RadialGradientStyleValue.h LibWeb: Remove LRC from various resolved value cache keys 2026-05-20 09:47:17 +01: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+WebContent: Route compositor through in-process IPC 2026-05-21 11:45:06 +01:00
StyleValue.h LibWeb: Add EmptyOptionalStyleValue 2026-05-13 11:26:20 +01:00
StyleValueList.cpp LibWeb: Check transform function can be resolved before reification 2026-05-21 17:07:58 +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: Make TransformationSV::to_matrix infallible 2026-05-21 17:07:58 +01:00
TransformationStyleValue.h LibWeb: Make TransformationSV::to_matrix infallible 2026-05-21 17:07:58 +01: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