Coverage Report

Created: 2025-09-05 06:52

/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
}