ladybird/Userland/Libraries/LibWeb/CSS/Parser/Declaration.h
Sam Atkins 269810b954 LibWeb: Break friendship between CSS Declaration and Parser
This means deviating slightly from the spec in order to construct a
fully-initialized Declaration instead of creating an empty one and then
poking at its internals.

DeclarationOrAtRule should probably use a Variant, but for now, making
its Declaration member optional is quick and easy.
2022-04-12 23:03:46 +02:00

33 lines
737 B
C++

/*
* Copyright (c) 2020-2021, the SerenityOS developers.
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibWeb/CSS/CSSStyleDeclaration.h>
#include <LibWeb/CSS/Parser/ComponentValue.h>
namespace Web::CSS::Parser {
class Declaration {
public:
Declaration(FlyString name, Vector<ComponentValue> values, Important);
~Declaration();
StringView name() const { return m_name; }
Vector<ComponentValue> const& values() const { return m_values; }
Important importance() const { return m_important; }
String to_string() const;
private:
FlyString m_name;
Vector<ComponentValue> m_values;
Important m_important { Important::No };
};
}