mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 18:57:42 +00:00
LibWeb: Replace ListStyleStyleValue with ShorthandStyleValue
This commit is contained in:
parent
f5cb2e8dc2
commit
6758decc74
10 changed files with 5 additions and 88 deletions
|
@ -24,7 +24,6 @@ source_set("StyleValues") {
|
|||
"IntegerStyleValue.cpp",
|
||||
"LengthStyleValue.cpp",
|
||||
"LinearGradientStyleValue.cpp",
|
||||
"ListStyleStyleValue.cpp",
|
||||
"MathDepthStyleValue.cpp",
|
||||
"NumberStyleValue.cpp",
|
||||
"OverflowStyleValue.cpp",
|
||||
|
|
|
@ -101,7 +101,6 @@ set(SOURCES
|
|||
CSS/StyleValues/IntegerStyleValue.cpp
|
||||
CSS/StyleValues/LengthStyleValue.cpp
|
||||
CSS/StyleValues/LinearGradientStyleValue.cpp
|
||||
CSS/StyleValues/ListStyleStyleValue.cpp
|
||||
CSS/StyleValues/MathDepthStyleValue.cpp
|
||||
CSS/StyleValues/NumberStyleValue.cpp
|
||||
CSS/StyleValues/OverflowStyleValue.cpp
|
||||
|
|
|
@ -57,7 +57,6 @@
|
|||
#include <LibWeb/CSS/StyleValues/InitialStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/IntegerStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/ListStyleStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/MathDepthStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/NumberStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/OverflowStyleValue.h>
|
||||
|
@ -4498,7 +4497,9 @@ RefPtr<StyleValue> Parser::parse_list_style_value(Vector<ComponentValue> const&
|
|||
if (!list_type)
|
||||
list_type = property_initial_value(m_context.realm(), PropertyID::ListStyleType);
|
||||
|
||||
return ListStyleStyleValue::create(list_position.release_nonnull(), list_image.release_nonnull(), list_type.release_nonnull());
|
||||
return ShorthandStyleValue::create(PropertyID::ListStyle,
|
||||
{ PropertyID::ListStylePosition, PropertyID::ListStyleImage, PropertyID::ListStyleType },
|
||||
{ list_position.release_nonnull(), list_image.release_nonnull(), list_type.release_nonnull() });
|
||||
}
|
||||
|
||||
RefPtr<StyleValue> Parser::parse_math_depth_value(Vector<ComponentValue> const& component_values)
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
#include <LibWeb/CSS/StyleValues/IdentifierStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/IntegerStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/ListStyleStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/MathDepthStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/NumberStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/OverflowStyleValue.h>
|
||||
|
@ -705,14 +704,6 @@ static void set_property_expanding_shorthands(StyleProperties& style, CSS::Prope
|
|||
}
|
||||
|
||||
if (property_id == CSS::PropertyID::ListStyle) {
|
||||
if (value.is_list_style()) {
|
||||
auto const& list_style = value.as_list_style();
|
||||
set_longhand_property(CSS::PropertyID::ListStylePosition, list_style.position());
|
||||
set_longhand_property(CSS::PropertyID::ListStyleImage, list_style.image());
|
||||
set_longhand_property(CSS::PropertyID::ListStyleType, list_style.style_type());
|
||||
return;
|
||||
}
|
||||
|
||||
set_longhand_property(CSS::PropertyID::ListStylePosition, value);
|
||||
set_longhand_property(CSS::PropertyID::ListStyleImage, value);
|
||||
set_longhand_property(CSS::PropertyID::ListStyleType, value);
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
#include <LibWeb/CSS/StyleValues/IntegerStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/LengthStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/LinearGradientStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/ListStyleStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/MathDepthStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/NumberStyleValue.h>
|
||||
#include <LibWeb/CSS/StyleValues/OverflowStyleValue.h>
|
||||
|
|
|
@ -109,7 +109,6 @@ using StyleValueVector = Vector<ValueComparingNonnullRefPtr<StyleValue const>>;
|
|||
__ENUMERATE_STYLE_VALUE_TYPE(Integer, integer) \
|
||||
__ENUMERATE_STYLE_VALUE_TYPE(Length, length) \
|
||||
__ENUMERATE_STYLE_VALUE_TYPE(LinearGradient, linear_gradient) \
|
||||
__ENUMERATE_STYLE_VALUE_TYPE(ListStyle, list_style) \
|
||||
__ENUMERATE_STYLE_VALUE_TYPE(MathDepth, math_depth) \
|
||||
__ENUMERATE_STYLE_VALUE_TYPE(Number, number) \
|
||||
__ENUMERATE_STYLE_VALUE_TYPE(Overflow, overflow) \
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
* Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
|
||||
* Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
|
||||
* Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include "ListStyleStyleValue.h"
|
||||
|
||||
namespace Web::CSS {
|
||||
|
||||
String ListStyleStyleValue::to_string() const
|
||||
{
|
||||
return MUST(String::formatted("{} {} {}", m_properties.position->to_string(), m_properties.image->to_string(), m_properties.style_type->to_string()));
|
||||
}
|
||||
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
* Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
|
||||
* Copyright (c) 2021-2023, Sam Atkins <atkinssj@serenityos.org>
|
||||
* Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibWeb/CSS/StyleValue.h>
|
||||
|
||||
namespace Web::CSS {
|
||||
|
||||
class ListStyleStyleValue final : public StyleValueWithDefaultOperators<ListStyleStyleValue> {
|
||||
public:
|
||||
static ValueComparingNonnullRefPtr<ListStyleStyleValue> create(
|
||||
ValueComparingNonnullRefPtr<StyleValue> position,
|
||||
ValueComparingNonnullRefPtr<StyleValue> image,
|
||||
ValueComparingNonnullRefPtr<StyleValue> style_type)
|
||||
{
|
||||
return adopt_ref(*new (nothrow) ListStyleStyleValue(move(position), move(image), move(style_type)));
|
||||
}
|
||||
virtual ~ListStyleStyleValue() override = default;
|
||||
|
||||
ValueComparingNonnullRefPtr<StyleValue> position() const { return m_properties.position; }
|
||||
ValueComparingNonnullRefPtr<StyleValue> image() const { return m_properties.image; }
|
||||
ValueComparingNonnullRefPtr<StyleValue> style_type() const { return m_properties.style_type; }
|
||||
|
||||
virtual String to_string() const override;
|
||||
|
||||
bool properties_equal(ListStyleStyleValue const& other) const { return m_properties == other.m_properties; }
|
||||
|
||||
private:
|
||||
ListStyleStyleValue(
|
||||
ValueComparingNonnullRefPtr<StyleValue> position,
|
||||
ValueComparingNonnullRefPtr<StyleValue> image,
|
||||
ValueComparingNonnullRefPtr<StyleValue> style_type)
|
||||
: StyleValueWithDefaultOperators(Type::ListStyle)
|
||||
, m_properties { .position = move(position), .image = move(image), .style_type = move(style_type) }
|
||||
{
|
||||
}
|
||||
|
||||
struct Properties {
|
||||
ValueComparingNonnullRefPtr<StyleValue> position;
|
||||
ValueComparingNonnullRefPtr<StyleValue> image;
|
||||
ValueComparingNonnullRefPtr<StyleValue> style_type;
|
||||
bool operator==(Properties const&) const = default;
|
||||
} m_properties;
|
||||
};
|
||||
|
||||
}
|
|
@ -145,6 +145,8 @@ String ShorthandStyleValue::to_string() const
|
|||
return MUST(String::formatted("{}", construct_rows_string()));
|
||||
return MUST(String::formatted("{} / {}", construct_rows_string(), columns.grid_track_size_list().to_string()));
|
||||
}
|
||||
case PropertyID::ListStyle:
|
||||
return MUST(String::formatted("{} {} {}", longhand(PropertyID::ListStylePosition)->to_string(), longhand(PropertyID::ListStyleImage)->to_string(), longhand(PropertyID::ListStyleType)->to_string()));
|
||||
default:
|
||||
StringBuilder builder;
|
||||
auto first = true;
|
||||
|
|
|
@ -127,7 +127,6 @@ class LengthOrCalculated;
|
|||
class LengthPercentage;
|
||||
class LengthStyleValue;
|
||||
class LinearGradientStyleValue;
|
||||
class ListStyleStyleValue;
|
||||
class MathDepthStyleValue;
|
||||
class MediaFeatureValue;
|
||||
class MediaList;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue