1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:17:44 +00:00

LibHTML: Add virtual Node::tag_name()

This is analogous to the DOM's Node.tagName and makes it easy to ask
"hey, what kinda thing is this Node?"
This commit is contained in:
Andreas Kling 2019-09-28 22:59:16 +02:00
parent a768724270
commit fb4702dd49
4 changed files with 8 additions and 1 deletions

View file

@ -23,6 +23,8 @@ public:
void add_sheet(const StyleSheet& sheet) { m_sheets.append(sheet); }
const NonnullRefPtrVector<StyleSheet>& stylesheets() const { return m_sheets; }
virtual String tag_name() const override { return "#document"; }
private:
OwnPtr<StyleResolver> m_style_resolver;
NonnullRefPtrVector<StyleSheet> m_sheets;

View file

@ -26,7 +26,7 @@ public:
explicit Element(const String& tag_name);
virtual ~Element() override;
const String& tag_name() const { return m_tag_name; }
virtual String tag_name() const override { return m_tag_name; }
String attribute(const String& name) const;
void set_attribute(const String& name, const String& value);

View file

@ -2,6 +2,7 @@
#include <AK/Badge.h>
#include <AK/RefPtr.h>
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibHTML/TreeNode.h>
@ -30,6 +31,8 @@ public:
RefPtr<LayoutNode> create_layout_node(const StyleResolver&, const StyleProperties* parent_properties) const;
RefPtr<LayoutNode> create_layout_tree(const StyleResolver&, const StyleProperties* parent_properties) const;
virtual String tag_name() const = 0;
protected:
explicit Node(NodeType);

View file

@ -10,6 +10,8 @@ public:
const String& data() const { return m_data; }
virtual String tag_name() const override { return "#text"; }
private:
String m_data;
};