ladybird/Userland/Libraries/LibWeb/CSS
Andreas Kling 5857f24bc8 LibWeb: Only update style for the element being animated by CSS
Unlike DOM mutations, CSS animations don't affect the style of the
entire subtree of the element being animated. This means we only have to
recompute style for the animating element, which is significantly
faster than doing the whole subtree.

This takes idle CPU usage on https://shopify.com/ from 100% to 30% on my
(not massively powerful) laptop. :^)
2023-05-29 06:05:03 +02:00
..
Parser LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
StyleValues LibWeb: Add CSS CompositeStyleValue 2023-05-29 05:35:41 +02:00
SyntaxHighlighter LibGfx+Userland: Make TextAttributes::underline_style optional 2023-03-15 14:55:49 +01:00
Angle.cpp LibWeb: Remove CalculatedStyleValue from Angle 2023-03-30 21:29:50 +02:00
Angle.h LibWeb: Expose type and raw values of basic CSS types 2023-04-13 09:53:47 +02:00
BackdropFilter.h LibWeb: Split FilterValueListStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
CalculatedOr.cpp LibWeb: Introduce CalculatedOr type 2023-03-30 21:29:50 +02:00
CalculatedOr.h LibWeb: Split CalculatedStyleValue out of StyleValue.{h,cpp} 2023-03-30 21:29:50 +02:00
Clip.cpp LibWeb: Move CSS::EdgeRect into its own files 2023-03-30 21:29:50 +02:00
Clip.h LibWeb: Move CSS::EdgeRect into its own files 2023-03-30 21:29:50 +02:00
ComputedValues.h LibWeb: Resolve border[-color,-style,-width] properties 2023-05-27 20:55:00 +02:00
CSS.cpp LibWeb: Make property_id_from_string() return Optional 2023-05-25 06:36:10 +02:00
CSS.h LibWeb: Port the CSS namespace to IDL 2023-03-15 12:48:25 -04:00
CSS.idl LibWeb: Port the CSS namespace to IDL 2023-03-15 12:48:25 -04:00
CSSConditionRule.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSConditionRule.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSConditionRule.idl
CSSFontFaceRule.cpp LibWeb: Include weight and style in CSSFontFaceRule serialization 2023-05-24 20:58:46 +02:00
CSSFontFaceRule.h
CSSFontFaceRule.idl
CSSGroupingRule.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSGroupingRule.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSGroupingRule.idl
CSSImportRule.cpp LibWeb: Don't include CSS/StyleComputer.h from Element.h and Document.h 2023-05-08 09:29:44 +02:00
CSSImportRule.h LibWeb: Actually visit rules and media queries in imported style sheets 2023-03-30 16:54:15 +02:00
CSSImportRule.idl
CSSKeyframeRule.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSKeyframeRule.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSKeyframeRule.idl LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSKeyframesRule.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSKeyframesRule.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSKeyframesRule.idl LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSMediaRule.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CSSMediaRule.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CSSMediaRule.idl
CSSRule.cpp
CSSRule.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSRule.idl LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSRuleList.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSRuleList.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSRuleList.idl
CSSStyleDeclaration.cpp LibWeb: Make property_id_from_string() return Optional 2023-05-25 06:36:10 +02:00
CSSStyleDeclaration.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSStyleDeclaration.idl
CSSStyleRule.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CSSStyleRule.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CSSStyleRule.idl
CSSStyleSheet.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSStyleSheet.h LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSStyleSheet.idl
CSSSupportsRule.cpp LibWeb: Remove CSS::Parser::ParsingContext's default constructor 2023-03-07 11:51:12 +00:00
CSSSupportsRule.h Everywhere: Remove NonnullRefPtr.h includes 2023-03-06 23:46:35 +01:00
CSSSupportsRule.idl
Default.css LibWeb: Add scaleable checkboxes (with theme/accent-color support) 2023-03-23 08:27:51 +00:00
Display.cpp
Display.h LibWeb: Support multi-keyword syntax for CSS display property 2023-05-02 20:27:28 +02:00
EdgeRect.cpp LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
EdgeRect.h LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
ElementCSSInlineStyle.idl LibWeb: Move Element.prototype.style to ElementCSSInlineStyle mixin 2023-03-20 20:37:40 -04:00
Enums.json LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
FontFace.cpp LibWeb: Parse font-weight and font-style inside @font-face rules 2023-05-24 17:19:18 +02:00
FontFace.h LibWeb: Parse font-weight and font-style inside @font-face rules 2023-05-24 17:19:18 +02:00
Frequency.cpp LibWeb: Remove CalculatedStyleValue from Frequency 2023-03-30 21:29:50 +02:00
Frequency.h LibWeb: Expose type and raw values of basic CSS types 2023-04-13 09:53:47 +02:00
GeneralEnclosed.h
GridTrackPlacement.cpp
GridTrackPlacement.h
GridTrackSize.cpp LibWeb: Treat unresolvable percentages as auto to resolve sizes in GFC 2023-05-28 20:26:05 +02:00
GridTrackSize.h LibWeb: Treat unresolvable percentages as auto to resolve sizes in GFC 2023-05-28 20:26:05 +02:00
Identifiers.json LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
Length.cpp LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
Length.h LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
LengthBox.cpp LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
LengthBox.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
LinkStyle.idl
MediaFeatures.json
MediaList.cpp LibWeb: Remove CSS::Parser::ParsingContext's default constructor 2023-03-07 11:51:12 +00:00
MediaList.h Everywhere: Remove NonnullRefPtr.h includes 2023-03-06 23:46:35 +01:00
MediaList.idl
MediaQuery.cpp LibWeb: Don't include CSS/StyleComputer.h from Element.h and Document.h 2023-05-08 09:29:44 +02:00
MediaQuery.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
MediaQueryList.cpp LibWeb: Port EventTarget to new {Fly}String 2023-04-09 17:27:27 +02:00
MediaQueryList.h
MediaQueryList.idl
MediaQueryListEvent.cpp LibWeb: Port {Mouse,UI,Wheel,}Event to new String 2023-04-07 22:41:01 +02:00
MediaQueryListEvent.h
MediaQueryListEvent.idl
Number.h LibWeb: Expose type and raw values of basic CSS types 2023-04-13 09:53:47 +02:00
Percentage.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
PercentageOr.cpp LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
PercentageOr.h LibWeb: Make PercentageOr<T> equality comparison work for calc() values 2023-05-13 07:38:08 +02:00
Position.cpp LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00
Position.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
PreferredColorScheme.cpp Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_case 2023-03-10 13:15:44 +01:00
PreferredColorScheme.h
Properties.json LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
QuirksMode.css
Ratio.cpp
Ratio.h
Resolution.cpp LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
Resolution.h
ResolvedCSSStyleDeclaration.cpp LibWeb: Resolve border[-color,-style,-width] properties 2023-05-27 20:55:00 +02:00
ResolvedCSSStyleDeclaration.h LibWeb: Propagate errors from ResolvedCSSStyleDeclaration 2023-05-06 08:07:28 +02:00
Screen.cpp
Screen.h
Screen.idl
Selector.cpp LibWeb: Implement the :defined pseudo class 2023-04-06 11:36:56 +02:00
Selector.h LibWeb: Implement the :defined pseudo class 2023-04-06 11:36:56 +02:00
SelectorEngine.cpp LibWeb: Implement the :defined pseudo class 2023-04-06 11:36:56 +02:00
SelectorEngine.h LibWeb: Support the :scope pseudo class 2023-03-21 10:45:19 +01:00
Serialize.cpp
Serialize.h
Size.cpp LibWeb: Add fit-content as a valid size value for CSS width 2023-05-27 05:47:54 +02:00
Size.h LibWeb: Add fit-content as a valid size value for CSS width 2023-05-27 05:47:54 +02:00
StyleComputer.cpp LibWeb: Only update style for the element being animated by CSS 2023-05-29 06:05:03 +02:00
StyleComputer.h LibWeb: Respect the CSS animation-direction property for animations 2023-05-29 05:35:41 +02:00
StyleProperties.cpp LibWeb: Keep track of CSS property source declarations 2023-05-29 05:35:41 +02:00
StyleProperties.h LibWeb: Keep track of CSS property source declarations 2023-05-29 05:35:41 +02:00
StyleProperty.cpp LibWeb: Don't include Layout/Node.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
StyleProperty.h LibWeb: Don't include Layout/Node.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
StyleSheet.cpp
StyleSheet.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
StyleSheet.idl
StyleSheetList.cpp LibWeb: Don't include CSS/StyleComputer.h from Element.h and Document.h 2023-05-08 09:29:44 +02:00
StyleSheetList.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
StyleSheetList.idl
StyleValue.cpp LibWeb: Add CSS CompositeStyleValue 2023-05-29 05:35:41 +02:00
StyleValue.h LibWeb: Add CSS CompositeStyleValue 2023-05-29 05:35:41 +02:00
Supports.cpp LibWeb: Remove CSS::Parser::ParsingContext's default constructor 2023-03-07 11:51:12 +00:00
Supports.h LibWeb: Remove CSS::Parser::ParsingContext's default constructor 2023-03-07 11:51:12 +00:00
Time.cpp LibWeb: Add CSS::Time::to_milliseconds() 2023-05-29 05:35:41 +02:00
Time.h LibWeb: Add CSS::Time::to_milliseconds() 2023-05-29 05:35:41 +02:00
TransformFunctions.json
UnicodeRange.h