mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-08 18:46:03 +00:00
LibWeb: Pass a FlyString to getElementsByTagNameNS
This commit is contained in:
parent
a9269afa05
commit
dadc610e4a
Notes:
sideshowbarker
2024-07-16 20:44:03 +09:00
Author: https://github.com/shannonbooth
Commit: dadc610e4a
Pull-request: https://github.com/SerenityOS/serenity/pull/24291
4 changed files with 8 additions and 10 deletions
|
@ -71,8 +71,8 @@ interface Document : Node {
|
|||
|
||||
Element? getElementById(DOMString id);
|
||||
HTMLCollection getElementsByName([FlyString] DOMString name);
|
||||
HTMLCollection getElementsByTagName(DOMString tagName);
|
||||
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
|
||||
HTMLCollection getElementsByTagName([FlyString] DOMString tagName);
|
||||
HTMLCollection getElementsByTagNameNS([FlyString] DOMString? namespace, [FlyString] DOMString localName);
|
||||
HTMLCollection getElementsByClassName(DOMString className);
|
||||
|
||||
[SameObject] readonly attribute HTMLCollection applets;
|
||||
|
|
|
@ -60,8 +60,8 @@ interface Element : Node {
|
|||
Element? closest(DOMString selectors);
|
||||
[ImplementedAs=matches] boolean webkitMatchesSelector(DOMString selectors); // legacy alias of .matches
|
||||
|
||||
HTMLCollection getElementsByTagName(DOMString tagName);
|
||||
HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName);
|
||||
HTMLCollection getElementsByTagName([FlyString] DOMString tagName);
|
||||
HTMLCollection getElementsByTagNameNS([FlyString] DOMString? namespace, [FlyString] DOMString localName);
|
||||
HTMLCollection getElementsByClassName(DOMString className);
|
||||
|
||||
[CEReactions] Element? insertAdjacentElement(DOMString where, Element element); // legacy
|
||||
|
|
|
@ -156,12 +156,11 @@ JS::NonnullGCPtr<HTMLCollection> ParentNode::get_elements_by_tag_name(FlyString
|
|||
|
||||
// https://dom.spec.whatwg.org/#concept-getelementsbytagnamens
|
||||
// NOTE: This method is only exposed on Document and Element, but is in ParentNode to prevent code duplication.
|
||||
JS::NonnullGCPtr<HTMLCollection> ParentNode::get_elements_by_tag_name_ns(Optional<String> const& nullable_namespace, FlyString const& local_name)
|
||||
JS::NonnullGCPtr<HTMLCollection> ParentNode::get_elements_by_tag_name_ns(Optional<FlyString> namespace_, FlyString const& local_name)
|
||||
{
|
||||
// 1. If namespace is the empty string, set it to null.
|
||||
Optional<FlyString> namespace_;
|
||||
if (nullable_namespace.has_value() && !nullable_namespace->is_empty())
|
||||
namespace_ = nullable_namespace.value();
|
||||
if (namespace_ == FlyString {})
|
||||
namespace_ = OptionalNone {};
|
||||
|
||||
// 2. If both namespace and localName are "*" (U+002A), return a HTMLCollection rooted at root, whose filter matches descendant elements.
|
||||
if (namespace_ == "*" && local_name == "*") {
|
||||
|
|
|
@ -30,8 +30,7 @@ public:
|
|||
JS::NonnullGCPtr<HTMLCollection> children();
|
||||
|
||||
JS::NonnullGCPtr<HTMLCollection> get_elements_by_tag_name(FlyString const&);
|
||||
// FIXME: This should take an Optional<FlyString>
|
||||
JS::NonnullGCPtr<HTMLCollection> get_elements_by_tag_name_ns(Optional<String> const&, FlyString const&);
|
||||
JS::NonnullGCPtr<HTMLCollection> get_elements_by_tag_name_ns(Optional<FlyString>, FlyString const&);
|
||||
|
||||
WebIDL::ExceptionOr<void> prepend(Vector<Variant<JS::Handle<Node>, String>> const& nodes);
|
||||
WebIDL::ExceptionOr<void> append(Vector<Variant<JS::Handle<Node>, String>> const& nodes);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue