mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-15 20:49:41 +00:00
This doesn't need all of Selector.h and its various includes, it just needs the PseudoElement enum. StringStyleValue.h was transitively including ComponentValue.h through this, so it now includes it directly.
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
/*
|
|
* Copyright (c) 2022-2024, Sam Atkins <atkinssj@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/FlyString.h>
|
|
#include <LibWeb/CSS/Parser/ComponentValue.h>
|
|
#include <LibWeb/CSS/Serialize.h>
|
|
#include <LibWeb/CSS/StyleValues/StyleValue.h>
|
|
|
|
namespace Web::CSS {
|
|
|
|
class StringStyleValue : public StyleValueWithDefaultOperators<StringStyleValue> {
|
|
public:
|
|
static ValueComparingNonnullRefPtr<StringStyleValue const> create(FlyString const& string)
|
|
{
|
|
return adopt_ref(*new (nothrow) StringStyleValue(string));
|
|
}
|
|
virtual ~StringStyleValue() override = default;
|
|
|
|
FlyString const& string_value() const { return m_string; }
|
|
virtual String to_string(SerializationMode) const override { return serialize_a_string(m_string); }
|
|
virtual Vector<Parser::ComponentValue> tokenize() const override
|
|
{
|
|
return { Parser::Token::create_string(m_string) };
|
|
}
|
|
|
|
bool properties_equal(StringStyleValue const& other) const { return m_string == other.m_string; }
|
|
|
|
private:
|
|
explicit StringStyleValue(FlyString const& string)
|
|
: StyleValueWithDefaultOperators(Type::String)
|
|
, m_string(string)
|
|
{
|
|
}
|
|
|
|
FlyString m_string;
|
|
};
|
|
|
|
}
|