Coverage Report

Created: 2025-11-02 07:25

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibWeb/CSS/CSSNestedDeclarations.h
Line
Count
Source
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
class CSSNestedDeclarations final : public CSSRule {
14
    WEB_PLATFORM_OBJECT(CSSNestedDeclarations, CSSRule);
15
    JS_DECLARE_ALLOCATOR(CSSNestedDeclarations);
16
17
public:
18
    [[nodiscard]] static JS::NonnullGCPtr<CSSNestedDeclarations> create(JS::Realm&, PropertyOwningCSSStyleDeclaration&);
19
20
    virtual ~CSSNestedDeclarations() override = default;
21
22
0
    virtual Type type() const override { return Type::NestedDeclarations; }
23
0
    PropertyOwningCSSStyleDeclaration const& declaration() const { return m_declaration; }
24
25
    CSSStyleDeclaration* style();
26
27
private:
28
    CSSNestedDeclarations(JS::Realm&, PropertyOwningCSSStyleDeclaration&);
29
30
    virtual void initialize(JS::Realm&) override;
31
    virtual void visit_edges(Cell::Visitor&) override;
32
    virtual String serialized() const override;
33
34
    JS::NonnullGCPtr<PropertyOwningCSSStyleDeclaration> m_declaration;
35
};
36
37
template<>
38
0
inline bool CSSRule::fast_is<CSSNestedDeclarations>() const { return type() == CSSRule::Type::NestedDeclarations; }
39
40
}