diff options
author | Andreas Kling <kling@serenityos.org> | 2022-03-13 17:21:27 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-03-13 18:09:43 +0100 |
commit | afc5fade054a4d0e62a81e8678f3fc593133b728 (patch) | |
tree | b33466430b7a55031fcd40990b63fef61eb9df19 /Userland/Libraries/LibWeb/DOM | |
parent | 74fda2a7618b00920371ca5e4689c3c3907495d2 (diff) | |
download | serenity-afc5fade054a4d0e62a81e8678f3fc593133b728.zip |
LibWeb: Add some fast_is<T> helpers for hot classes on GitHub :^)
Diffstat (limited to 'Userland/Libraries/LibWeb/DOM')
-rw-r--r-- | Userland/Libraries/LibWeb/DOM/Node.h | 1 | ||||
-rw-r--r-- | Userland/Libraries/LibWeb/DOM/ShadowRoot.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Userland/Libraries/LibWeb/DOM/Node.h b/Userland/Libraries/LibWeb/DOM/Node.h index 02d59dc6fb..4af2f3f720 100644 --- a/Userland/Libraries/LibWeb/DOM/Node.h +++ b/Userland/Libraries/LibWeb/DOM/Node.h @@ -72,6 +72,7 @@ public: bool is_parent_node() const { return is_element() || is_document() || is_document_fragment(); } bool is_slottable() const { return is_element() || is_text(); } bool is_attribute() const { return type() == NodeType::ATTRIBUTE_NODE; } + virtual bool is_shadow_root() const { return false; } virtual bool requires_svg_container() const { return false; } virtual bool is_svg_container() const { return false; } diff --git a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h index 7ea5ca32ff..f550c0e5cb 100644 --- a/Userland/Libraries/LibWeb/DOM/ShadowRoot.h +++ b/Userland/Libraries/LibWeb/DOM/ShadowRoot.h @@ -34,6 +34,7 @@ public: private: // ^Node virtual FlyString node_name() const override { return "#shadow-root"; } + virtual bool is_shadow_root() const final { return true; } // NOTE: The specification doesn't seem to specify a default value for closed. Assuming false for now. bool m_closed { false }; @@ -41,4 +42,7 @@ private: bool m_available_to_element_internals { false }; }; +template<> +inline bool Node::fast_is<ShadowRoot>() const { return is_shadow_root(); } + } |