Serenity Operating System
1/*
2 * Copyright (c) 2022, the SerenityOS developers.
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#pragma once
8
9#include <LibWeb/HTML/HTMLProgressElement.h>
10#include <LibWeb/Layout/LabelableNode.h>
11
12namespace Web::Layout {
13
14class Progress final : public LabelableNode {
15 JS_CELL(Progress, LabelableNode);
16
17public:
18 Progress(DOM::Document&, HTML::HTMLProgressElement&, NonnullRefPtr<CSS::StyleProperties>);
19 virtual ~Progress() override;
20
21 const HTML::HTMLProgressElement& dom_node() const { return static_cast<const HTML::HTMLProgressElement&>(LabelableNode::dom_node()); }
22 HTML::HTMLProgressElement& dom_node() { return static_cast<HTML::HTMLProgressElement&>(LabelableNode::dom_node()); }
23
24 virtual JS::GCPtr<Painting::Paintable> create_paintable() const override;
25};
26
27}