ladybird/Libraries/LibWeb/CSS
Aliaksandr Kalenik 36a255eedd LibWeb: Fix glitchy CSS transitions
`start_needed_transitions()` decides which animations need to be started
based on previous and current style property values. Before this change,
we were using the style value without animations applied as the
"current" value. This caused issues such as starting a new transition
from the animation’s end value when an ongoing animation was
interrupted.
2025-05-28 17:35:59 +01:00
..
Parser LibWeb/CSS: Don't treat "-foo" as vendor-prefixed 2025-05-23 19:39:23 +01:00
StyleValues LibWeb/CSS: Avoid calling to_font_weight() when serializing font 2025-05-24 13:35:30 +01:00
SyntaxHighlighter
Angle.cpp LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
Angle.h LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
AnimationEvent.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
AnimationEvent.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AnimationEvent.idl
BooleanExpression.cpp LibWeb: Implement generic boolean logic for media/supports queries 2025-03-17 10:00:19 +00:00
BooleanExpression.h LibWeb/CSS: Make media type and feature evaluation combination explicit 2025-05-23 10:17:58 +01:00
CalculatedOr.cpp LibWeb: Make storage of CSS::StyleValues const-correct 2025-04-16 10:41:44 -06:00
CalculatedOr.h LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
CascadedProperties.cpp Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
CascadedProperties.h LibWeb/CSS: Move and rename PseudoElement types to prep for code gen 2025-03-24 09:49:50 +00:00
CascadeOrigin.h LibWeb: Split StyleComputer work into two phases with separate outputs 2024-12-22 10:12:49 +01:00
CharacterTypes.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Clip.cpp
Clip.h
ColumnCount.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
ComputedProperties.cpp LibWeb: Reset animated CSS properties for pseudo elements 2025-05-28 17:35:59 +01:00
ComputedProperties.h LibWeb: Reset animated CSS properties for pseudo elements 2025-05-28 17:35:59 +01:00
ComputedValues.h LibWeb: Parse and propagate touch-action CSS property 2025-05-06 12:22:01 +01:00
CountersSet.cpp AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
CountersSet.h
CSS.cpp LibWeb/CSS: Integrate ParsingContext into the Parser 2025-02-06 16:47:25 +00:00
CSS.h
CSS.idl
CSSAnimation.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSAnimation.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSAnimation.idl
CSSConditionRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSConditionRule.h
CSSConditionRule.idl
CSSDescriptors.cpp LibWeb: Prefer using equals_ignoring_ascii_case 2025-05-21 13:45:02 +01:00
CSSDescriptors.h LibWeb/CSS: Allow descriptors to be shorthands 2025-05-15 09:53:29 +01:00
CSSFontFaceDescriptors.cpp LibWeb/CSS: Extract a CSSDescriptors base class 2025-05-08 16:21:32 +01:00
CSSFontFaceDescriptors.h LibWeb/CSS: Extract a CSSDescriptors base class 2025-05-08 16:21:32 +01:00
CSSFontFaceDescriptors.idl LibWeb/CSS: Add CSSFontFaceDescriptors type 2025-04-04 10:40:32 +01:00
CSSFontFaceRule.cpp LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
CSSFontFaceRule.h LibWeb: Dump CSSDescriptors in a generic way 2025-05-08 16:21:32 +01:00
CSSFontFaceRule.idl
CSSGroupingRule.cpp LibWeb/CSS: Use CSSRule's context to parse new child rules 2025-04-23 10:55:45 +01:00
CSSGroupingRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSGroupingRule.idl
CSSImportRule.cpp LibWeb/CSS: Remove URL parameter to the CSS Parser 2025-05-03 12:01:43 +01:00
CSSImportRule.h LibWeb/CSS: Don't resolve @import URLs until they are used 2025-04-09 18:45:57 +01:00
CSSImportRule.idl LibWeb/CSS: Mark CSSImportRule.media as nullable 2025-04-09 18:45:57 +01:00
CSSKeyframeRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSKeyframeRule.h LibWeb/CSS: Merge style declaration subclasses into CSSStyleProperties 2025-03-19 13:53:00 +00:00
CSSKeyframeRule.idl LibWeb/CSS: Merge style declaration subclasses into CSSStyleProperties 2025-03-19 13:53:00 +00:00
CSSKeyframesRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSKeyframesRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSKeyframesRule.idl
CSSLayerBlockRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSLayerBlockRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSLayerBlockRule.idl
CSSLayerStatementRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSLayerStatementRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSLayerStatementRule.idl LibWeb: Convert trivial attributes to FrozenArray 2025-04-25 16:43:43 +02:00
CSSMarginRule.cpp LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
CSSMarginRule.h LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
CSSMarginRule.idl LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
CSSMediaRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSMediaRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSMediaRule.idl
CSSNamespaceRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSNamespaceRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSNamespaceRule.idl
CSSNestedDeclarations.cpp LibWeb: Return correct type from CSSNestedDeclarations::style 2025-04-25 08:48:29 +02:00
CSSNestedDeclarations.h LibWeb: Return correct type from CSSNestedDeclarations::style 2025-04-25 08:48:29 +02:00
CSSNestedDeclarations.idl LibWeb: Return correct type from CSSNestedDeclarations::style 2025-04-25 08:48:29 +02:00
CSSNumericType.cpp LibWeb: Parse CSS fit-content(<length-percentage>) values 2025-02-27 00:44:14 +01:00
CSSNumericType.h LibWeb/CSS: Use CalcSV's context to determine what percentages are 2025-01-13 10:59:16 +00:00
CSSPageDescriptors.cpp LibWeb: Add basic implementation of @page 2025-05-15 09:53:29 +01:00
CSSPageDescriptors.h LibWeb: Add basic implementation of @page 2025-05-15 09:53:29 +01:00
CSSPageDescriptors.idl LibWeb: Add basic implementation of @page 2025-05-15 09:53:29 +01:00
CSSPageRule.cpp LibWeb/CSS: Implement CSSPageRule.setSelectorText() 2025-05-16 16:42:10 +01:00
CSSPageRule.h LibWeb/CSS: Move PageSelector into its own files 2025-05-16 16:42:10 +01:00
CSSPageRule.idl LibWeb: Add basic implementation of @page 2025-05-15 09:53:29 +01:00
CSSPropertyRule.cpp LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
CSSPropertyRule.h LibWeb: Make storage of CSS::StyleValues const-correct 2025-04-16 10:41:44 -06:00
CSSPropertyRule.idl
CSSRule.cpp LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
CSSRule.h LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
CSSRule.idl
CSSRuleList.cpp LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
CSSRuleList.h LibWeb/CSS: Use CSSRule's context to parse new child rules 2025-04-23 10:55:45 +01:00
CSSRuleList.idl
CSSStyleDeclaration.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSStyleDeclaration.h LibWeb/CSS: Move property code from CSSStyleDeclaration to *Properties 2025-03-19 13:53:00 +00:00
CSSStyleDeclaration.idl LibWeb/CSS: Move property code from CSSStyleDeclaration to *Properties 2025-03-19 13:53:00 +00:00
CSSStyleProperties.cpp LibWeb: Prefer using equals_ignoring_ascii_case 2025-05-21 13:45:02 +01:00
CSSStyleProperties.h LibWeb: Invalidate owner sheet on add/remove in CSSStyleProperties 2025-04-24 18:26:54 +02:00
CSSStyleProperties.idl LibWeb/CSS: Move property code from CSSStyleDeclaration to *Properties 2025-03-19 13:53:00 +00:00
CSSStyleRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSStyleRule.h LibWeb/CSS: Let CSSStyleValue know its CSSStyleSheet 2025-04-15 09:54:35 +01:00
CSSStyleRule.idl LibWeb/CSS: Merge style declaration subclasses into CSSStyleProperties 2025-03-19 13:53:00 +00:00
CSSStyleSheet.cpp LibWeb: Invalidate owner sheet on add/remove in CSSStyleProperties 2025-04-24 18:26:54 +02:00
CSSStyleSheet.h LibWeb/CSS: Expose owning document of CSSStyleSheet 2025-04-15 09:54:35 +01:00
CSSStyleSheet.idl
CSSStyleValue.cpp LibWeb: Remove obsolete font-style Keyword handling 2025-05-22 17:39:05 +01:00
CSSStyleValue.h LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
CSSSupportsRule.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CSSSupportsRule.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
CSSSupportsRule.idl
CSSTransition.cpp LibWeb: Fix glitchy CSS transitions 2025-05-28 17:35:59 +01:00
CSSTransition.h LibWeb: Fix glitchy CSS transitions 2025-05-28 17:35:59 +01:00
CSSTransition.idl
Default.css LibWeb: Avoid changing button border color on disable/hover 2025-04-30 20:13:14 +01:00
Descriptor.cpp LibWeb: Parse descriptors as style values, using the JSON data 2025-04-04 10:40:32 +01:00
Descriptor.h LibWeb: Parse descriptors as style values, using the JSON data 2025-04-04 10:40:32 +01:00
Descriptors.json LibWeb/CSS: Parse @page bleed, marks, page-orientation descriptors 2025-05-15 09:53:29 +01:00
Display.cpp LibWeb: Make CSS display serialization match other engines 2024-11-15 14:46:09 +01:00
Display.h LibWeb: Implement CSS 'contain' property 2025-01-28 11:24:40 +00:00
EasingFunctions.json
EdgeRect.cpp
EdgeRect.h
ElementCSSInlineStyle.idl LibWeb/CSS: Merge style declaration subclasses into CSSStyleProperties 2025-03-19 13:53:00 +00:00
Enums.json LibWeb/CSS: Parse @page size descriptor 2025-05-15 09:53:29 +01:00
Fetch.cpp LibWeb: Set the initiator type for script-initiated CSS requests 2025-05-06 17:37:34 +01:00
Fetch.h LibWeb/CSS: Parse and use CSS URL request modifiers 2025-05-03 23:22:40 +01:00
Filter.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
Flex.cpp LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
Flex.h LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
FontFace.cpp LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
FontFace.h LibGfx+LibWeb: Store Typeface and Font-related types in RefPtr to const 2025-04-16 10:41:44 -06:00
FontFace.idl
FontFaceSet.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
FontFaceSet.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
FontFaceSet.idl
Frequency.cpp LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
Frequency.h LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
GridTrackPlacement.cpp LibWeb: Avoid repetition when serializing grid track placement values 2025-03-19 02:08:05 +01:00
GridTrackPlacement.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
GridTrackSize.cpp LibWeb/CSS: Make empty GridTrackSize value serialize to "none" 2025-03-22 17:33:37 +01:00
GridTrackSize.h
Interpolation.cpp LibWeb: Ensure discrete interpolated properties are non-transitionable 2025-05-27 13:33:29 +02:00
Interpolation.h LibWeb: Ensure discrete interpolated properties are non-transitionable 2025-05-27 13:33:29 +02:00
InvalidationSet.cpp LibWeb: Allow to early break from InvalidationSet::for_each_property() 2025-01-29 09:30:18 +01:00
InvalidationSet.h LibWeb: Allow to early break from InvalidationSet::for_each_property() 2025-01-29 09:30:18 +01:00
Keywords.json LibWeb/CSS: Allow "picture-in-picture" in "display-mode" media feature 2025-05-23 10:17:58 +01:00
Length.cpp LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
Length.h LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
LengthBox.cpp
LengthBox.h LibWeb: Make storage of CSS::StyleValues const-correct 2025-04-16 10:41:44 -06:00
LinkStyle.idl
MathFunctions.json LibWeb/CSS: Add some FIXME comments for missing math-function features 2025-01-30 19:31:54 +01:00
MediaFeatures.json LibWeb/CSS: Correct how we evaluate boolean media-features 2025-05-23 10:17:58 +01:00
MediaList.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
MediaList.h LibWeb: Invalidate style (and rule cache) on MediaList changes 2025-03-04 19:07:40 +01:00
MediaList.idl
MediaQuery.cpp LibWeb/CSS: Correct how we evaluate boolean media-features 2025-05-23 10:17:58 +01:00
MediaQuery.h LibWeb/CSS: Maintain original form of media-feature ranges 2025-05-23 10:17:58 +01:00
MediaQueryList.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
MediaQueryList.h LibWeb: Don't lose change events on MediaQueryList internal state change 2025-02-13 20:52:31 +01:00
MediaQueryList.idl
MediaQueryListEvent.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
MediaQueryListEvent.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
MediaQueryListEvent.idl
Number.cpp LibWeb: Only serialize CSS numbers with up to 5 decimals 2025-05-18 17:23:34 +02:00
Number.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
PageSelector.cpp LibWeb/CSS: Move PageSelector into its own files 2025-05-16 16:42:10 +01:00
PageSelector.h LibWeb/CSS: Move PageSelector into its own files 2025-05-16 16:42:10 +01:00
ParsedFontFace.cpp LibWeb/CSS: Use CSS::URL for font-fetching 2025-05-03 12:01:43 +01:00
ParsedFontFace.h LibWeb/CSS: Use CSS::URL for font-fetching 2025-05-03 12:01:43 +01:00
Percentage.h
PercentageOr.h LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
PreferredColorScheme.cpp
PreferredColorScheme.h
PreferredContrast.cpp
PreferredContrast.h
PreferredMotion.cpp
PreferredMotion.h
Properties.json LibWeb: Interpolate the content-visibility property correctly 2025-05-13 11:24:05 +01:00
PropertyName.h
PseudoClassBitmap.h LibWeb: Make :hover invalidation logic reusable for all pseudo classes 2025-04-17 19:45:55 +02:00
PseudoClasses.json LibWeb: Implement the :default pseudo-class 2025-05-24 10:31:34 +01:00
PseudoElements.json LibWeb: Add support for trees of pseudo-elements 2025-05-13 12:38:42 +01:00
QuirksMode.css LibWeb/CSS: Update quirks-mode styling for form elements 2025-03-26 09:47:45 +00:00
Ratio.cpp
Ratio.h
Resolution.cpp LibWeb/CSS: Treat x resolution unit separately from dppx 2025-05-17 07:53:24 +01:00
Resolution.h LibWeb/CSS: Treat x resolution unit separately from dppx 2025-05-17 07:53:24 +01:00
Screen.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
Screen.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Screen.idl LibWeb: Update Screen IDL definition to not inherit from EventTarget 2024-11-26 18:44:26 +01:00
ScreenOrientation.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
ScreenOrientation.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ScreenOrientation.idl
Selector.cpp LibWeb/CSS: Use case insensitive tag and attribute name in ancestor hash 2025-05-21 08:54:40 -04:00
Selector.h LibWeb/CSS: Parse an ident in :dir(), not a keyword 2025-05-17 00:30:44 +02:00
SelectorEngine.cpp LibWeb: Implement the :default pseudo-class 2025-05-24 10:31:34 +01:00
SelectorEngine.h LibWeb: Make :hover invalidation logic reusable for all pseudo classes 2025-04-17 19:45:55 +02:00
SerializationMode.h LibWeb/CSS: Extract SerializationMode into its own header 2025-05-17 07:53:24 +01:00
Serialize.cpp LibWeb/CSS: Stub out a function for serializing ComponentValue sequences 2025-05-23 10:17:58 +01:00
Serialize.h LibWeb/CSS: Stub out a function for serializing ComponentValue sequences 2025-05-23 10:17:58 +01:00
Size.cpp LibWeb: Make storage of CSS::StyleValues const-correct 2025-04-16 10:41:44 -06:00
Size.h LibWeb: Make storage of CSS::StyleValues const-correct 2025-04-16 10:41:44 -06:00
Sizing.cpp
Sizing.h
StyleComputer.cpp LibWeb: Fix glitchy CSS transitions 2025-05-28 17:35:59 +01:00
StyleComputer.h LibWeb/CSS: Remove now-unused AllowUnresolved enum 2025-05-14 11:46:47 +01:00
StyleInvalidation.cpp LibWeb: Invalidate layout tree on CSS position property change 2025-05-20 13:28:40 +02:00
StyleInvalidation.h LibGC+LibWeb+LibJS: Remove workaround for Swift boolean bitfield issue 2025-04-04 13:06:53 -06:00
StyleInvalidationData.cpp LibWeb: Implement the :default pseudo-class 2025-05-24 10:31:34 +01:00
StyleInvalidationData.h LibWeb: Fix underinvalidation of :nth-child using invalidation sets 2025-01-25 10:16:21 +01:00
StyleProperty.cpp
StyleProperty.h LibWeb/CSS: Set enum sizes for PropertyID and Keyword 2025-05-20 10:14:21 +12:00
StyleSheet.cpp LibWeb/CSS: Store CSSStyleSheet location as a URL 2025-04-09 18:45:57 +01:00
StyleSheet.h LibWeb/CSS: Make it clear that StyleSheet::media() is never null 2025-04-09 18:45:57 +01:00
StyleSheet.idl
StyleSheetIdentifier.cpp LibWeb+WebContent: Include rule count in listed CSS style sheets 2025-03-13 16:56:28 -04:00
StyleSheetIdentifier.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
StyleSheetList.cpp LibWeb/CSS: Remove document-URL hack from create_a_style_sheet() 2025-05-03 12:01:43 +01:00
StyleSheetList.h LibWeb/CSS: Return GC::Ref from style sheet parsing methods 2025-04-15 09:40:38 +01:00
StyleSheetList.idl
Supports.cpp LibWeb: Implement CSSImportRule.supportsText 2025-03-19 16:42:51 +01:00
Supports.h LibWeb/CSS: Implement @supports font-format() and font-tech() 2025-03-17 10:00:19 +00:00
SystemColor.cpp LibWeb/CSS: Implement the color-scheme CSS property 2025-01-08 11:18:13 +00:00
SystemColor.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Time.cpp LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
Time.h LibWeb/CSS: Make dimension types serialize in resolved form 2025-05-17 07:53:24 +01:00
Transformation.cpp LibWeb: Allow transform calculated length properties 2025-05-02 11:10:02 +01:00
Transformation.h
TransformFunctions.json LibWeb: Implement interpolation for CSS scale values 2025-04-25 14:08:12 +02:00
TransitionEvent.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
TransitionEvent.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
TransitionEvent.idl LibWeb/CSS: Add the TransitionEvent type 2024-12-25 17:14:08 +01:00
URL.cpp LibWeb/CSS: Parse and use CSS URL request modifiers 2025-05-03 23:22:40 +01:00
URL.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
VisualViewport.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
VisualViewport.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
VisualViewport.idl