Serenity Operating System
at master 32 lines 875 B view raw
1/* 2 * Copyright (c) 2020, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <LibWeb/HTML/HTMLIFrameElement.h> 10#include <LibWeb/Layout/ReplacedBox.h> 11 12namespace Web::Layout { 13 14class FrameBox final : public ReplacedBox { 15 JS_CELL(FrameBox, ReplacedBox); 16 17public: 18 FrameBox(DOM::Document&, DOM::Element&, NonnullRefPtr<CSS::StyleProperties>); 19 virtual ~FrameBox() override; 20 21 virtual void prepare_for_replaced_layout() override; 22 23 const HTML::HTMLIFrameElement& dom_node() const { return verify_cast<HTML::HTMLIFrameElement>(ReplacedBox::dom_node()); } 24 HTML::HTMLIFrameElement& dom_node() { return verify_cast<HTML::HTMLIFrameElement>(ReplacedBox::dom_node()); } 25 26 virtual JS::GCPtr<Painting::Paintable> create_paintable() const override; 27 28private: 29 virtual void did_set_rect() override; 30}; 31 32}