2019-06-20 23:25:25 +02:00
|
|
|
#pragma once
|
|
|
|
|
2019-06-27 12:16:20 +02:00
|
|
|
#include <AK/NonnullRefPtrVector.h>
|
2019-06-20 23:25:25 +02:00
|
|
|
#include <LibHTML/CSS/Selector.h>
|
|
|
|
#include <LibHTML/CSS/StyleDeclaration.h>
|
|
|
|
|
2019-06-21 19:19:49 +02:00
|
|
|
class StyleRule : public RefCounted<StyleRule> {
|
2019-06-20 23:25:25 +02:00
|
|
|
public:
|
2019-09-30 20:06:17 +02:00
|
|
|
static NonnullRefPtr<StyleRule> create(Vector<Selector>&& selectors, NonnullRefPtr<StyleDeclaration>&& declaration)
|
2019-06-21 19:19:49 +02:00
|
|
|
{
|
2019-09-30 20:06:17 +02:00
|
|
|
return adopt(*new StyleRule(move(selectors), move(declaration)));
|
2019-06-21 19:19:49 +02:00
|
|
|
}
|
|
|
|
|
2019-06-20 23:25:25 +02:00
|
|
|
~StyleRule();
|
|
|
|
|
2019-06-25 06:31:47 +02:00
|
|
|
const Vector<Selector>& selectors() const { return m_selectors; }
|
2019-09-30 20:06:17 +02:00
|
|
|
const StyleDeclaration& declaration() const { return m_declaration; }
|
2019-06-25 06:31:47 +02:00
|
|
|
|
2019-06-20 23:25:25 +02:00
|
|
|
private:
|
2019-09-30 20:06:17 +02:00
|
|
|
StyleRule(Vector<Selector>&&, NonnullRefPtr<StyleDeclaration>&&);
|
2019-06-21 19:19:49 +02:00
|
|
|
|
2019-06-20 23:25:25 +02:00
|
|
|
Vector<Selector> m_selectors;
|
2019-09-30 20:06:17 +02:00
|
|
|
NonnullRefPtr<StyleDeclaration> m_declaration;
|
2019-06-20 23:25:25 +02:00
|
|
|
};
|