From 9d88e14f2078a2dd92e2c45e1a58e399f0940215 Mon Sep 17 00:00:00 2001 From: Shannon Booth Date: Fri, 15 Sep 2023 21:42:32 +1200 Subject: [PATCH] LibWeb: Add String variants of get_element_by_{} in ParentNode These are required for porting over Document from DeprecatedString to String. We unfortunately can't port this completely over yet as ParentNode is included by the Element IDL interface, which has not yet been ported over from DeprecatedString. --- Userland/Libraries/LibWeb/DOM/ParentNode.cpp | 13 +++++++++++++ Userland/Libraries/LibWeb/DOM/ParentNode.h | 3 +++ 2 files changed, 16 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/ParentNode.cpp b/Userland/Libraries/LibWeb/DOM/ParentNode.cpp index b99e73f8edf..aedc2fe2194 100644 --- a/Userland/Libraries/LibWeb/DOM/ParentNode.cpp +++ b/Userland/Libraries/LibWeb/DOM/ParentNode.cpp @@ -120,6 +120,19 @@ JS::NonnullGCPtr ParentNode::children() return *m_children; } +JS::NonnullGCPtr ParentNode::get_elements_by_tag_name(FlyString const& qualified_name) +{ + return get_elements_by_tag_name(qualified_name.to_deprecated_fly_string()); +} + +JS::NonnullGCPtr ParentNode::get_elements_by_tag_name_ns(Optional const& nullable_namespace, FlyString const& local_name) +{ + DeprecatedFlyString deprecated_nullable_namespace; + if (nullable_namespace.has_value()) + deprecated_nullable_namespace = nullable_namespace->to_deprecated_string(); + return get_elements_by_tag_name_ns(deprecated_nullable_namespace, local_name.to_deprecated_fly_string()); +} + // https://dom.spec.whatwg.org/#concept-getelementsbytagname // NOTE: This method is only exposed on Document and Element, but is in ParentNode to prevent code duplication. JS::NonnullGCPtr ParentNode::get_elements_by_tag_name(DeprecatedFlyString const& qualified_name) diff --git a/Userland/Libraries/LibWeb/DOM/ParentNode.h b/Userland/Libraries/LibWeb/DOM/ParentNode.h index 98a7f75bf3d..d82f96b9647 100644 --- a/Userland/Libraries/LibWeb/DOM/ParentNode.h +++ b/Userland/Libraries/LibWeb/DOM/ParentNode.h @@ -28,6 +28,9 @@ public: JS::NonnullGCPtr children(); + JS::NonnullGCPtr get_elements_by_tag_name(FlyString const&); + JS::NonnullGCPtr get_elements_by_tag_name_ns(Optional const&, FlyString const&); + JS::NonnullGCPtr get_elements_by_tag_name(DeprecatedFlyString const&); JS::NonnullGCPtr get_elements_by_tag_name_ns(DeprecatedFlyString const&, DeprecatedFlyString const&);