#pragma once #include <AK/NonnullRefPtrVector.h> #include <LibHTML/CSS/Selector.h> #include <LibHTML/CSS/StyleDeclaration.h> class StyleRule : public RefCounted<StyleRule> { public: static NonnullRefPtr<StyleRule> create(Vector<Selector>&& selectors, NonnullRefPtr<StyleDeclaration>&& declaration) { return adopt(*new StyleRule(move(selectors), move(declaration))); } ~StyleRule(); const Vector<Selector>& selectors() const { return m_selectors; } const StyleDeclaration& declaration() const { return m_declaration; } private: StyleRule(Vector<Selector>&&, NonnullRefPtr<StyleDeclaration>&&); Vector<Selector> m_selectors; NonnullRefPtr<StyleDeclaration> m_declaration; };