1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 20:25:07 +00:00
serenity/Libraries/LibHTML/DOM/Text.h
Andreas Kling b083a233d8 LibHTML: Add Comment and CharacterData nodes and improve HTML parsing
This patch adds the CharacterData subclass of Node, which is now the
parent class of Text and a new Comment class.

A Comment node is one of these in HTML: <!--hello friends-->
Since these occur somewhat frequently on the web, we need to be able
to parse them.

This patch also adds a child rejection mechanism to the DOM tree.
Nodes can now override is_child_allowed(Node) and return false if they
don't want a particular Node to become a child of theirs. This is used
to prevent Document from taking on unwanted children.
2019-10-12 23:34:05 +02:00

21 lines
488 B
C++

#pragma once
#include <AK/String.h>
#include <LibHTML/DOM/CharacterData.h>
class Text final : public CharacterData {
public:
explicit Text(Document&, const String&);
virtual ~Text() override;
virtual String tag_name() const override { return "#text"; }
private:
virtual RefPtr<LayoutNode> create_layout_node(const StyleResolver&, const StyleProperties* parent_style) const override;
};
template<>
inline bool is<Text>(const Node& node)
{
return node.is_text();
}