mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 01:27:34 +00:00
LibWeb: Make Element::tag_name() return a const FlyString&
The more generic virtual variant is renamed to node_name() and now only Element has tag_name(). This removes a huge amount of String ctor/dtor churn in selector matching.
This commit is contained in:
parent
ea1ebe8662
commit
6242e029ed
12 changed files with 13 additions and 12 deletions
|
@ -36,7 +36,7 @@ public:
|
|||
explicit Comment(Document&, const String&);
|
||||
virtual ~Comment() override;
|
||||
|
||||
virtual FlyString tag_name() const override { return "#comment"; }
|
||||
virtual FlyString node_name() const override { return "#comment"; }
|
||||
};
|
||||
|
||||
template<>
|
||||
|
|
|
@ -69,7 +69,7 @@ public:
|
|||
CSS::StyleSheetList& style_sheets() { return *m_style_sheets; }
|
||||
const CSS::StyleSheetList& style_sheets() const { return *m_style_sheets; }
|
||||
|
||||
virtual FlyString tag_name() const override { return "#document"; }
|
||||
virtual FlyString node_name() const override { return "#document"; }
|
||||
|
||||
void set_hovered_node(Node*);
|
||||
Node* hovered_node() { return m_hovered_node; }
|
||||
|
|
|
@ -41,7 +41,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
virtual FlyString tag_name() const override { return "#document-fragment"; }
|
||||
virtual FlyString node_name() const override { return "#document-fragment"; }
|
||||
};
|
||||
|
||||
template<>
|
||||
|
|
|
@ -36,7 +36,7 @@ public:
|
|||
explicit DocumentType(Document&);
|
||||
virtual ~DocumentType() override;
|
||||
|
||||
virtual FlyString tag_name() const override { return "#doctype"; }
|
||||
virtual FlyString node_name() const override { return "#doctype"; }
|
||||
|
||||
const String& name() const { return m_name; }
|
||||
void set_name(const String& name) { m_name = name; }
|
||||
|
|
|
@ -45,7 +45,8 @@ public:
|
|||
Element(Document&, const FlyString& tag_name);
|
||||
virtual ~Element() override;
|
||||
|
||||
virtual FlyString tag_name() const final { return m_tag_name; }
|
||||
virtual FlyString node_name() const final { return m_tag_name; }
|
||||
const FlyString& tag_name() const { return m_tag_name; }
|
||||
|
||||
bool has_attribute(const FlyString& name) const { return !attribute(name).is_null(); }
|
||||
String attribute(const FlyString& name) const;
|
||||
|
|
|
@ -84,7 +84,7 @@ public:
|
|||
|
||||
virtual RefPtr<LayoutNode> create_layout_node(const StyleProperties* parent_style) const;
|
||||
|
||||
virtual FlyString tag_name() const = 0;
|
||||
virtual FlyString node_name() const = 0;
|
||||
|
||||
virtual String text_content() const;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ public:
|
|||
explicit Text(Document&, const String&);
|
||||
virtual ~Text() override;
|
||||
|
||||
virtual FlyString tag_name() const override { return "#text"; }
|
||||
virtual FlyString node_name() const override { return "#text"; }
|
||||
|
||||
private:
|
||||
virtual RefPtr<LayoutNode> create_layout_node(const StyleProperties* parent_style) const override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue