1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 17:07:35 +00:00

LibWeb: Clarify StyleValue API with new naming scheme

This does a few things, that are hard to separate. For a while now, it's
been confuzing what `StyleValue::is_foo()` actually means. It sometimes
was used to check the type, and sometimes to see if it could return a
certain value type. The new naming scheme is:

- `is_length()` - is it a LengthStyleValue?
- `as_length()` - casts it to LengthStyleValue
- `has_length()` - can it return a Length?
- `to_length()` - gets the internal value out (eg, Length)

This also means, no more `static_cast<LengthStyleValue const&>(*this)`
stuff when dealing with StyleValues. :^)

Hopefully this will be a bit clearer going forward. There are lots of
places using the original methods, so I'll be going through them to
hopefully catch any issues.
This commit is contained in:
Sam Atkins 2021-09-23 19:54:19 +01:00 committed by Andreas Kling
parent 1ae0781ce1
commit 4b554ba92a
6 changed files with 263 additions and 60 deletions

View file

@ -28,8 +28,33 @@ class Selector;
class StyleProperties;
class StyleResolver;
class StyleSheet;
class StyleValue;
enum class Display;
class StyleValue;
class BackgroundRepeatStyleValue;
class BackgroundStyleValue;
class BorderRadiusStyleValue;
class BorderStyleValue;
class BoxShadowStyleValue;
class CalculatedStyleValue;
class ColorStyleValue;
class CustomStyleValue;
class FlexFlowStyleValue;
class FlexStyleValue;
class FontStyleValue;
class IdentifierStyleValue;
class ImageStyleValue;
class InheritStyleValue;
class InitialStyleValue;
class LengthStyleValue;
class ListStyleStyleValue;
class NumericStyleValue;
class OverflowStyleValue;
class StringStyleValue;
class TextDecorationStyleValue;
class TransformationStyleValue;
class UnsetStyleValue;
class StyleValueList;
}
namespace Web::DOM {