mirror of
https://github.com/SerenityOS/serenity
synced 2024-09-16 06:30:41 +00:00
LibWeb: Add fast_is<HTMLElement>()
This avoids slow RTTI lookups in selector matching.
This commit is contained in:
parent
9f32da1dbc
commit
2ad98fdf80
|
@ -87,6 +87,7 @@ public:
|
||||||
|
|
||||||
virtual bool is_editable() const;
|
virtual bool is_editable() const;
|
||||||
|
|
||||||
|
virtual bool is_html_element() const { return false; }
|
||||||
virtual bool is_html_html_element() const { return false; }
|
virtual bool is_html_html_element() const { return false; }
|
||||||
virtual bool is_html_anchor_element() const { return false; }
|
virtual bool is_html_anchor_element() const { return false; }
|
||||||
virtual bool is_html_base_element() const { return false; }
|
virtual bool is_html_base_element() const { return false; }
|
||||||
|
|
|
@ -53,6 +53,8 @@ protected:
|
||||||
virtual void parse_attribute(FlyString const& name, String const& value) override;
|
virtual void parse_attribute(FlyString const& name, String const& value) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual bool is_html_element() const final { return true; }
|
||||||
|
|
||||||
// ^HTML::GlobalEventHandlers
|
// ^HTML::GlobalEventHandlers
|
||||||
virtual DOM::EventTarget& global_event_handlers_to_event_target(FlyString const&) override { return *this; }
|
virtual DOM::EventTarget& global_event_handlers_to_event_target(FlyString const&) override { return *this; }
|
||||||
|
|
||||||
|
@ -73,3 +75,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace Web::DOM {
|
||||||
|
template<>
|
||||||
|
inline bool Node::fast_is<HTML::HTMLElement>() const { return is_html_element(); }
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue