1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 07:37:35 +00:00

LibHTML: Add a Frame class and use it for document layout width

Each HtmlView now has a main_frame(), which represents the main frame
of the web page. Frame inherits from TreeNode<Frame>, which will allow
us to someday implement a Frame tree (to support the <frame> element.)
This commit is contained in:
Andreas Kling 2019-10-04 15:50:04 +02:00
parent b1758ae2b3
commit 7bc9310170
9 changed files with 101 additions and 8 deletions

View file

@ -16,9 +16,6 @@ public:
const LengthBox& padding() const { return m_padding; }
const LengthBox& border() const { return m_border; }
const Size& size() const { return m_size; }
Size& size() { return m_size; }
struct PixelBox {
int top;
int right;
@ -32,6 +29,4 @@ private:
LengthBox m_margin;
LengthBox m_padding;
LengthBox m_border;
Size m_size;
};

View file

@ -1,3 +1,4 @@
#include <LibHTML/Frame.h>
#include <LibHTML/Layout/LayoutDocument.h>
LayoutDocument::LayoutDocument(const Document& document, NonnullRefPtr<StyleProperties> style_properties)
@ -11,7 +12,8 @@ LayoutDocument::~LayoutDocument()
void LayoutDocument::layout()
{
rect().set_width(style().size().width());
ASSERT(document().frame());
rect().set_width(document().frame()->size().width());
LayoutNode::layout();