ladybird/Userland/Libraries/LibWeb/CSS/StyleValues
Sam Atkins d0f80b40b2 LibWeb: Reimplement CalculatedStyleValue as a calculation node tree
VALUES-4 defines the internal representation of `calc()` as a tree of
calculation nodes. ( https://www.w3.org/TR/css-values-4/#calc-internal )

VALUES-3 lacked any definition here, so we had our own ad-hoc
implementation based around the spec grammar. This commit replaces that
with CalculationNodes representing each possible node in the tree.

There are no intended functional changes, though we do now support
nested calc() which previously did not work. For example:
    `width: calc( 42 * calc(3 + 7) );`

I have added an example of this to our test page.

A couple of the layout tests that used `calc()` now return values that
are 0.5px different from before. There's no visual difference, so I
have updated the tests to use the new results.
2023-04-13 09:53:47 +02:00
..
AbstractImageStyleValue.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
AngleStyleValue.cpp
AngleStyleValue.h
BackgroundRepeatStyleValue.cpp LibWeb: Split BackgroundRepeatStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BackgroundRepeatStyleValue.h LibWeb: Split BackgroundRepeatStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BackgroundSizeStyleValue.cpp LibWeb: Split BackgroundSizeStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BackgroundSizeStyleValue.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
BackgroundStyleValue.cpp LibWeb: Split StyleValueList out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BackgroundStyleValue.h
BorderRadiusShorthandStyleValue.cpp LibWeb: Split BorderRadiusShorthandStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BorderRadiusShorthandStyleValue.h LibWeb: Split BorderRadiusStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BorderRadiusStyleValue.cpp LibWeb: Make absolutized_length() helper a Length method 2023-03-30 21:29:50 +02:00
BorderRadiusStyleValue.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
BorderStyleValue.cpp LibWeb: Split BorderStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
BorderStyleValue.h LibWeb: Split BorderStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
CalculatedStyleValue.cpp LibWeb: Reimplement CalculatedStyleValue as a calculation node tree 2023-04-13 09:53:47 +02:00
CalculatedStyleValue.h LibWeb: Reimplement CalculatedStyleValue as a calculation node tree 2023-04-13 09:53:47 +02:00
ColorStyleValue.cpp LibWeb: Split ColorStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ColorStyleValue.h LibWeb: Split ColorStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ConicGradientStyleValue.cpp LibWeb: Split AbstractImageStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ConicGradientStyleValue.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
ContentStyleValue.cpp LibWeb: Declare defaulted style value comparision operators inline 2023-03-28 09:18:50 +01:00
ContentStyleValue.h LibWeb: Declare defaulted style value comparision operators inline 2023-03-28 09:18:50 +01:00
EdgeStyleValue.cpp LibWeb: Add EdgeStyleValue 2023-04-03 07:10:33 +02:00
EdgeStyleValue.h LibWeb: Add EdgeStyleValue 2023-04-03 07:10:33 +02:00
FilterValueListStyleValue.cpp LibWeb: Split FilterValueListStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FilterValueListStyleValue.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
FlexFlowStyleValue.cpp LibWeb: Split FlexFlowStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FlexFlowStyleValue.h LibWeb: Split FlexFlowStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FlexStyleValue.cpp LibWeb: Split FlexStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FlexStyleValue.h LibWeb: Split FlexStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FontStyleValue.cpp LibWeb: Split FontStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FontStyleValue.h LibWeb: Split FontStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
FrequencyStyleValue.h LibWeb: Split FrequencyStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridAreaShorthandStyleValue.cpp LibWeb: Declare defaulted style value comparision operators inline 2023-03-28 09:18:50 +01:00
GridAreaShorthandStyleValue.h LibWeb: Declare defaulted style value comparision operators inline 2023-03-28 09:18:50 +01:00
GridTemplateAreaStyleValue.cpp LibWeb: Split GridTemplateAreaStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridTemplateAreaStyleValue.h LibWeb: Split GridTemplateAreaStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridTrackPlacementShorthandStyleValue.cpp LibWeb: Split GridTrackPlacementStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridTrackPlacementShorthandStyleValue.h LibWeb: Split GridTrackPlacementShorthandStyleValue out of StyleValue 2023-03-25 16:56:04 +00:00
GridTrackPlacementStyleValue.cpp LibWeb: Split GridTrackPlacementStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridTrackPlacementStyleValue.h LibWeb: Split GridTrackPlacementStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridTrackSizeStyleValue.cpp LibWeb: Split GridTrackSizeStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
GridTrackSizeStyleValue.h LibWeb: Split GridTrackSizeStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
IdentifierStyleValue.cpp LibWeb: Split IdentifierStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
IdentifierStyleValue.h LibWeb: Split IdentifierStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ImageStyleValue.cpp LibWeb: Split ImageStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ImageStyleValue.h LibWeb: Remove now-unused includes from StyleValue.cpp 2023-03-25 16:56:04 +00:00
InheritStyleValue.h LibWeb: Split InheritStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
InitialStyleValue.h LibWeb: Split InitialStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
LengthStyleValue.cpp LibWeb: Make absolutized_length() helper a Length method 2023-03-30 21:29:50 +02:00
LengthStyleValue.h LibWeb: Split LengthStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
LinearGradientStyleValue.cpp LibWeb: Split AbstractImageStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
LinearGradientStyleValue.h LibWeb: Move PercentageOr and subclasses into PercentageOr.{h,cpp} 2023-03-30 21:29:50 +02:00
ListStyleStyleValue.cpp LibWeb: Split ListStyleStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ListStyleStyleValue.h LibWeb: Split ListStyleStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
NumericStyleValue.cpp LibWeb: Split NumericStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
NumericStyleValue.h LibWeb: Split NumericStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
OverflowStyleValue.cpp LibWeb: Split OverflowStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
OverflowStyleValue.h LibWeb: Split OverflowStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
PercentageStyleValue.h LibWeb: Split PercentageStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
PositionStyleValue.cpp LibWeb: Parse and plumb background-position-x/y 2023-04-03 07:10:33 +02:00
PositionStyleValue.h LibWeb: Parse and plumb background-position-x/y 2023-04-03 07:10:33 +02:00
RadialGradientStyleValue.cpp LibWeb: Split AbstractImageStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
RadialGradientStyleValue.h LibWeb: Move PositionValue into its own files 2023-03-30 21:29:50 +02:00
RectStyleValue.cpp LibWeb: Split RectStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
RectStyleValue.h LibWeb: Move CSS::EdgeRect into its own files 2023-03-30 21:29:50 +02:00
ResolutionStyleValue.h LibWeb: Split ResolutionStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
ShadowStyleValue.cpp LibWeb: Make absolutized_length() helper a Length method 2023-03-30 21:29:50 +02:00
ShadowStyleValue.h LibWeb: Split ShadowStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
StringStyleValue.h LibWeb: Split StringStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
StyleValueList.cpp LibWeb: Split StyleValueList out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
StyleValueList.h LibWeb: Add getter for separator to StyleValueList 2023-04-03 20:54:36 +02:00
TextDecorationStyleValue.cpp LibWeb: Split TextDecorationStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
TextDecorationStyleValue.h LibWeb: Split TextDecorationStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
TimeStyleValue.h LibWeb: Split TimeStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
TransformationStyleValue.cpp LibWeb: Split TransformationStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
TransformationStyleValue.h LibWeb: Split TransformationStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
UnresolvedStyleValue.cpp LibWeb: Split UnresolvedStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
UnresolvedStyleValue.h LibWeb: Split UnresolvedStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00
UnsetStyleValue.h LibWeb: Split UnsetStyleValue out of StyleValue.{h,cpp} 2023-03-25 16:56:04 +00:00