ladybird/Userland/Libraries/LibWeb/CSS
Andreas Kling 3ec9fd0aae LibWeb: Resolve calc() values in CSS transform
There are two parts to this fix:

- First, StyleProperties::transformations() would previously omit calc()
  values entirely when returning the list of transformations. This was
  very confusing to StackingContext which then tried to index into the
  list based on faulty assumptions. Fix this by emitting calc values.

- Second, StackingContext::get_transformation_matrix() now always calls
  resolve() on length-percentages. This takes care of actually resolving
  calc() values. If no reference value for percentages is provided, we
  default to 0px.

This stops LibWeb from asserting on websites with calc() in transform
values, such as https://qt.io/ :^)
2023-07-15 11:35:16 +02:00
..
Parser LibWeb: Use generated math-function-parsing code 2023-07-15 10:23:33 +02:00
StyleValues LibWeb: Extract CalculationNode::constant_type_from_string() function 2023-07-15 10:23:33 +02:00
SyntaxHighlighter LibGfx+Userland: Make TextAttributes::underline_style optional 2023-03-15 14:55:49 +01:00
Angle.cpp LibWeb: Implement CSS sin() 2023-06-15 16:54:14 +01:00
Angle.h LibWeb: Implement CSS sin() 2023-06-15 16:54:14 +01: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: Add support for justify-items property in CSS parser 2023-07-15 05:50:51 +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: Fix serialization of CSSFontFaceRule 2023-06-20 15:50:26 +01: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+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
CSSImportRule.idl
CSSKeyframeRule.cpp LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
CSSKeyframeRule.h LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
CSSKeyframeRule.idl LibWeb: Generate JavaScript bindings for CSSKeyframeRule 2023-06-21 12:26:22 +02:00
CSSKeyframesRule.cpp LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
CSSKeyframesRule.h LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
CSSKeyframesRule.idl LibWeb: Generate JavaScript bindings for CSSKeyframesRule 2023-06-21 12:26:22 +02:00
CSSMediaRule.cpp LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
CSSMediaRule.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
CSSMediaRule.idl
CSSNumericType.cpp LibWeb: Add CSSNumericType::matches_dimension() 2023-07-15 10:23:33 +02:00
CSSNumericType.h LibWeb: Add CSSNumericType::matches_dimension() 2023-07-15 10:23:33 +02:00
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 LibJS: Make Object::internal_get() reveal the used property offset 2023-07-09 12:54:06 +02:00
CSSStyleDeclaration.h LibJS: Make Object::internal_get() reveal the used property offset 2023-07-09 12:54:06 +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 Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
CSSStyleRule.idl
CSSStyleSheet.cpp LibWeb: Add preliminary support for CSS animations 2023-05-29 05:35:41 +02:00
CSSStyleSheet.h LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
CSSStyleSheet.idl
CSSSupportsRule.cpp
CSSSupportsRule.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
CSSSupportsRule.idl
Default.css LibWeb/CSS: Update Default.css from the HTML specification 2023-06-17 06:31:28 +02:00
Display.cpp
Display.h LibWeb: Support multi-keyword syntax for CSS display property 2023-05-02 20:27:28 +02:00
EasingFunctions.json Meta/CodeGenerators+LibWeb: Implement parsing CSS easing functions 2023-07-13 05:10:41 +02:00
EdgeRect.cpp LibWeb+WebContent: Forbid access to underlying type of CSSPixels 2023-06-13 06:08:27 +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: Move RoundingMode to Enums.json 2023-07-15 10:23:33 +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: Change calc node representation from float to double 2023-05-31 10:56:32 +02:00
Frequency.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
GeneralEnclosed.h
GridTrackPlacement.cpp
GridTrackPlacement.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
GridTrackSize.cpp LibWeb: Use none as initial value for grid-template-column/rows 2023-06-07 14:13:07 +02:00
GridTrackSize.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Identifiers.json LibWeb: Move RoundingMode to Enums.json 2023-07-15 10:23:33 +02:00
Length.cpp LibWeb+WebContent: Forbid access to underlying type of CSSPixels 2023-06-13 06:08:27 +02:00
Length.h LibWeb: Add a way to resolve calc() values without a layout node 2023-06-02 20:03:28 +02:00
LengthBox.cpp LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
LengthBox.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
LinkStyle.idl
MathFunctions.json LibWeb: Generate parsing code for CSS math functions 2023-07-15 10:23:33 +02:00
MediaFeatures.json
MediaList.cpp
MediaList.h
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: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
Percentage.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +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 support for justify-items property in CSS parser 2023-07-15 05:50:51 +02:00
QuirksMode.css
Ratio.cpp
Ratio.h LibWeb: Add RatioStyleValue and parsing 2023-06-09 20:37:51 +02:00
Resolution.cpp LibWeb: Serialize Resolution according to spec 2023-05-31 05:56:25 +02:00
Resolution.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
ResolvedCSSStyleDeclaration.cpp LibWeb: Add support for justify-items property in CSS parser 2023-07-15 05:50:51 +02:00
ResolvedCSSStyleDeclaration.h LibWeb: Propagate errors from ResolvedCSSStyleDeclaration 2023-05-06 08:07:28 +02:00
Screen.cpp LibWeb+WebContent: Forbid access to underlying type of CSSPixels 2023-06-13 06:08:27 +02:00
Screen.h
Screen.idl
Selector.cpp LibWeb: Parse CSS :host selector 2023-07-05 12:42:02 +02:00
Selector.h LibWeb: Parse CSS :host selector 2023-07-05 12:42:02 +02:00
SelectorEngine.cpp LibWeb: Parse CSS :host selector 2023-07-05 12:42:02 +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: Add logical CSS properties for insets 2023-07-14 05:55:32 +02:00
StyleComputer.h LibWeb: Fully implement CSS animation-timing-function 2023-07-13 05:10:41 +02:00
StyleProperties.cpp LibWeb: Resolve calc() values in CSS transform 2023-07-15 11:35:16 +02:00
StyleProperties.h LibWeb: Add support for justify-items property in CSS parser 2023-07-15 05:50:51 +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 Meta/CodeGenerators+LibWeb: Implement parsing CSS easing functions 2023-07-13 05:10:41 +02:00
StyleValue.h Meta/CodeGenerators+LibWeb: Implement parsing CSS easing functions 2023-07-13 05:10:41 +02:00
Supports.cpp
Supports.h
Time.cpp LibWeb: Change calc node representation from float to double 2023-05-31 10:56:32 +02:00
Time.h LibWeb: Add comparison operators to CSS numeric types (except Length) 2023-06-02 17:46:35 +02:00
TransformFunctions.json
UnicodeRange.h