mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-20 03:25:13 +00:00
LibHTML: Move layout tree building to a separate function.
This commit is contained in:
parent
9526b0e13a
commit
0ccad4208f
Notes:
sideshowbarker
2024-07-19 13:23:02 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/0ccad4208fe
2 changed files with 12 additions and 7 deletions
|
@ -52,13 +52,8 @@ RefPtr<StyledNode> Frame::generate_style_tree()
|
|||
return styled_root;
|
||||
}
|
||||
|
||||
void Frame::layout()
|
||||
RefPtr<LayoutNode> Frame::generate_layout_tree(const StyledNode& styled_root)
|
||||
{
|
||||
if (!m_document)
|
||||
return;
|
||||
|
||||
auto styled_root = generate_style_tree();
|
||||
|
||||
auto create_layout_node = [](const StyledNode& styled_node) -> RefPtr<LayoutNode> {
|
||||
if (styled_node.node() && styled_node.node()->is_document())
|
||||
return adopt(*new LayoutDocument(static_cast<const Document&>(*styled_node.node()), styled_node));
|
||||
|
@ -88,7 +83,16 @@ void Frame::layout()
|
|||
return layout_node;
|
||||
};
|
||||
|
||||
auto layout_root = resolve_layout(*styled_root, nullptr);
|
||||
return resolve_layout(styled_root, nullptr);
|
||||
}
|
||||
|
||||
void Frame::layout()
|
||||
{
|
||||
if (!m_document)
|
||||
return;
|
||||
|
||||
auto styled_root = generate_style_tree();
|
||||
auto layout_root = generate_layout_tree(*styled_root);
|
||||
|
||||
layout_root->style().size().set_width(m_size.width());
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ public:
|
|||
|
||||
private:
|
||||
RefPtr<StyledNode> generate_style_tree();
|
||||
RefPtr<LayoutNode> generate_layout_tree(const StyledNode&);
|
||||
|
||||
RefPtr<Document> m_document;
|
||||
Size m_size;
|
||||
|
|
Loading…
Add table
Reference in a new issue