mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-04-19 02:10:26 +00:00
There was only one place that we weren't passing this where we could have ASFs so let's just handle that there and explicitly mark the others as having no ASFs to avoid unnecessary work. No functional changes
47 lines
2 KiB
C++
47 lines
2 KiB
C++
/*
|
|
* Copyright (c) 2018-2020, Andreas Kling <andreas@ladybird.org>
|
|
* Copyright (c) 2021, Tobias Christiansen <tobyase@serenityos.org>
|
|
* Copyright (c) 2021-2025, Sam Atkins <sam@ladybird.org>
|
|
* Copyright (c) 2022-2023, MacDue <macdue@dueutil.tech>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Vector.h>
|
|
#include <LibWeb/CSS/Parser/ComponentValue.h>
|
|
#include <LibWeb/CSS/StyleValues/StyleValue.h>
|
|
|
|
namespace Web::CSS {
|
|
|
|
class UnresolvedStyleValue final : public StyleValue {
|
|
public:
|
|
static ValueComparingNonnullRefPtr<UnresolvedStyleValue const> create(Vector<Parser::ComponentValue>&& values, Parser::SubstitutionFunctionsPresence, Optional<String> original_source_text = {});
|
|
virtual ~UnresolvedStyleValue() override = default;
|
|
|
|
virtual void serialize(StringBuilder&, SerializationMode) const override;
|
|
virtual Vector<Parser::ComponentValue> tokenize() const override { return m_values; }
|
|
|
|
Vector<Parser::ComponentValue> const& values() const { return m_values; }
|
|
bool contains_arbitrary_substitution_function() const { return m_substitution_functions_presence.has_any(); }
|
|
bool includes_attr_function() const { return m_substitution_functions_presence.attr; }
|
|
bool includes_inherit_function() const { return m_substitution_functions_presence.inherit; }
|
|
bool includes_if_function() const { return m_substitution_functions_presence.if_; }
|
|
bool includes_var_function() const { return m_substitution_functions_presence.var; }
|
|
|
|
virtual bool equals(StyleValue const& other) const override;
|
|
|
|
virtual GC::Ref<CSSStyleValue> reify(JS::Realm&, FlyString const& associated_property) const override;
|
|
|
|
virtual bool is_computationally_independent() const override { VERIFY_NOT_REACHED(); }
|
|
|
|
private:
|
|
UnresolvedStyleValue(Vector<Parser::ComponentValue>&& values, Parser::SubstitutionFunctionsPresence, Optional<String> original_source_text);
|
|
|
|
Vector<Parser::ComponentValue> m_values;
|
|
Parser::SubstitutionFunctionsPresence m_substitution_functions_presence {};
|
|
Optional<String> m_original_source_text;
|
|
};
|
|
|
|
}
|