LibHTML: Make Node::create_layout_node() virtual

Instead of branching on the Node type, let subclasses decide how their
layout nodes get constructed.

This will allow elements to create custom layout nodes if they want.
This commit is contained in:
Andreas Kling 2019-10-05 22:27:52 +02:00
commit f150134de9
Notes: sideshowbarker 2024-07-19 11:48:31 +09:00
8 changed files with 36 additions and 27 deletions

View file

@ -31,7 +31,7 @@ public:
bool is_document() const { return type() == NodeType::DOCUMENT_NODE; }
bool is_parent_node() const { return is_element() || is_document(); }
RefPtr<LayoutNode> create_layout_node(const StyleResolver&, const StyleProperties* parent_properties) const;
virtual RefPtr<LayoutNode> create_layout_node(const StyleResolver&, const StyleProperties* parent_properties) const = 0;
RefPtr<LayoutNode> create_layout_tree(const StyleResolver&, const StyleProperties* parent_properties) const;
virtual String tag_name() const = 0;