/src/serenity/Userland/Libraries/LibWeb/CSS/CSSLayerStatementRule.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (c) 2024, Sam Atkins <sam@ladybird.org> |
3 | | * |
4 | | * SPDX-License-Identifier: BSD-2-Clause |
5 | | */ |
6 | | |
7 | | #pragma once |
8 | | |
9 | | #include <LibWeb/CSS/CSSRule.h> |
10 | | |
11 | | namespace Web::CSS { |
12 | | |
13 | | // https://drafts.csswg.org/css-cascade-5/#the-csslayerstatementrule-interface |
14 | | class CSSLayerStatementRule final : public CSSRule { |
15 | | WEB_PLATFORM_OBJECT(CSSLayerStatementRule, CSSRule); |
16 | | JS_DECLARE_ALLOCATOR(CSSLayerStatementRule); |
17 | | |
18 | | public: |
19 | | [[nodiscard]] static JS::NonnullGCPtr<CSSLayerStatementRule> create(JS::Realm&, Vector<FlyString> name_list); |
20 | | |
21 | 0 | virtual ~CSSLayerStatementRule() = default; |
22 | | |
23 | 0 | virtual Type type() const override { return Type::LayerStatement; } |
24 | | |
25 | | // FIXME: Should be FrozenArray |
26 | 0 | ReadonlySpan<FlyString> name_list() const { return m_name_list; } |
27 | | Vector<FlyString> internal_qualified_name_list(Badge<StyleComputer>) const; |
28 | | |
29 | | private: |
30 | | CSSLayerStatementRule(JS::Realm&, Vector<FlyString> name_list); |
31 | | |
32 | | virtual void initialize(JS::Realm&) override; |
33 | | virtual String serialized() const override; |
34 | | |
35 | | Vector<FlyString> m_name_list; |
36 | | }; |
37 | | |
38 | | } |